(57)【要約】【課題】ワークに対するティーチング精度が向上するとともに、オフラインティーチングを迅速に行うロボット教示用ＣＡＤ装置を簡便かつ低廉に構成する。【解決手段】ロボット教示用ＣＡＤ装置１０は、仮想空間上で、仮想の車両３０及び該車両３０に対する作業を行う仮想ロボット３２を設定するＣＡＤ部２０ａと、仮想ロボット３２を含む仮想空間を表すモニタ１４と、ＣＡＤ部２０ａにアクセスして該ＣＡＤ部２０ａを動作させる付設プログラム部とを有する。付設プログラムであるロボット教示部２０ｃは、ＣＡＤ部２０ａから供給される車両３０の情報に基づいて、仮想ロボット３２の仮想教示座標ＣＴを複数個設定する。ロボット姿勢算出部２０ｂは、仮想教示座標ＣＴに基づいて逆変換演算により仮想ロボット３２の姿勢を算出する。ＣＡＤ部２０ａは、ロボット教示部２０ｃにより仮想的に動作された仮想ロボット３２をモニタ１４に表示する。【選択図】図１
2008033419.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間上で、仮想のワーク及び該ワークに対する作業を行う仮想のロボットを設定するＣＡＤ部と、
少なくとも前記ロボットを含む前記仮想空間を表すモニタと、
前記ＣＡＤ部にアクセスする付設プログラム部と、
を有し、
前記付設プログラム部は、前記ＣＡＤ部から供給される前記ワークの情報に基づいて、前記ロボットの先端位置及びツール座標を含む先端情報を複数個設定する先端設定部と、
設定された前記先端情報に基づいて逆変換演算により前記ロボットの姿勢を算出するロボット姿勢算出部と、
を備え、
前記ＣＡＤ部は、前記ロボット姿勢算出部で得られた前記ロボットの複数の姿勢から前記付設プログラムにより仮想的に動作された前記ロボットを前記モニタに表示することを特徴とするロボット教示用ＣＡＤ装置。
【請求項２】
請求項１記載のロボット教示用ＣＡＤ装置において、
前記ＣＡＤ部によって前記ワークの形状に対応して生成された仮想教示支援ラインと、
前記仮想教示支援ラインに対応して設けられ、操作者によって連続的に変位指定が可能な変位指定手段と、
を有し、
前記先端設定部は、前記仮想教示支援ライン上で、所定間隔に仮想教示点を設定する教示点間隔設定手段と、
少なくとも１つの前記仮想教示点について、ツール座標の１つの座標軸を前記仮想教示支援ラインの接線に沿って設定する座標設定手段と、
を備え、
前記ロボット姿勢算出部は、前記変位指定手段による変位指定が前記仮想教示点に対応する箇所に到達したときに、前記ロボットの姿勢を演算することを特徴とするロボット教示用ＣＡＤ装置。
【請求項３】
仮想空間上に、ワークの形状に対応した仮想教示支援ラインを設定するステップと、
前記仮想教示支援ライン上で、所定間隔に仮想教示点を設定するステップと、
少なくとも１つの前記仮想教示点について、ツール座標の１つの座標軸を前記仮想教示支援ラインの接線に沿って設定するステップと、
前記仮想教示支援ラインに対応して設けられ、連続的に変位指定が可能な変位指定手段を操作者が操作することに対して連動し、前記変位指定手段による変位指定が前記仮想教示点に対応する箇所に到達したときに、前記ロボットの姿勢を演算するステップと、
を有することを特徴とするロボット教示方法。
【請求項４】
ＣＡＤにより設定された仮想のワーク及び該ワークに対する作業を行う仮想のロボットを前記ＣＡＤのデータ形式のままモニタに表示するステップと、
前記ロボットに対応した仮想のティーチペンダントを前記モニタに表示するステップと、
前記モニタ上の位置を指示するポインティングデバイスにより前記ティーチペンダントを操作するステップと、
前記ティーチペンダントの操作に基づいて前記ロボットの姿勢を変更及び算出するステップと、
変更及び算出された前記ロボットの姿勢に基づいて前記モニタに表示された前記ロボットを更新表示するステップと、
操作者による指示に基づいて、その時点の前記ロボットの姿勢を教示登録するステップと、
を有することを特徴とするロボット教示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オフライン教示で用いるロボット教示用ＣＡＤ装置及びロボット教示方法に関する。
【背景技術】
【０００２】
製造ラインに設置された多関節ロボット（例えば、塗装用ロボットや溶接用ロボット）を直接操作させて作業姿勢のティーチングを行おうとすると、多関節ロボットの操作を熟知したオペレータが製造ラインの現場で作業を行わなければならないため、その分作業が非効率的となってしまう。また、その作業は、製造ラインを停止された状態で行う必要があるために当該製造ラインの稼動率も低下してしまう。
【０００３】
そこで、近時前記ティーチングの効率化を図るため、あるいは、前記製造ラインの稼動率を向上させるために、オフラインティーチングが行われている。すなわち、コンピュータによる仮想空間上に３次元の多関節ロボット、作業対称物であるワーク及び周辺構造物のモデルを構築し、このモデルを用いてティーチングデータを作成した後、前記ティーチングデータを現場の多関節ロボットに供給するようにすれば、ティーチングデータの作成中に製造ラインを停止させる必要がない。また、生産プロセスの設計と最適化が可能となり、該生産ラインの早期立ち上げが可能となる。近時のコンピュータ技術の進歩により、オフラインティーチングはパーソナルコンピュータでも実施可能となっている。
【０００４】
一方、機械設計においては、従来は２次元ＣＡＤが用いられていたが、設計効率及び精度の向上、生産現場との連係、及びコンピュータ技術の進歩等により３次元ＣＡＤ（以下、単にＣＡＤという。）が次第に用いられるようになっている。ＣＡＤでは、仮想空間上に立体的なモデルを構築することができ、例えばワークや多関節ロボットのモデルの構築が可能である。
【０００５】
このような背景から、特許文献１では、自動車（又はその一部）のモデルデータが蓄積されたＣＡＤシステムと、塗装用ロボットに対してオフラインティーチング及びシミュレーションを行うシミュレーションシステムを組み合わせたロボットティーチング装置を提案している。このロボットティーチング装置では、ＣＡＤシステムから自動車のモデルデータを読み込み、シミュレーションシステムにおいて編集した教示点データに基づいて生産工程をシミュレーションしている。
【０００６】
また、特許文献２では、自動車のモデルデータを用いてオフラインティーチングする装置が提案されている。この装置では、コンピュータ上のＣＡＤデータに対して、水平方向の仮想平面と垂直方向の仮想平面を任意のピッチで生成し、それぞれの干渉線の交点から垂線を算出して、該垂線上に教示点を生成している。
【０００７】
【特許文献１】特開平１１−２６７９９１号公報
【特許文献２】特開平１１−２６７９９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、上記の特許文献１及び特許文献２記載の装置では、ＣＡＤで生成された自動車のモデルデータをシミュレーションシステムで利用可能なようにデータ変換作業が必要となる。このデータ変換作業では変換誤差による精度の低下や、形状情報の欠陥が発生し、生成された教示点の精度が落ちる。また、自動車の所定のモデルデータの変換作業には通常数時間程度を要し、作業効率の向上が望まれる。
【０００９】
さらに、自動車の設計を行う設計部門ではＣＡＤシステムが用いられ、該自動車を生産する生産部門ではオフラインティーチングシステムが用いられている。このように複数のシステムが個別に用いられていることからソフトウェアのコストが高騰する要因となっており、システムの集約化が望まれる。
【００１０】
本発明はこのような課題を考慮してなされたものであり、ワークに対するティーチング精度を向上させるとともに、オフラインティーチングを迅速に行うことができ、しかも簡便かつ低廉なロボット教示用ＣＡＤ装置及びロボット教示方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係るロボット教示用ＣＡＤ装置は、仮想空間上で、仮想のワーク及び該ワークに対する作業を行う仮想のロボットを設定するＣＡＤ部と、少なくとも前記ロボットを含む前記仮想空間を表すモニタと、前記ＣＡＤ部にアクセスする付設プログラム部と、を有し、前記付設プログラム部は、前記ＣＡＤ部から供給される前記ワークの情報に基づいて、前記ロボットの先端位置及びツール座標を含む先端情報を複数個設定する先端設定部と、設定された前記先端情報に基づいて逆変換演算により前記ロボットの姿勢を算出するロボット姿勢算出部とを備え、前記ＣＡＤ部は、前記ロボット姿勢算出部で得られた前記ロボットの複数の姿勢から前記付設プログラムにより仮想的に動作された前記ロボットを前記モニタに表示することを特徴とする。
【００１２】
このように、ＣＡＤ部にアクセスすることにより、ＣＡＤ部から供給されるワークの情報に基づいて仮想空間上の仮想教示点に関する先端情報を設定するので、ワークの情報をデータ変換することなくそのまま利用が可能であり、ワークに対するティーチング精度を向上させるとともに、オフラインティーチングを迅速に行うことができる。また、ＣＡＤシステムとオフラインティーチングシステムを集約することができ、簡便かつ低廉な装置が構成可能である。
【００１３】
この場合、前記ＣＡＤ部によって前記ワークの形状に対応して生成された仮想教示支援ラインと、前記仮想教示支援ラインに対応して設けられ、操作者によって連続的に変位指定が可能な変位指定手段とを有し、前記先端設定部は、前記仮想教示支援ライン上で、所定間隔に前記仮想教示点を設定する教示点間隔設定手段と、少なくとも１つの前記仮想教示点について、ツール座標の１つの座標軸を前記仮想教示支援ラインの接線に沿って設定する座標設定手段とを備え、前記ロボット姿勢算出部は、前記変位指定手段による変位指定が前記仮想教示点に対応する箇所に到達したときに、前記ロボットの姿勢を演算するようにしてもよい。
【００１４】
本発明に係るロボット教示方法は、仮想空間上に、ワークの形状に対応した仮想教示支援ラインを設定するステップと、前記仮想教示支援ライン上で、所定間隔に仮想教示点を設定するステップと、少なくとも１つの前記仮想教示点について、ツール座標の１つの座標軸を前記仮想教示支援ラインの接線に沿って設定するステップと、前記仮想教示支援ラインに対応して設けられ、連続的に変位指定が可能な変位指定手段を操作者が操作することに対して連動し、前記変位指定手段による変位指定が前記仮想教示点に対応する箇所に到達したときに、前記ロボットの姿勢を演算するステップとを有することを特徴とする。
【００１５】
このように、仮想教示支援ラインに対応して変位指定手段により変位指定をしながら、変位指定が仮想教示点に対応する箇所に到達したときに、ロボットの姿勢を演算すると、操作者の感覚に応じた操作が可能となり、教示及び確認が容易である。
【００１６】
また、本発明に係るロボット教示方法は、ＣＡＤにより設定された仮想のワーク及び該ワークに対する作業を行う仮想のロボットを前記ＣＡＤのデータ形式のままモニタに表示するステップと、前記ロボットに対応した仮想のティーチペンダントを前記モニタに表示するステップと、前記モニタ上の位置を指示するポインティングデバイスにより前記ティーチペンダントを操作するステップと、前記ティーチペンダントの操作に基づいて前記ロボットの姿勢を変更及び算出するステップと、変更及び算出された前記ロボットの姿勢に基づいて前記モニタに表示された前記ロボットを更新表示するステップと、操作者による指示に基づいて、その時点の前記ロボットの姿勢を教示登録するステップとを有することを特徴とする。
【００１７】
このように、ワーク及びロボットをＣＡＤのデータ形式のままモニタに表示すると、データ変換が不要で精度の変換低下がなく、しかも簡便且つ迅速な教示が可能になる。また、仮想のティーチペンダントによる教示は、従来の実際のティーチペンダントと同様の操作であり、習熟が不要で簡便な教示が可能である。
【発明の効果】
【００１８】
本発明に係るロボット教示用ＣＡＤ及びロボット教示方法によれば、ＣＡＤ部にアクセスする付設プログラム部により、ＣＡＤ部から供給されるワークの情報に基づいて仮想教示点に関する先端情報を設定するので、ワークの情報をデータ変換することなくそのまま利用が可能であり、ワークに対するティーチング精度を向上させるとともに、オフラインティーチングを迅速に行うことができる。また、ＣＡＤシステムとオフラインティーチングシステムを集約することができ、簡便かつ低廉な装置が構成可能である。
【００１９】
また、仮想教示支援ラインに対応して変位指定手段により変位指定をしながら、変位指定が仮想教示点に対応する箇所に到達したときに、ロボットの姿勢を演算すると、操作者の感覚に応じた操作が可能となり、教示及び確認が容易である。
【発明を実施するための最良の形態】
【００２０】
以下、本発明に係るロボット教示用ＣＡＤ装置及びロボット教示方法について実施の形態を挙げ、添付の図１〜図１１を参照しながら説明する。
【００２１】
図１に示すように、本実施の形態に係るロボット教示用ＣＡＤ装置１０は、コンピュータ本体１２と、モニタ１４と、キーボード１６と、ポインティングデバイスとしてのマウス１８とを有する。
【００２２】
コンピュータ本体１２は、ＣＡＤソフトウェア２０と、ＣＡＤデータ２２と、設定情報２４と、教示データ２６とを有するパーソナルコンピュータであって、主たる制御部としてのＣＰＵ（Central Processing Unit）がＣＡＤソフトウェア２０を読み込み実行し、ＣＡＤデータ２２、設定情報２４及び教示データ２６の生成、読み込み及び編集を行う。教示データ２６はＰＣカード（ＰＣＭＣＩＡカード等）２８又は通信により、図示しないロボットコントローラにダウンロード可能である。
【００２３】
なお、ロボット教示用ＣＡＤ装置１０で教示するのは４台の仮想ロボット３２ａ、３２ｂ、３２ｃ、３２ｄであり、作業対象は仮想の車両３０であるものとする。仮想ロボット３２ａ〜３２ｄは、産業用の多関節型ロボットである。また、車両３０に対して作業を行うステーションにはコンベアや治具等の仮想設備３４が設けられているものとする。仮想ロボット３２ａ及び３２ｂはコンベアの左側上流側及び左側下流側に配置され、仮想ロボット３２ｃ及び３２ｄはコンベアの右側上流側及び右側下流側に配置されている。以下、仮想ロボット３２ａ〜３２ｄを代表的に仮想ロボット３２とも呼ぶ。
【００２４】
ＣＡＤデータ２２は、３次元モデルデータであり、ワークデータ２２ａと、ロボットデータ２２ｂと、ツールデータ２２ｃと、設備データ２２ｄとを有する。ワークデータ２２ａはワークである車両３０を示し、ロボットデータ２２ｂは、該車両３０に対して作業をする仮想ロボット３２を示す。ツールデータ２２ｃは、仮想ロボット３２の先端に装着されるツール（又はエンドエフェクタとも呼ばれる。）３３を示し、設備データ２２ｄは生産ラインや周辺の付随設備を示す。ツールは、仮想ロボット３２毎に異なるツールを装着していてもよい。
【００２５】
ワークデータ２２ａ、ロボットデータ２２ｂ、ツールデータ２２ｃ及び設備データ２２ｄは、モニタ１４に対する表示や座標変換及び干渉確認の各処理において、データ変換されることなく、ＣＡＤデータ形式のまま用いられる。したがって、変換誤差による精度の低下や、形状情報の欠陥の発生、及び生成された仮想教示点の精度の低下がない。また、データの変換作業の時間と手間が不要であり効率的である。
【００２６】
ＣＡＤソフトウェア２０は、基本的には、ＣＡＤデータ２２を作成、編集及び読み込んで所定の処理を行うものであり、ＣＡＤ部２０ａと、ロボット姿勢算出部（付設プログラム）２０ｂと、ロボット教示部（付設プログラム）２０ｃとを有する。ＣＡＤ部２０ａはＣＡＤソフトウェア２０の本体部分であり、３次元データの生成、編集及びモニタ１４への表示を行う。なお、図１及び図１１においては、仮想ロボット３２ａ〜３２ｂを模式的に示しているが、実際にはＣＡＤ部２０ａによってソリッドモデル等による写実的で３次元的な表示が可能である。
【００２７】
ロボット姿勢算出部２０ｂは、与えられた仮想教示点の情報に基づき、逆運動変換(Inverse Kinematics)をして、仮想ロボット３２の各関節の変位（回転変位又は直動変位）を算出し、仮想ロボット３２の姿勢データを生成する。ここで、仮想教示点の情報とは、仮想ロボット３２の先端情報として、仮想ツール３３の位置及び姿勢の情報を含むものである。
【００２８】
また、この仮想ロボット３２の姿勢データが、仮想ロボット３２の可動範囲内であれば、その姿勢データをロボット教示部２０ｃに送信し、仮想ロボット３２が到達不可能であったり特異点姿勢（Singular Configuration)等の姿勢エラーがあればエラーデータを送信する。ロボット教示部２０ｃは、供給された姿勢データに基づいて仮想ロボット３２をモニタ１４の画面上に表示させることができる。
【００２９】
設定情報２４は、生産工程のシミュレーションのための基礎データであり、車両３０のワーク情報２４ａ、該車両３０に対して作業をする仮想ロボット３２のロボット情報２４ｂ、仮想ロボット３２に付設される溶接ガンや塗布ガン等のツール情報２４ｃ、仮想設備３４に関する設備情報２４ｄ、シミュレートの諸設定であるシミュレート情報２４ｅを有する。
【００３０】
ワーク情報２４ａには、ワーク原点と、該ワーク原点からワーク前端距離と後端距離、機種コード、派生オプション、オプションコード等が設定されている。
【００３１】
ロボット情報２４ｂには、ロボット各軸の関節の種類、初期姿勢時の各軸の角度、各軸の動作範囲、各軸の回転方向、ロボット軸に追加される外部軸、各軸の速度範囲、及び各軸のパルスレート等が設定されている。
【００３２】
ツール情報２４ｃには仮想ロボット３２に付設するときの仮想ツール３３の位置と姿勢の情報、ツール名称、ツール番号、シミュレート時のツール可動条件等が設定されている。
【００３３】
設備情報２４ｄには、ＣＡＤ原点からコンベア原点のオフセット距離、コンベア原点からコンベアピンまでの距離、コンベア原点からワーク原点までの距離、コンベアの可動開始位置と可動終了位置、コンベアのスピード、コンベア同期条件、コンベアと同期するタイミングを図るリミットスイッチ条件、ＣＡＤ原点から仮想ロボット原点等が設定されている。
【００３４】
シミュレート情報２４ｅには、仮想ロボット３２の台数、名称及び番号と、仮想コンベアの台数、名称及び番号が設定されている。
【００３５】
モニタ１４には、ＣＡＤソフトウェア２０で構築された３次元仮想空間が表示されており、シミュレーション動作の対象である車両３０、仮想ツール３３を付設した仮想ロボット３２、仮想設備３４が表示される。また、仮想ロボット３２ａ〜３２ｄに対応する仮想ティーチペンダント３６ａ、３６ｂ、３６ｃ、３６ｄ及びロボットリスト３８が表示される。以下、仮想ティーチペンダント３６ａ〜３６ｄを代表的に仮想ティーチペンダント３６とも呼ぶ。仮想ティーチペンダント３６は実際のティーチペンダントを模した画像として表示される。
【００３６】
ロボットリスト３８には、仮想ロボット３２ａ〜３２ｄを指定・指示するボタン３８ａ、３８ｂ、３８ｃ、３８ｄが設けられており、画面の右上に表示される。ボタン３８ａ、３８ｂ、３８ｃ及び３８ｄは、順に「Ｌ１」、「Ｌ２」、「Ｒ１」及び「Ｒ２」と表示されている。
【００３７】
また、モニタ１４には、作業に応じて、干渉確認の設定のための干渉確認ダイアログボックス４０、その結果を示す干渉結果ダイアログボックス４２、及び教示の支援を行う教示支援ダイアログボックス４４が表示される。これらのダイアログボックスは画面上の任意の位置に配置可能である。
【００３８】
仮想ティーチペンダント３６、ロボットリスト３８、干渉確認ダイアログボックス４０及び教示支援ダイアログボックス４４は、マウス１８のクリック、ドラッグ等、及びキーボード１６からのキー入力により操作される。
【００３９】
ＣＡＤ部２０ａは、３次元ＣＡＤとしての基本機能を有し、モデリング変更とレイアウト変更等が可能である。また、直線、折れ線、曲線又はそれらの結合ラインを仮想空間の任意の箇所に生成できる。さらに、ワークモデルの形状データの稜線をオフライティーチングデータの作成に利用できる。
【００４０】
ＣＡＤ部２０ａに対して、外部からＤＬＬ（Dynamic Link Library)によりアクセスし、又は外部プログラムからのプロセス間通信（ＩＰＣ：Inter Process Communication)によりアクセスし、ＣＡＤ部２０ａのライブラリが動作されることで、ＣＡＤソフトウェア２０内において、仮想空間でのシミュレーションを実現できる。
【００４１】
ＩＰＣは、動作中の２つのプログラム間でデータ交換を行うことで、２つのプログラムは、同じシステム内、ネットワーク内、ネットワーク間に存在してもよく、様々な独自のプロトコル（通信手段）でデータ交換を行う一般的なソフトウェア技術である。また、ＣＡＤ部２０ａのライブラリとは、複数のソフトウェアで使用可能な汎用性のある関数やデータの集まりのことで、一般的なソフトウェア技術である。
【００４２】
ロボット教示部２０ｃは、外部から前述のＤＬＬ又はＩＰＣで、仮想空間内での各仮想モデルを動作することができる。また、実機ロボットのティーチングペントと同等の操作機能とＵＩ(User Interface)を装備し、仮想ティーチペンダント３６として、モニタ１４にＧＵＩ（Graphical User Interface)で表示されるため、作業性がよい。
【００４３】
仮想ティーチペンダント３６は、通常の実機用ティーチペンダント（図示せず）と同等の機能を有しており、仮想ロボット３２の各軸の定義と入出力の割付が可能であり、仮想教示点の登録と編集のみならず、入出力命令と加工命令等の特殊インストラクション（特殊命令）の登録と編集も可能である。仮想ティーチペンダント３６のＪＯＧ操作では仮想ロボット３２の動作座標系（各軸パルス、各軸角度、ベース座標、ツール座標、作業座標、外部軸等）を適宜変更しながら、仮想ロボット３２を動作させて、仮想教示点における移動命令（直線補間、円弧補間）の編集作業ができる。ここで、ＪＯＧ操作とは、仮想ティーチペンダント３６におけるカーソルボタン等を押し続けている間、所定の動作を低速で継続的に行うことのできる操作であり、例えば仮想ツール３３を所定方向に一定の速度で移動させることができる。
【００４４】
ＪＯＧ操作でのＪＯＧ編集作業が完了した後、手動運転でＪＯＧ送り動作をして動作確認をした後、自動運転に切り替えて仮想ロボット３２を動作させ、単体シミュレート（選択された１つの仮想ロボット３２のシミュレート）、複合シミュレート（複数の仮想ロボット３２の同時シミュレート）等の確認を順次行う。
【００４５】
仮想ティーチペンダント３６は、各仮想ロボット３２に対して１つ存在し、ロボットリスト３８のロボット名称（つまり、「Ｌ１」、「Ｌ２」、「Ｒ１」又は「Ｒ２」と表示されたボタン）をクリックすると、対応する仮想ティーチペンダント３６が画面の下部に並んで表示される。これにより、各仮想ロボット３２のインストラクションの実行を、仮想ティーチペンダント３６の表示を見ながら簡便に確認することができる。
【００４６】
さらに、仮想空間での利点を生かし、単体シミュレートと複合シミュレートでは、シミュレートの停止及び再開が自在である。また、仮想モデル同士の干渉とクリアランスの確認、仮想設備３４のサイクルタイムの算出、仮想ロボット３２の各軸の位置情報、入出力情報等をモニタリングすることが可能であるため作業効率が向上する。
【００４７】
ロボット姿勢算出部２０ｂから、仮想ロボット３２の姿勢データ又はエラーデータがロボット教示部２０ｃに送信されることで、仮想教示点において仮想ロボット３２は動作する。この際、仮想ロボット３２が仮想設備３４や車両３０等に対して干渉する場合には、ロボット教示部２０ｃは、ＤＬＬ又はＩＰＣによりＣＡＤデータ２２を直接的に参照及び使用可能であることから、３次元の仮想モデルの形状データを利用して高精度な干渉確認を行うことができる。
【００４８】
図２に示すように、干渉確認ダイアログボックス４０には、干渉タイプコンボボックス４０ａと、仮想ロボットリスト４０ｂと、干渉確認チェックボックス４０ｃと、クリアランス設定エディタ４０ｄと、干渉対象リスト４０ｅと、干渉結果ボタン４０ｆと、クローズボタン４０ｇとを有する。
【００４９】
干渉タイプは、干渉タイプコンボボックス４０ａで設定し、仮想ロボットリスト４０ｂから仮想ロボット３２を選択すると、その仮想ロボット３２に対応する干渉対象リスト４０ｅが表示される。干渉タイプは「干渉」、「接触」及び「クリアランス」に分けられて干渉エラーの確認を行う。「干渉」は仮想モデルに食い込む場合で、「接触」は仮想モデルに触れる場合で、「クリアランス」は所定のクリアランスを設定しておき、そのクリアランス内に進入した場合である。
【００５０】
干渉対象リスト４０ｅから干渉対象をチェック選択し干渉確認チェックボックス４０ｃのオン又はオフにより、干渉確認の実行を決定する。干渉確認チェックボックス４０ｃがオンの場合は干渉確認が実行され、干渉結果ダイアログボックス４２の干渉結果を確認できる。干渉確認チェックボックス４０ｃがオフの場合は干渉確認は実行されない。干渉結果ダイアログボックス４２は、干渉結果ボタンをクリックすることで表示される。
【００５１】
図３に示すように、干渉結果ダイアログボックス４２は、確認欄４２ａと、クローズボタン４２ｂとを有する。確認欄４２ａは、干渉時間コラム４３ａ、仮想ロボットコラム４３ｂ、干渉対象コラム４３ｃ、干渉タイプコラム４３ｄ、干渉距離コラム４３ｅから構成されており、干渉の発生毎に横１列が対応して干渉に関する情報が表示される。例えば、図３に示す確認欄４２ａで一番上の列では、干渉発生時間が開始時から２４．２０ｓｅｃで、干渉を発生したのはＬ１に対応する仮想ロボット３２であり、干渉対象はＬ２に対応する仮想ロボットである。また、干渉タイプは「干渉」であり、その食い込み量は６．１０ｍｍであることを示している。
【００５２】
図４に示すように、教示支援ダイアログボックス４４は、仮想教示支援ラインリスト４４ａと、仮想教示点間隔チェックボックス４４ｂと、コンボボックス（教示点間隔設定手段）４４ｃと、スピンボタン（教示点間隔設定手段）４４ｄと、単位チェックボックス４４ｅと、スライダ（変位指定手段）４４ｆと、逐次変換チェックボックス４４ｇと、クローズボタン４４ｈとを有する。
【００５３】
仮想教示支援ラインリスト４４ａは、予め作成された複数の仮想教示支援ラインＧＬから１つを選択するためのリストである。
【００５４】
ここで、仮想教示支援ラインＧＬは、各仮想ロボット３２の動作の教示における仮想ツール３３の動作経路の基礎とするために、ＣＡＤ部２０ａによって車両３０の形状データの稜線を利用して生成されるものである。仮想教示支援ラインＧＬは、直線、折れ線、曲線又はこれらの結合ラインとして作成され、仮想空間上の面データ上、空間の点間の任意の箇所に作成すればよい。仮想教示支援ラインＧＬは、車両３０のワークモデルに登録される。
【００５５】
仮想教示点間隔チェックボックス４４ｂは、コンボボックス４４ｃ又はスピンボタン４４ｄのいずれか一方を有効にするためのチェックボックスである。コンボボックス４４ｃは予め用意された複数の距離から１つを選んで仮想教示点間隔を設定するためのものである。スピンボタン４４ｄはキー入力又は矢印マークのクリックにより仮想教示点間隔を任意の値に設定するためのものである。
【００５６】
スライダ４４ｆは、仮想教示支援ラインＧＬに対応して設けられた横長のレール４５ａと、該レール４５ａ上を始点から終点まで移動可能に設けられたノブ４５ｂとを有する。ノブ４５ｂはマウス１８のドラッグ操作、マウス１８のスクローラやトラックボール等の操作、又はキーボード１６のカーソルキー操作等により移動可能である。ノブ４５ｂのドラッグ操作は、マウス１８による操作に限らずタッチペン等の他のポインティングデバイス（モニタ上の位置を指示可能なもの）によって行ってもよい。スライダ４４ｆは、モニタ１４に表示されるソフトウェア機能によるものに限らず、例えば抵抗式のボリューム（リニア型、回転型）等で置き換えてもよい。つまり、スライダ４４ｆは操作者によって任意且つ連続的に変位指定可能なもの（変位指定手段）に置きかえ可能である。
【００５７】
単位チェックボックス４４ｅは、スライダ４４ｆの両端に表示される長さの単位を「％」及び「ｍｍ」から選択するためのものである。
【００５８】
スライダ４４ｆの左端に表示される「０％」又は「０ｍｍ」は仮想教示支援ラインＧＬの始点に対応し、右端に表示される「１００％」又は「Ｘｍｍ」（「Ｘ」は設定された仮想教示支援ラインＧＬの長さ）は終点に対応する。
【００５９】
逐次変換チェックボックス４４ｇは、座標の変換を全ての仮想教示点に対して行うことを指定するチェックボックスである。
【００６０】
次に、このように構成されるロボット教示用ＣＡＤ装置１０を用いたロボット教示方法について図５〜図１１を参照しながら説明する。ロボット教示用ＣＡＤ装置１０を用いたロボット教示方法は、仮想ティーチペンダント３６を用いた手動設定及び所定の手動支援設定（又は半自動設定）のいずれか一方を選択的に用いて行われる。このうち先ず、手動設定について説明する。
【００６１】
図５のステップＳ１において、ロボット教示部２０ｃのロボットリスト３８から、所望のロボット名称をクリックして仮想ロボット３２の１つを指定すると、対応する仮想ティーチペンダント３６が表示される。仮想ティーチペンダント３６は、各仮想ロボット３２に対して独立的に表示される。
【００６２】
ステップＳ２において、操作者の目視判断により、仮想教示点に向けてＪＯＧ操作又は数値入力により仮想ロボット３２を操作する。例えば、仮想ツール３３がＸ３軸（図９参照）方向に設定された一定速度で動作するように仮想ロボット３２の操作を行う。このステップＳ２の作業は、実機ロボットを実ペンダントで教示する場合と同様に行うことができる。
【００６３】
ステップＳ３において、ロボット姿勢算出部２０ｂにより、仮想ロボット３２の操作中の仮想ツール３３の位置と姿勢から、仮想ロボット３２の姿勢データを生成する。姿勢データについて、仮想ロボット３２が到達不可能であったり特異点姿勢等の姿勢エラーがなければ、仮想ロボット３２の姿勢データをロボット教示部２０ｃに送信する。姿勢エラーがある場合には、エラーをロボット教示部２０ｃに送信する。
【００６４】
ステップＳ４において、姿勢エラーの有無を確認し、姿勢エラーがある場合にはステップＳ２へ戻る。
【００６５】
ステップＳ５において、干渉エラーの有無を確認し、干渉エラーがある場合にはステップＳ２へ戻る。
【００６６】
ステップＳ６において、ＪＯＧ操作又は数値入力が終了であれば、ステップＳ７に進む。また、ＪＯＧ操作又は数値入力が継続中であればステップＳ３へ戻る。
【００６７】
ステップＳ７において、姿勢エラーと干渉エラーがなければ、その位置、及び仮想教示座標ＣＴ（ツール座標又はＴＣＰとも呼ばれる。）を仮想教示点の情報として登録する。また、仮想教示点の情報を登録する際、仮想教示点に仮想ロボット３２の移動速度、移動速度単位（ｍｍ、％）、補間タイプも同時に設定して登録する。
【００６８】
ステップＳ８において、他に仮想教示点を登録する必要がある場合には、再度ステップＳ２に戻り、同様にしてｎ個の仮想教示点を登録する。また、他に仮想教示点を登録する必要がない場合には教示を終了して、教示データ２６として保存する。
【００６９】
仮想ロボット３２のｎ個の仮想教示点の登録が終了した後、手動運転のＪＯＧ送り動作、自動運転の単体シミュレート、複合シミュレートを順次行いながら動作検証を実行し、動作検証の終了後に教示データ２６として保存する。
【００７０】
教示データ２６は、仮想ティーチペンダント３６ごとのファイルとして保存される。実機ロボットの制御をするロボットコントローラにダウンロードする場合には、教示データ２６をロボットコントローラが読み込める形式にファイル変換し、ＰＣカード２８又は通信により、ロボットコントローラにダウンロードする。
【００７１】
また、仮想教示点は、車両３０のワークモデルに追加されて保存するため、モニタ１４には登録された仮想教示点が表示されたまま残る。このため、操作者は簡便に仮想教示点の位置を認識することができる。さらに、操作者が仮想教示点を選択することにより仮想ロボット３２をその位置に姿勢変更させたり、仮想教示点の一覧を表示することも可能である。
【００７２】
なお、図５に示す処理のうち、ステップＳ３はロボット姿勢算出部２０ｂによって行われ、それ以外はロボット教示部２０ｃによって行われる。
【００７３】
次に、ロボット教示用ＣＡＤ装置１０を用いたロボット教示方法のうち、手動支援設定による教示について説明する。
【００７４】
図６のステップＳ１００において、ＣＡＤ部２０ａにより車両３０の形状データの稜線を利用して、仮想教示支援ラインＧＬを作成する。
【００７５】
ステップＳ１０１において、ロボット教示部２０ｃのロボットリスト３８から、所望のロボット名称をクリックして仮想ロボット３２を指定すると、対応する仮想ティーチペンダント３６が表示される。このステップＳ１０１の処理は、前記のステップＳ１の処理と同様である。
【００７６】
なお、手動支援設定においては、仮想ティーチペンダント３６は所定の修正（ステップＳ１１４）で補助的に用いられるのであって、修正等が不要である場合には必ずしも表示させなくてもよい。
【００７７】
ステップＳ１０２において、ステップＳ１００で作成された複数の仮想教示支援ラインＧＬから１つを、教示支援ダイアログボックス４４（図４参照）の仮想教示支援ラインリスト４４ａで指定する。
【００７８】
ステップＳ１０３（座標設定手段）において、仮想教示支援ラインＧＬの始点に自動的に仮想教示座標ＣＴの自動生成を行う。このステップＳ１０３の処理は図７に示すサブルーチンで行われる。
【００７９】
図７に示すように、サブルーチンでは、先ずステップＳ２００において、仮想教示座標ＣＴが面データ上に設けられているか否かを判断する。仮想教示座標ＣＴが面データ上に設けられていると判断された場合にはステップＳ２０５へ移り、始点が稜線等のラインデータ上にあると判断された場合にはステップＳ２０１へ移る。
【００８０】
ステップＳ２０１において、図８Ａに示すように、ワーク座標ＣＷ（図１１参照）を並進した仮想教示座標ＣＴを仮想教示支援ラインＧＬの始点Ｓに作成する。
【００８１】
ステップＳ２０２において、仮想教示支援ラインＧＬの接線ＴＬの終点からＸＹ平面に対して投影した位置Ｐを設定する。
【００８２】
ステップＳ２０３において、図８Ｂに示すように、Ｘ軸が位置Ｐに合うまでＺ軸をθ１だけ回転させる。この回転後のＸ軸、Ｙ軸及びＺ軸をＸ２軸、Ｙ２軸及びＺ２軸とする。
【００８３】
ステップＳ２０４において、図８Ｃに示すように、Ｘ２軸が接線ＴＬに合うまでＹ２軸をθ２だけ回転させて仮想教示座標ＣＴを生成する。この回転後のＸ２、Ｙ２軸及びＺ２軸をＸ３軸、Ｙ３軸及びＺ３軸とする。
【００８４】
これにより、ワーク座標ＣＷを示すＸ軸、Ｙ軸及びＺ軸が、仮想教示点における仮想教示座標ＣＴとしてのＸ３軸、Ｙ３軸及びＺ３軸に変換されるとともに、このうちＸ３軸が仮想教示支援ラインＧＬの接線ＴＬに沿って設定されたことになる。
【００８５】
なお、Ｘ３軸、Ｙ３軸及びＺ３軸は、例えば、仮想ツール３３として溶接ガンに適用する場合、図９に示すように、電極の先端を基準のＴＣＰ（Tool Center Point）として、電極の延在逆方向をＺ３軸、アームの側面に平行な方向をＹ３軸、及びこれらに直交する方向をＸ３軸として設定するとよい。すなわち、仮想ツール３３の構造上の特徴的な方向、及び作業の基準となる方向に合わせて、直交する３軸からなる仮想教示座標ＣＴを設定しておくとよい。
【００８６】
一方、ステップＳ２０５（仮想教示座標ＣＴが面データ上に設けられていると判断された場合）においては、面データ上の始点に仮想教示座標ＣＴを生成する。すなわち、図１０に示すように、車両３０の法線方向を仮想教示座標ＣＴのＺ軸方向とし、仮想教示支援ラインＧＬの接線をＸ軸に設定する。この近傍では、車両３０の面はＸＹ平面となる。
【００８７】
ステップＳ２０４又はＳ２０５の後、図７に示すサブルーチンを終了する。
【００８８】
なお、仮想教示座標ＣＴの設定は、はじめに始点Ｓに対して行い、他の仮想教示点については始点Ｓに対して設定した座標を平行に移動して設定する。ただし、逐次変換チェックボックス４４ｇ（図４参照）が指定されているときには、各仮想教示点に対して同様の変換処理を行って設定する。逐次変換チェックボックス４４ｇによる指示をするか否かは、車両３０の形状等によって操作者が判断すればよい。
【００８９】
図６に戻り、ステップＳ１０４において、仮想教示座標ＣＴの向き（Ｒｘ、Ｒｙ、Ｒｚ）の調整（図１０参照）が必要であると判断されると、ステップＳ１０５において、仮想教示座標ＣＴの位置と姿勢を適切に調整し、この調整が完了した後、ステップＳ１０６において仮想教示点を指定する。
【００９０】
ステップＳ１０７において、教示支援ダイアログボックス４４のスライダを０％から１００％の位置までスライドさせる。この際、ステップＳ１０６で指定した仮想教示点は、仮想教示支援ラインＧＬの接線に沿って移動しながら仮想教示点が作成される。また、仮想教示点の間隔は、ステップＳ１０２の教示支援ダイアログボックス４４のコンボボックス４４ｃ又はスピンボタン４４ｄで指定され、自動的に設定される。
【００９１】
ステップＳ１０８において、ノブ４５ｂが仮想教示点に対応する箇所に到達する度にロボット姿勢算出部２０ｂがその仮想教示点における仮想ロボット３２の姿勢を算出し、生成された姿勢データとエラーデータ（干渉エラー、姿勢エラーを含む）がロボット教示部２０ｃに送信される。
【００９２】
つまり、操作者が特に注意して確認したい箇所については、ノブ４５ｂを低速で操作し、又は一時停止させることにより、、モニタ１４上における確認が容易となる。また、必要に応じて、ノブ４５ｂを「０％」の方向に戻して、再確認を行うことができる。さらに、あまり注意を払う必要がない箇所については、ノブ４５ｂを高速で操作することにより、確認時間の短縮を図ることができる。すなわち、スライダ４４ｆを用いることにより、操作者の感覚に応じた操作が可能となり、教示及び確認が容易となる。
【００９３】
ステップＳ１０９において、姿勢エラーの有無を確認し、姿勢エラーがある場合には再度ステップＳ１１３でスライド作業を一時停止する。
【００９４】
ステップＳ１１０において、干渉エラーの有無を確認し、干渉エラーがある場合には再度ステップＳ１１３でスライド作業を一時停止する。
【００９５】
ステップＳ１１１において、姿勢エラーと干渉エラーがなければ、その仮想教示座標ＣＴを仮想教示点として登録する。また、仮想教示点を登録する際、仮想教示点に仮想ロボット３２の移動速度、移動速度単位（ｍｍ、％）、補間タイプも同時に設定して登録する。
【００９６】
ステップＳ１１２において、スライド作業を継続させる必要がある場合には、ステップＳ１０８に戻り、そのままスライダつまみを１００％に向けて移動させる。スライド作業を終了する場合には、図６に示す手動支援教示処理が終了する。
【００９７】
ステップＳ１１３において、スライド作業が一時停止される。
【００９８】
ステップＳ１１４においては、仮想ティーチペンダント３６により、仮想ロボット３２をエラーとならない位置に動作させるため、前記の手動教示で行ったステップＳ２からステップＳ７と同様の作業（手動設定）により、仮想教示座標ＣＴの修正登録を行い、ステップＳ１１２に移る。
【００９９】
このように、図６に示す処理を行うことにより、図１１に示すように、仮想教示支援ラインＧＬ、仮想ワークである車両３０、仮想ロボット３２及び各座標等がモニタ１４の画面上に表示され、操作者によって確認される。
【０１００】
具体的には、ＣＡＤ部２０ａで設定される仮想空間内の基準となる絶対座標ＣＯと、車両３０のうち仮想ロボット３２によって作業が行われる部分３０ａと、該部分３０ａの基準となるワーク座標ＣＷと、仮想ロボット３２及びその原点の座標ＣＲと、仮想教示支援ラインＧＬ及びその上に所定間隔で設定された仮想教示点Ｔ１、Ｔ２、Ｔ３…Ｔｎ、これらの仮想教示点上に設けられた仮想教示座標ＣＴ等がモニタ１４の画面上に表示される。仮想教示点Ｔ１は図８Ａ〜図８Ｃ又は図１０の始点Ｓに相当し、仮想教示点Ｔｎは終点に相当する。
【０１０１】
また、スライダ４４ｆ（図４参照）や仮想ティーチペンダント３６をモニタ１４の画面上に表示させてマウス１８等で操作をすることにより、仮想ロボット３２はこの操作に連動して動作し、操作者は視覚的に、又は数値（例えば、干渉結果ダイアログボックス４２の表示）により簡便に動作の適否を判断することができる。
【０１０２】
なお、図６に示す処理のうち、ステップＳ１００はＣＡＤ部２０ａによって行われ、ステップＳ１０８はロボット姿勢算出部２０ｂによって行われ、それ以外はロボット教示部２０ｃによって行われる。
【０１０３】
上述したように、本実施の形態に係るロボット教示用ＣＡＤ装置１０及びロボット教示方法によれば、ＣＡＤ部２０ａにアクセスすることが可能なロボット教示部２０ｃにより、ＣＡＤ部２０ａから供給される車両３０の情報に基づいて仮想教示点に関する先端情報を設定するので、車両３０の情報をデータ変換することなくそのまま利用が可能であり、車両３０に対するティーチング精度を向上させるとともに、オフラインティーチングを迅速に行うことができる。特に、従来、専用のオフラインティーチングシステムに移す場合には数時間のデータ変換時間を要していたが、ロボット教示用ＣＡＤ装置１０ではこのデータ変換時間が不要であり、トータルのティーチング時間が短い。
【０１０４】
また、ＣＡＤシステムとオフラインティーチングシステムを集約することができ、簡便かつ低廉な装置が構成可能である。
【０１０５】
さらに、仮想教示支援ラインＧＬに対応して変位指定手段により変位指定をしながら、変位指定が仮想教示点に対応する箇所に到達したときに、仮想ロボット３２の姿勢を演算すると、操作者の感覚に応じた操作が可能となり、教示及び確認が容易である。
【０１０６】
さらにまた、車両３０及び仮想ロボット３２をＣＡＤのデータ形式のままモニタ１４に表示し、座標変換をし、又は干渉確認をすると、データ変換に伴う精度の低下がなく、しかも簡便且つ迅速な教示が可能になる。また、仮想ティーチペンダント３６による教示は、従来の実際のティーチペンダントと同様の操作であり、習熟が容易で簡便な教示が可能である。
【０１０７】
本発明に係るロボット教示用ＣＡＤ装置及びロボット教示方法は、上述の実施の形態に限らず、本発明の要旨を逸脱することなく、種々の構成乃至工程を採り得ることはもちろんである。
【図面の簡単な説明】
【０１０８】
【図１】本実施の形態に係るロボット教示用ＣＡＤ装置のブロック構成図である。
【図２】干渉確認ダイアログボックスを示す図である。
【図３】干渉結果ダイアログボックスを示す図である。
【図４】教示支援ダイアログボックスを示す図である。
【図５】ティーチペンダントを用いた手動設定による教示方法の手順を示すフローチャートである。
【図６】手動支援設定による教示方法の手順を示すフローチャートである。
【図７】仮想教示座標の自動生成のサブルーチンの手順を示すフローチャートである。
【図８】図８Ａは、ワーク座標を並進した仮想教示座標を仮想教示支援ラインの始点に設定した状態を示す説明図であり、図８Ｂは、Ｘ軸が仮想教示支援ラインの接線をＸＹ平面に射影した位置まで回転させた状態を示す説明図であり、図８Ｃは、Ｘ２軸が仮想教示支援ラインの接線に合うまで回転させた状態を示す説明図である。
【図９】ツールと仮想教示座標とを示す説明図である。
【図１０】ワーク面上に仮想教示座標を設定した状態を示す説明図である。
【図１１】仮想教示支援ライン上の仮想教示点に対して教示及び確認をするためにモニタ画面上に表示される仮想ワーク、仮想ロボット及び各座標を示す図である。
【符号の説明】
【０１０９】
１０…ロボット教示用ＣＡＤ装置        １２…コンピュータ本体
１４…モニタ                          １６…キーボード
１８…マウス                          ２０…ＣＡＤソフトウェア
２０ａ…ＣＡＤ部                      ２０ｂ…ロボット姿勢算出部
２０ｃ…ロボット教示部                ２２…ＣＡＤデータ
３０…車両                            ３２、３２ａ〜３２ｄ…仮想ロボット
３３…仮想ツール                      ３４…仮想設備
３６、３６ａ〜３６ｄ…仮想ティーチペンダント
４０…干渉確認ダイアログボックス      ４２…干渉結果ダイアログボックス
４４…教示支援ダイアログボックス
【図１】
2008033419.tif 000003
【図２】
2008033419.tif 000004
【図３】
2008033419.tif 000005
【図４】
2008033419.tif 000006
【図５】
2008033419.tif 000007
【図６】
2008033419.tif 000008
【図７】
2008033419.tif 000009
【図８】
2008033419.tif 000010
【図９】
2008033419.tif 000011
【図１０】
2008033419.tif 000012
【図１１】
2008033419.tif 000013