"ワーク及び当該ワークに対して作業を行うロボットを含む3次元データを格納していて、前記3次元データを用いることでロボットに対する教示データを作成すると共に、前記ロボットとワークとの距離に応じた仮想的な反力を算出する教示データ作成装置と、前記教示データ作成装置に接続され、且つ前記3次元データ内でのロボットの制御点の移動及び回転を入力可能であると共に、教示データ作成装置で算出された仮想的な反力を出力可能な入出力デバイスと、を有するオフライン教示データ作成システムを用い、前記教示データ作成装置において、前記ロボットとワークとの距離に反比例する仮想的な反力の合力を算出する反力算出ステップと、前記反力算出ステップで算出された仮想的な反力の合力の大きさ及び方向を、前記入出力デバイスに出力する反力出力ステップと、を実行しつつ、ロボットの教示データを作成するオフライン教示データ作成方法。前記反力算出ステップは、前記ロボットとワークとの距離に反比例する仮想的な反力の合力に加えて、前記ロボットと当該ロボットが干渉する可能性のあるワーク以外の物体との距離に反比例する仮想的な反力の合力を算出するものであることを特徴とする請求項1に記載のオフライン教示データ作成方法。前記反力算出ステップは、前記距離の二乗に反比例する仮想的な反力の合力を計算することを特徴とする請求項1又は2に記載のオフライン教示データ作成方法。ワーク及び当該ワークに対して作業を行うロボットを含む3次元データを格納していて、前記3次元データを用いることでロボットに対する教示データを作成すると共に、前記ロボットとワークとの距離に応じた仮想的な反力を算出する教示データ作成装置と、前記教示データ作成装置に接続され、且つ前記3次元データ内でのロボットの制御点の移動及び回転を入力可能であると共に、教示データ作成装置で算出された仮想的な反力を出力可能な入出力デバイスと、を有するオフライン教示データ作成システムを用い、前記教示データ作成装置において、前記ロボットとワークとの距離が干渉の危険が生じる危険距離以下になった際に、当該干渉状況を回避する方向の仮想的な反力の合力を算出する反力算出ステップと、前記反力算出ステップで算出された仮想的な反力の合力の大きさ及び方向を、前記入出力デバイスに出力する反力出力ステップと、を実行しつつ、ロボットの教示データを作成するオフライン教示データ作成方法。前記反力算出ステップは、前記干渉状況を回避する方向の仮想的な反力の合力に加えて、前記ロボットと当該ロボットが干渉する可能性のあるワーク以外の物体との距離が干渉の危険が生じる危険距離以下になった際に、当該干渉状況を回避する方向の仮想的な反力を算出するものであることを特徴とする請求項4に記載のオフライン教示データ作成方法。前記反力算出ステップは、前記危険距離を段階的に複数設け、当該複数の危険距離の段階に応じた仮想的な反力を算出することを特徴とする請求項4又は5に記載のオフライン教示データ作成方法。前記3次元データにおいて、ロボットの制御点を点、線、及び面の少なくとも1つで拘束した上で、前記ロボットの制御点を拘束されていない方向で移動及び回転させることによって前記ロボットの位置及び姿勢を教示するに際して、前記反力算出ステップは、前記拘束されていない方向の仮想的な反力の合力を算出することを特徴とする請求項1~6のいずれかに記載のオフライン教示データ作成方法。ワーク及び当該ワークに対して作業を行うロボットを含む3次元データを格納すると共に、前記3次元データを用いることでロボットに対する教示データを作成し、且つ請求項1~7のいずれかに記載されたオフライン教示データ作成方法における各ステップを実行する教示データ作成装置と、前記教示データ作成装置に接続され、且つ前記3次元データ内でのロボットの制御点の移動及び回転を入力可能であると共に、教示データ作成装置で算出された仮想的な反力を出力可能な入出力デバイスと、を有するオフライン教示データ作成システム。ところで、オフライン教示データの作成においては、ロボットのアームやその先端に取り付けられたツールを、ワークや周囲環境との接触を回避しつつ接触作業の領域にまで進入させると共に、当該接触を回避しつつ接触作業の領域から退避させる軌跡を教示する必要がある。そのため、特許文献2に開示されたオフライン教示では、アームやツールのモデルとワークや周囲環境のモデルとの間で干渉衝突が起きたか否かを調べる干渉チェック機能が設けられている。しかし、この干渉チェック機能は、アームやツールのモデルが、実際にワークや周囲環境のモデルに干渉したか否かの事実をチェックするものである。それ故、操作者は、アームやツールのモデルがワークや周囲環境のモデルに干渉した時点で初めて、干渉の発生箇所等を知ることができる。従って、特許文献2に開示の技術では、干渉の危険性を事前に把握して、積極的に干渉を回避するための構成とはなっておらず、教示作業中の操作者にとって、アームやツールのモデルとワークや周囲環境のモデルとの間隔の把握は非常に困難なものとなっている。なお、特許文献3や特許文献4に開示された操作性の向上に着目した入力デバイスを用いたとしても、干渉を事前に回避しつつ教示データを作成するような作業性の向上には寄与できないものと思われる。また、特許文献には挙げていないが、このような操作者の負担を軽減すべく、干渉を回避するような軌跡を自動的に計算する手法もある。しかし、長い計算時間が必要となるだけでなく、進入退避後の動作を考慮した合理的な軌跡を得ることができないなど、課題も多い。上述の問題に鑑みて、本発明は、オフライン教示作業において、干渉が起こる可能性のある危険な状況を感覚的に把握できて、且つその危険な状況を容易に回避できるよう、操作者に情報を提供し、オフライン教示作業の効率を向上させることを目的とする。上記の目的を達成するため、本発明は、以下の技術的手段を採用した。本発明に係るオフライン教示データ作成方法は、ワーク及び当該ワークに対して作業を行うロボットを含む3次元データを格納していて、前記3次元データを用いることでロボットに対する教示データを作成すると共に、前記ロボットとワークとの距離に応じた仮想的な反力を算出する教示データ作成装置と、前記教示データ作成装置に接続され、且つ前記3次元データ内でのロボットの制御点の移動及び回転を入力可能であると共に、教示データ作成装置で算出された仮想的な反力を出力可能な入出力デバイスと、を有するオフライン教示データ作成システムを用い、前記教示データ作成装置において、前記ロボットとワークとの距離に反比例する仮想的な反力の合力を算出する反力算出ステップと、前記反力算出ステップで算出された仮想的な反力の合力の大きさ及び方向を、前記入出力デバイスに出力する反力出力ステップと、を実行しつつ、ロボットの教示データを作成することを特徴とする。好ましくは、前記反力算出ステップは、前記ロボットとワークとの距離に反比例する仮想的な反力の合力に加えて、前記ロボットと当該ロボットが干渉する可能性のあるワーク以外の物体との距離に反比例する仮想的な反力の合力を算出するとよい。また、好ましくは、前記反力算出ステップは、前記距離の二乗に反比例する仮想的な反力の合力を計算するとよい。本発明に係るもう一つのオフライン教示データ作成方法は、ワーク及び当該ワークに対して作業を行うロボットを含む3次元データを格納していて、前記3次元データを用いることでロボットに対する教示データを作成すると共に、前記ロボットとワークとの距離に応じた仮想的な反力を算出する教示データ作成装置と、前記教示データ作成装置に接続され、且つ前記3次元データ内でのロボットの制御点の移動及び回転を入力可能であると共に、教示データ作成装置で算出された仮想的な反力を出力可能な入出力デバイスと、を有するオフライン教示データ作成システムを用い、前記教示データ作成装置において、前記ロボットとワークとの距離が干渉の危険が生じる危険距離以下になった際に、当該干渉状況を回避する方向の仮想的な反力の合力を算出する反力算出ステップと、前記反力算出ステップで算出された仮想的な反力の合力の大きさ及び方向を、前記入出力デバイスに出力する反力出力ステップと、を実行しつつ、ロボットの教示データを作成することを特徴とする。好ましくは、前記反力算出ステップは、前記干渉状況を回避する方向の仮想的な反力の合力に加えて、前記ロボットと当該ロボットが干渉する可能性のあるワーク以外の物体との距離が干渉の危険が生じる危険距離以下になった際に、当該干渉状況を回避する方向の仮想的な反力を算出するとよい。また、好ましくは、前記反力算出ステップは、前記危険距離を段階的に複数設け、当該複数の危険距離の段階に応じた仮想的な反力を算出するとよい。さらに、好ましくは、前記3次元データにおいて、ロボットの制御点を点、線、及び面の少なくとも1つで拘束した上で、前記ロボットの制御点を拘束されていない方向で移動及び回転させることによって前記ロボットの位置及び姿勢を教示するに際して、前記反力算出ステップは、前記拘束されていない方向の仮想的な反力の合力を算出するとよい。本発明に係るオフライン教示データ作成システムは、ワーク及び当該ワークに対して作業を行うロボットを含む3次元データを格納すると共に、前記3次元データを用いることでロボットに対する教示データを作成し、且つ上述のオフライン教示データ作成方法における各ステップを実行する教示データ作成装置と、前記教示データ作成装置に接続され、且つ前記3次元データ内でのロボットの制御点の移動及び回転を入力可能であると共に、教示データ作成装置で算出された仮想的な反力を出力可能な入出力デバイスと、を有することを特徴とする。上述の手段を有する本発明では、ロボットのアームや加工具の一部に対して、ワークや周囲環境との距離を計算し、距離に応じた仮想的な反力を、衝突する状態に至る前に入出力デバイスに返す。これにより、衝突を回避しつつロボットの教示点を効率的に作成することができる。また、周囲環境からの距離に応じて発生する様々な方向の反力に相当するベクトルを合成することにより、反力がほぼ相殺されてつりあった状態であって反力が小さくなっている場所を、周囲環境から一定距離離れた所で検知することができる。これによって、周囲環境に対して、合理的に安全な距離を保った位置姿勢をオペレータに通知することが出来、オペレータは、教示操作を行いながら簡単に安全な状況か危険な状況かを判断することができる。例えば、溶接作業でのトーチ先端をワークの溶接線に追随させる場合、溶接線を有するワークとトーチ先端との距離が接近してしまう。この場合において、単純に周囲環境との距離に応じた反力を返すと、溶接線から離れる方向に仮想的な力が発生してしまい、目的の位置姿勢での教示点作成が困難となる。これに対しては、加工具先端を拘束する幾何学的な情報、例えば、線や点、面を指定することにより、その指定した幾何学的な位置に加工具先端の拘束を保ちながら、ロボットの位置や姿勢を干渉から回避させる方向へと変更させることができる。加工具先端の拘束を実現する位置姿勢の成分以外の成分で計算される反力を入出力デバイスに返すことにより、オペレータは、加工具先端を目的の位置や線や面上に保ったまま、ロボットの安全な姿勢を簡単に判断し設定することが可能となる。本発明によるオフライン教示データ作成方法、及びオフライン教示データ作成システムを用いれば、オフライン教示作業において、干渉が起こる可能性のある危険な状況を感覚的に把握できて、且つその危険な状況を容易に回避できるよう、操作者に情報を提供し、教示作業の効率を向上させることができる。以下、本発明の実施形態を、図面に基づき説明する。なお、以下の説明では、同一の構成要素には同一の符号を付している。また、同一の構成要素に関しては、名称も機能も同じである。したがって、同一のものについての詳細な説明は繰返さない。図面を参照しながら、本発明の実施形態によるオフライン教示データ作成システムについて説明する。まず、本実施形態に係るロボットシステム1の全体構成について説明する。図1に示すように、ロボットシステム1は、溶接作業を行うロボット2溶接ロボット2と、教示ペンダント3を備えた制御装置4と、パソコン等の情報処理装置で構成される教示データ作成装置5とを含む。溶接ロボット2は垂直多関節型の6軸の産業用ロボットであり、その先端に溶接トーチなどから構成される溶接ツール6が設けられている。この溶接ロボット2は、それ自体を移動させるスライダ図示せずに搭載されていてもよい。制御装置4は、溶接ロボット2の動作を、予め教示した教示プログラムに従って制御する。教示プログラムは、制御装置4に接続された教示ペンダント3を使用して作成する場合や、オフラインで教示データ作成装置5を使用して作成する場合がある。いずれの場合であっても、教示プログラムは、溶接ロボット2が実際に溶接作業を行う前に予め作成される。教示データ作成装置5を用いて作成された教示プログラムは、磁気的又は電気的にデータを記憶した媒体等を介して制御装置4に渡されたり、データ通信により制御装置4に転送されたりする。教示データ作成装置である教示データ作成装置5は、表示装置としてグラフィック表示可能なディスプレイを備え、入力装置としてキーボード、マウス、及び入出力デバイス7詳細は後述を備える。また、教示データ作成装置5は、ワークWの3次元データを作成するためのCAD情報を取込むために、読取装置又は通信装置を備えている。このように、教示データ作成装置5に入出力デバイス7や各種機器が接続されて、オフライン教示データ作成システムが構成されている。教示データ作成装置5は、ワークW及び当該ワークWに対して溶接作業を行う溶接ロボット2を含む3次元データを格納しており、操作者オペレータMは、この3次元データを用いつつ入力装置を操作することで、溶接ロボット2に対する教示データを作成することができる。さらに、本実施形態の場合、教示データ作成装置5は、溶接ロボット2とワークWとの距離に応じた仮想的な反力を算出するようになっており、算出した反力を入出力デバイス7に返すように構成されている。ところで、入出力デバイス7としては、NOVINT社製のFALCON登録商標NOVINT社FALCONホームページ、httphomenovintcomproductsnovintfalconphpや、株式会社アイネット社製のPHANTOMhttpwwwdddcojpproductphantom及びSPIDERhttpwwwdddcojpproductspidarindexhtmlなどの入出力装置が採用可能である。本実施形態の場合、入出力デバイス7として、上記したNOVINT社製のFALCONを採用している。以下、この入出力デバイス7を念頭に説明を進める。入出力デバイス7は、入力グリップ8を備えており、入力グリップ8を上下左右及び前後の3次元で移動させることによって、教示データ作成装置5に対して3次元の入力が可能である。また、入出力デバイス7は、教示データ作成装置5からの指示に基づいて各次元の入力に対して反力を発生フォースフィードバックする。本実施形態において入出力デバイス7によって入力できる次元は、教示データ作成装置5のディスプレイに表示された3次元データのX軸方向と、Y軸方向と、Z軸方向の3つの次元ロボットベース座標のX,Y,Zである。このとき入出力デバイス7が発生させることのできる反力の次元は、入力の次元と同じく、3次元データのX軸方向と、Y軸方向と、Z軸方向の3つの次元である。なお、他の入出力デバイスを採用することで、各座標軸まわりの回転α,β,γも含めた最大6次元の入出力を行うことが可能である。本実施形態の入出力デバイス7は、入力グリップ8を動かすことで3次元データ内での溶接ロボット2の先端に取り付けられた溶接ツール6の先端溶接ロボット2の制御点を移動及び回転させる入力が可能である。また、入出力デバイス7は、教示データ作成装置5から指示された大きさの反力を発生することができる。これによって、反力に逆らう方向に入力グリップ8を動かすことが困難となり、反力に逆らう入力を抑制することができる。言うまでもなく、入出力デバイス7は、NOVINT社製のFALCONに限定されるものではない。上述の入出力が可能な装置であれば、アイネット社製のPHANTOM及びSPIDERや、その他の入出力装置を入出力デバイス7として採用することができる。以上のような構成を有するオフライン教示データ作成システムにおいて、教示データ作成装置5は、溶接ロボット2とワークWとの距離に反比例する仮想反力fi仮想的な反力の合力を算出する反力算出ステップと、反力算出ステップで算出された仮想反力fiの合力の大きさ及び方向を入出力デバイス7に出力する反力出力ステップと、を実行しつつロボットの教示データを作成する。教示データの作成において、3次元データ内の溶接ロボット2に設定された質点とワークWとの距離に応じた大きさの力を、当該質点に働く仮想反力fiとして算出することを特徴としている。さらに、オフライン教示データ作成システムでは、算出された仮想反力fiの合力を、当該質点においてワークWとは反対方向に働く力として入出力デバイス7に出力するところも特徴である。この仮想反力fiは、溶接ロボット2に設定された質点がワークWに干渉することによって発生する力ではなく、質点がワークWに干渉する前に、当該質点とワークWの接近距離に応じて教示データ作成装置5で算出される力である。また、ここでいう溶接ロボット2に設定された質点とは、3次元データにおける溶接ロボット2のモデルの表面で凸形状となっていて、ワークWと干渉しやすい部分に予め設定された点である。この質点は、溶接ロボット2のモデルの外形を形成する全ての頂点に設定してもよいし、応力計算などで作成する計算用メッシュの表面部分の頂点に設定してもよい。本実施形態では、溶接ロボット2の移動速度と、教示データ作成装置5での計算に要する時間との兼ね合いから、上述のように質点を設定している。このような構成の入出力デバイス7によって、教示データ作成装置5への入力を抑制したり、当該入力に対して反力を出力して注意を促したりといったことが可能となる。入出力デバイス7に対して反力を発生させるために教示データ作成装置5が行う処理については、以下に詳しく説明する。図2~図5を参照しながら、質点に働く仮想反力fiの算出方法について説明する。図2は、溶接ロボット2のある質点で発生する仮想反力fiの計算方法の考え方を示す図である。図2に示すように、溶接ロボット2のモデルのある質点に対して、当該質点から3次元空間内の全ての方向へ向くようなベクトル等方的なベクトルを設定する。これら等方的なベクトルは、方向に偏りが無いことだけでなく、高い計算精度を得るために十分な分解能が要求される。そこで、例えば対象となる質点を中心にした正n面体の各面の中心方向などに向かってベクトルを設定する。本実施形態では、正20面体の各面の中心方向のベクトルを設定している。このように設定した各ベクトルにおける当該質点とワークWや周囲環境との最短距離を暫時計算し、当該各ベクトルの大きさをワークWとの最短距離の二乗に反比例させる。なお、ここでいう周囲環境とは、溶接ロボット2が干渉する可能性のあるワークW以外の物体のことであり、例えば、ワークWが載置された載置台やポジショナ、ワークWを把持しているクランプ部材などが該当する。図4aに示すように、等方的なベクトルの大きさは、ワークWを表す干渉領域から離れるにしたがって、距離lの二乗に反比例して小さくなってゆく。ワークWとの干渉の危険が生じる危険距離よりもワークWに近づいているときは、等方的なベクトルの大きさを、予め設定された上限値を下回る一定値とする。この一定値は、予め設定された上限値に任意の割合を乗じて得られる値であり、本実施形態では、入出力デバイス7の操作性を考慮して、当該上限値に例えば80を乗じている。なお、当該質点からのベクトルの方向にワークWが存在しないときは、当該ベクトルの大きさを0として計算する。上述の計算で得られた各ベクトルの合成ベクトルを求め、求めた合成ベクトルを当該質点において発生する仮想反力fiのベクトルとする。質点iにおいて発生する仮想反力fiのベクトルは、等方ベクトルのある方向をVj、そのときのワークWや周囲環境との距離をljとすると、次の式1で表される。式1の右辺にマイナスの符号が付されていることに注意されたい。このように、質点回りの等方的なベクトルの大きさを当該質点のワークWとの距離の二乗に反比例させると共に、式1によって質点iにおける仮想反力fiのベクトルを求めると、その仮想反力fiのベクトルはワークWから離れる方向を向く。図4aに示したように、質点iにおける等方的なベクトルの大きさをワークWとの距離の二乗に反比例させて連続的に変化させてもよいが、図4bに示すように、段階的に変化させてもよい。図4bでは、ワークWとの干渉の危険が生じる危険距離を段階的に複数設けた場合における等方的なベクトルの大きさの変化を示している。質点のワークWとの距離が、干渉の危険が生じない安全距離以上離れているときは、等方的なベクトルの大きさの大きさを0とする。質点のワークWとの距離が安全距離未満の第1の危険距離以下となったとき、等方的なベクトルの大きさを所定の大きさの一定値とする。質点がさらにワークWに接近し第2の危険距離以下となったとき、等方的なベクトルの大きさを、第1の危険距離以下での値より大きな一定値とする。第2の危険距離以下での等方的なベクトルの大きさを、予め設定された上限値を下回る一定値とする。この一定値は、予め設定された上限値に任意の割合を乗じて得られる値であり、本実施形態では、入出力デバイス7の操作性を考慮して、当該上限値に例えば80を乗じている。このようにして大きさが得られた等方的なベクトルを合成することで、上述の式1によらず、段階的に設けられた複数の危険距離に応じて段階的に変化する仮想反力fiを算出することもできる。質点iにおける仮想反力fiが段階的に変化すれば、その結果として、入出力デバイス7を介してオペレータMが感じ取る反力の変化も段階的となり、オペレータMが確実に仮想反力fiの変化を検知できることが期待される。入出力デバイス7が発生できる力が弱い場合や、オペレータMが、図4aの連続的に微少な変化をする反力を感じ取りにくいような場合は、図4bに示すような、段階的に変化する反力が生じるようにするとよい。換言すれば、図4bに示す段階的な反力を入出力デバイス7に返すようにすれば、操作者にとって直感的でわかりやすい抗力が発生することとなり、当該入出力デバイス7が人間工学的な観点から最適な操作デバイスと成りうる。溶接ロボット2には複数の質点が設けられており、式1を基にして、各質点に働く仮想反力fiが算出される。各質点に働く仮想反力fiはそれぞれ大きさも方向も異なるが、溶接ロボット2を剛体とみなすと、溶接ロボット2に発生する並進の力と回転の力を導出することができる。導出された並進の力と回転の力が、溶接ロボット2の制御点本実施形態では、溶接ツール6の先端に発生する力に変換される。図3は、ワークW内に進入した溶接ロボット2の各質点に働く仮想反力fiと、溶接ロボット2のある制御点に働く並進力Fと回転力Nとの関係を示している。図3aでは、ワークW内に進入した溶接ロボット2を進入方向に対して側方から見たときの配置が左図に、進入方向の正面から見たときの配置が右図に、それぞれ示されている。図3aの左図は、溶接ロボット2の3つの質点に仮想反力f1~f3が働いていることを示している。これら仮想反力f1~f3は、溶接ロボット2の質点に図3aの右図で示すような分力として働く。下記の式2及び式3を用いれば、溶接ロボット2の質点に働く仮想反力fiの分力から、溶接ロボット2を剛体とみなしたときに溶接ロボット2の制御点に働く並進力Fと回転力Nを求めることができる。溶接ロボット2の各質点で仮想反力fiを用い、溶接ロボット2を剛体とみなして質点の個数をmとすると、制御点に働く並進力Fである並進移動の力ベクトルFは、次の式2で求めることができる。また、制御点に働く回転力Nは、各質点の位置ベクトルをuiとおくと、次の式3に示すように、各質点における仮想反力fiのベクトルと位置ベクトルuiの二つのベクトルの外積の合成で表すことができる。上述のように式2及び式3を用いて、溶接ロボット2の各質点に働く仮想反力fiから、溶接ロボット2の制御点に働く並進力Fと回転力Nを求める。教示データ作成装置5は、これら並進力Fと回転力Nを溶接ロボット2の制御点に働く力に変換して、当該制御点に働く力のベクトルを入出力デバイス7に指示するので、入出力デバイス7は、指示されたベクトルに対応した反力を入力グリップ8の動きに対して発生させる。オペーレータは、入力デバイスが発生した反力によって、溶接ロボット2がワークWに干渉しそうな状態を感覚的に検知することができる。このとき、教示データ作成装置5は、入出力デバイス7が発生させることのできる最大反力に所定の割合を乗じて得られる値が入出力デバイス7が実際に発生する反力の上限となるように、溶接ロボット2の制御点に働く力のベクトルに適切な倍率を乗じて、入出力デバイス7に指示を出す。ここで、入出力デバイス7の最大反力に乗じる所定の割合は任意の値であるが、本実施形態では、入出力デバイス7の操作性を考慮して、当該最大反力に例えば80を乗じている。図3bにおいて、オペーレータが、入出力デバイス7の反力にできるだけ逆らわないように入力グリップ8を操作すると、溶接ロボット2の制御点は、ワークW内の点線で示す図3aの配置から、ワークW内の実線で示す図3bの配置に誘導される。図3bの配置によって、溶接ロボット2の制御点がワークWと干渉する危険性が無くなる。これだけでなく、オペレータMが、溶接ロボット2とワークWの接近度合いに応じた力を感知できるため、ワークWとの干渉や、ワークWとの等方的な距離が感覚的に瞬時にわかる。そのため、オペレータMは、ディスプレイに表示されたグラフィック画面の確認を必要最小限で済ませることができ、現在位置での教示点作成の可否を容易に判断できる。上述のように、本実施形態によるオフライン教示データ作成システムは、溶接ロボット2の制御点に働く力を算出して入出力デバイス7に反力を発生させる。以下に、図6を参照して、オフライン教示データ作成システムを用いた教示作業について説明する。ここでいう教示作業とは、反力を発生する入出力デバイス7を用いて、溶接ロボット2の制御点、例えば溶接ロボット2の溶接トーチの先端を移動及び回転させながら、教示点を作成することである。まず、教示データ作成装置5は、記憶装置に格納している溶接ロボット2及びワークWの3次元データをディスプレイに表示する。次に、教示データを作成するオペレータMが、入出力デバイス7の入力グリップ8を操作して、溶接ロボット2の制御点を移動させる。教示データ作成装置5は、入力グリップ8の位置の変化量を検知し、その変化量に応じて、対応付けられた溶接ロボット2の位置及び姿勢の一部又は全部を移動及び回転させる。これによって、ディスプレイに表示された3次元データ内における溶接ロボット2の制御点を移動及び回転させ、溶接ロボット2の位置及び姿勢を変化させるステップS1。ステップS1での溶接ロボット2の制御点の移動に応じて、教示データ作成装置5は、溶接ロボット2に設けられた各質点で発生する仮想反力fiを算出するステップS2、反力算出ステップ。ステップS2で算出された仮想反力fiを基に、教示データ作成装置5は、溶接ロボット2に発生する並進力F及び回転力Nを導出する図6、ステップS3。教示データ作成装置5は、ステップS3で導出された並進力F及び回転力Nを溶接ロボット2の制御点に発生する力に変換し、当該制御点に発生する力のベクトルを入出力デバイス7に指示する。入出力デバイス7は、指示されたベクトルの向き及び大きさに対応する反力を発生するステップS4、反力出力ステップ。オペレータMは、入出力デバイス7が発生する反力と、教示データ作成装置5のディスプレイに表示された3次元データとを参考にしながら、溶接ロボット2の制御点を所望の位置に移動及び回転させる。オペレータMは、溶接ロボット2の制御点を移動させながら溶接ロボット2とワークWの干渉を確認し、教示点を作成するか否かを判断するステップS5。教示点を作成しない場合、オフライン教示データ作成システムは、ステップS1に戻ってステップS4までを繰り返し、教示点を作成する場合、ステップS6に進む。ステップS5で、オペレータMが溶接ロボット2とワークWの干渉がないと判断すると共に、教示点を作成すると決定すると、教示データ作成装置5は、現在の溶接ロボット2の位置及び指定を、教示点として登録するステップS6。ステップS6での登録が完了すると、オペレータMは、現在の教示作業を続行するか否かを判断する。教示作業を続行する場合、教示データ作成装置5は、処理をステップS1に戻し、教示作業を続行しない場合、現在の教示作業を終了するステップS7。上述のとおり、本実施形態によるオフライン教示データ作成システムでは、溶接ロボット2に設けられた各質点に発生する仮想反力fiを考慮した。しかし、溶接など、ロボットの一部とワークWとが接触しながら行われる作業の教示では、オペレータMの望まない反力が入出力デバイス7に発生してしまう可能性がある。つまり、溶接作業では、溶接ロボット2の溶接トーチの先端がワークWと溶接線上で接触するため、単純に溶接ロボット2の制御点に働く力を計算すると、溶接トーチの先端がワークWから離れる方向に反力が発生することがある。そうなると、溶接線上での教示点の作成や編集が簡単には出来なくなってしまう。そこで、図5に示すように、溶接ロボット2に取り付けられた溶接トーチの先端を溶接ロボット2の制御点として設定し、この制御点が溶接線上に配置されるように溶接ロボット2の制御点を拘束することが考えられる。つまり、溶接ロボット2の制御点を、3次元データ内の点、線、及び面のいずれかで拘束し、溶接線上から離れないようにする。つまり、点で溶接ロボット2の制御点を拘束すれば、当該制御点は並進運動について拘束され、拘束されていない自由度は当該点での回転運動旋回運動だけとなる。また、線で溶接ロボット2の制御点を拘束すれば、当該制御点の自由度は当該線上での1次元の並進運動と、当該線上での回転運動だけとなる。最後に、面で溶接ロボット2の制御点を拘束すれば、当該制御点の自由度は当該面上での2次元の並進運動と、当該面上での回転運動だけとなる。つまり、溶接ロボット2の制御点を拘束するということは、溶接ロボット2の制御点の自由度を制限することである。例えば、図5aに示すように、溶接トーチの先端を制御点とし、この制御点を、溶接線から外れないように溶接線上に拘束する。その上で、溶接ロボット2の制御点に矢印で示す方向に反力が発生すれば、オペレータMは、入出力デバイス7を操作して、発生した反力を解消する方向に溶接ロボット2の制御点を移動及び回転させる。図5bに示すように、溶接ロボット2は、この移動及び回転によって制御点を溶接線上に拘束したまま、ワークWとの干渉を回避できる位置に移動する。その上で、図6のステップS4において、溶接トーチの先端であるこの制御点に関して、溶接線に垂直な方向の力は0となるような制限を設ける。これにより、本実施形態によるオフライン教示データ作成システムは、溶接のような接触作業に対しても、接触部位以外の干渉を簡単に操作者に認識させることが可能となる。ところで、今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。特に、今回開示された実施形態において、明示的に開示されていない事項、例えば、動作条件や測定条件、各種パラメータ、構成物の寸法、重量、体積などは、当業者が通常実施する範囲を逸脱するものではなく、通常の当業者であれば、容易に想定することが可能な値を採用している。上述の実施形態では、入出力デバイス7により溶接トーチの先端点を移動可能としていた。それに代えて、入出力デバイス7により溶接トーチの姿勢を変更可能とすることもできる。この場合であっても、本願発明の溶接ロボット2とワークWとの距離に応じた仮想的な反力を算出し、算出した反力を入出力デバイス7に返すといった技術を採用することで、操作者は、干渉が起こる可能性のある危険な状況を感覚的に把握できて、且つその危険な状況を容易に回避できるようにしながら、確実に教示データを作成することができる。また、上述の実施形態において、仮想反力fiの大きさをワークWからの距離の二乗に反比例させたが、二乗に限らず、一乗乃至は三乗以上の累乗に反比例させてもよい。さらに、上述の実施形態においては、溶接ロボットを例示して説明を行ったが、ワークWにシール剤を添付するシーリング加工、塗料を塗布する塗装加工などのステッチ作業の教示データ作成においても本発明を適用することが可能である。"