(57)【要約】【課題】自由な教示操作によりロボット教示データの変更や編集が可能で、終了時にロボットを回避モードに入る前の元の軌道に自動的に復帰させることが回避モードを提供する。【解決手段】制御装置２０１は、ティーチングペンダント１０１の回避スイッチ１１１の操作に応じて、回避モードをＯＮ／ＯＦＦする。同スイッチの回避モードがＯＮとされると、回避モードが有効化される前のロボットの基準部位の軌道に対応する軌道制御情報をＪＯＧベクトル方向記憶部２１５に記憶させる。回避モードＯＮの間は、ティーチングペンダント１０１の手動操作に応じて回避動作を行わせる。上記スイッチにより回避モードがＯＦＦとされると、上記基準部位を、現在位置からＪＯＧベクトル方向記憶部２１５に記憶された軌道制御情報に対応する回避モードが有効化される前の軌道に復帰させる復帰制御情報を生成する。【選択図】図３
2016185586.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームの基準部位の軌道を制御するロボット制御を実行する制御装置と、前記ロボットアームの基準部位の軌道を制御する制御情報を入力するロボット操作装置と、を備えたロボット装置の制御方法において、
前記制御装置が、前記ロボット操作装置に配置された回避モード操作部の操作に応じて、前記ロボットアームの前記基準部位の軌道を変更する回避モードを有効化または無効化するモード制御行程と、
前記制御装置が、前記回避モードが有効化された時、前記回避モードが有効化される前の前記基準部位の軌道に対応する軌道制御情報を軌道記憶部に記憶させる記憶行程と、
前記制御装置が、前記回避モードが有効化されている間、前記ロボット操作装置からの入力に基づき、前記ロボットアームに前記基準部位の軌道を変更する回避動作を行わせる回避制御行程と、
前記制御装置が、前記回避モードが無効化された時、前記ロボットアームの前記基準部位を、前記基準部位の現在位置から前記軌道記憶部に記憶された軌道制御情報に対応する前記回避モードが有効化される前の軌道に復帰させる復帰制御情報を生成する生成行程と、
を備えたことを特徴とするロボット装置の制御方法。
【請求項２】
請求項１に記載のロボット装置の制御方法において、前記制御装置が、前記生成行程で生成された前記復帰制御情報に基づき、前記ロボットアームの前記基準部位を現在位置から前記前記回避モードが有効化される前の前記基準部位の軌道に復帰させる復帰制御行程を含むことを特徴とするロボット装置の制御方法。
【請求項３】
請求項１または２に記載のロボット装置の制御方法において、前記回避制御行程における回避動作の間、前記制御装置は、前記ロボット操作装置からの入力に基づき、前記ロボットアームの前記基準部位の位置姿勢に対応する教示点を教示点記憶部に記憶させることを特徴とするロボット装置の制御方法。
【請求項４】
請求項１から３のいずれか１項に記載のロボット装置の制御方法において、前記生成行程において、前記制御装置は、前記ロボットアームの前記基準部位を、その現在位置から最短距離で、前記回避モードが有効化される前の軌道に復帰させるための前記復帰制御情報を生成することを特徴とするロボット装置の制御方法。
【請求項５】
請求項１から４のいずれか１項に記載のロボット装置の制御方法において、前記生成行程において、前記制御装置は、前記ロボットアームの前記基準部位を、その現在位置から前記回避モードが有効化される前の軌道に復帰させるための前記復帰制御情報として、前記現在位置を含む鉛直面内を通り、前記回避モードが有効化される前の軌道上の１点に向かう復帰軌道を生成することを特徴とするロボット装置の制御方法。
【請求項６】
請求項１から５のいずれか１項に記載の各行程を前記制御装置に実行させることを特徴とするロボット装置の制御プログラム。
【請求項７】
請求項６に記載のロボット装置の制御プログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項８】
ロボットアームの基準部位の軌道を制御するロボット制御を実行する制御装置と、
前記ロボットアームの基準部位の軌道を制御する制御情報を入力するロボット操作装置と、
前記ロボット操作装置に配置された回避モード操作部と、
前記回避モードが有効化される前の前記基準部位の軌道に対応する軌道制御情報を記憶する軌道記憶部と、
を備え、前記制御装置は、
前記回避モード操作部の操作に応じて前記ロボットアームの前記基準部位の軌道を変更する回避モードを有効化または無効化し、
前記回避モード操作部により前記回避モードが有効化された時は、前記軌道記憶部に前記回避モードが有効化される前の前記基準部位の軌道に対応する軌道制御情報を記憶させ、
前記回避モードが有効化されている間、前記ロボット操作装置からの入力に基づき、前記ロボットアームに前記基準部位の軌道を変更する回避動作を行わせ、
前記回避モードが無効化された時は、前記ロボットアームの前記基準部位を、前記基準部位の現在位置から前記軌道記憶部に記憶された前記軌道制御情報に対応する前記回避モードが有効化される前の軌道に復帰させる復帰制御情報を生成する、
ロボット制御を実行することを特徴とするロボット装置。
【請求項９】
請求項８に記載のロボット装置において、前記制御装置は、生成された前記復帰制御情報に基づき、前記ロボットアームの前記基準部位を現在位置から前記前記回避モードが有効化される前の前記基準部位の軌道に復帰させるロボット制御を実行することを特徴とするロボット装置。
【請求項１０】
請求項８または９に記載のロボット装置において、前記回避動作の間、前記制御装置は、前記ロボット操作装置からの入力に基づき、前記ロボットアームの前記基準部位の位置姿勢に対応する教示点を教示点記憶部に記憶させることを特徴とするロボット装置。
【請求項１１】
請求項８から１０のいずれか１項に記載のロボット装置において、前記制御装置は、前記ロボットアームの前記基準部位を、その現在位置から最短距離で、前記回避モードが有効化される前の軌道に復帰させるための前記復帰制御情報を生成することを特徴とするロボット装置。
【請求項１２】
請求項８から１１のいずれか１項に記載のロボット装置において、前記制御装置は、前記ロボットアームの前記基準部位を、その現在位置から前記回避モードが有効化される前の軌道に復帰させるための前記復帰制御情報として、前記現在位置を含む鉛直面内を通り、前記回避モードが有効化される前の軌道上の１点に向かう復帰軌道を生成することを特徴とするロボット装置。
【請求項１３】
請求項８から１２のいずれか１項に記載の回避モード操作部を備えたことを特徴とするロボット操作装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームの基準部位の軌道を制御する制御情報を入力するロボット操作装置を備えたロボット装置の制御方法、ロボット装置、および前記のロボット操作装置に関するものである。
【背景技術】
【０００２】
産業用などの用途のロボット装置には、設置された生産現場において、実際にロボットアームに動作を行わせながらロボット動作を教示するロボット操作装置を備えたものがある。このようなロボット操作装置（教示装置）は、ティーチングペンダントと呼ばれるものがある。ティーチングペンダントには、ロボットアームの各関節の角度、あるいはアーム先端の基準位置の位置、姿勢などを制御するためのボタンやスイッチ操作手段が設けられる。作業者は、ロボット装置の設置現場において、ティーチングペンダントのこれらの操作手段を介して実際にロボットアームを動作させ、ロボット制御データとしての教示点をロボット制御装置に記憶させることができる。
【０００３】
この種のロボット装置において、部品の組み付けや挿入動作を教示する場合、教示点〜教示点の間を直線補間で結ぶような軌道（経路）を生成することが行われる。例えば、その部品の移動方向に応じて、垂直上下（Ｚ軸）方向、または水平（ＸまたはＹ軸）方向に直線補間を行うことによって軌道が生成される。このような教示操作を繰り返して、ロボット装置に組付けや加工動作に係る動作点を教示することができる。
【０００４】
一方、ロボット装置が設置された生産現場では、後から治具やユニットが設置されたりすることがある。このような作業工程の変更は、工程の追加や、製造物の仕様変更などに応じてしばしば発生し、これによって例えば、記憶させたロボット制御データ中の軌道を変更する必要が生じる。
【０００５】
上記のような作業工程の変更によって、対象物の組付け位置にアプローチする軌道の一部にロボットアームと干渉する障害物が配置される場合がある。この場合には、ティーチングペンダントを用いて、例えばその軌道の途中に教示点を追加し、障害物を回避できるような軌道に変更する作業が必要となる。
【０００６】
通常、部品を組付け位置に対して、組付けまたは挿入する場合、部品が組付け位置に対してアプローチする移動方向が一定になるように制御する。余程大きな寸法の余裕がある場合を除き、この組付け位置に向かう軌道は変更することができない。当然、上記のような変更作業を行っても、部品の組付け位置にアプローチする最後の軌道のベクトルは、変更前と同じでなければならない。
【０００７】
ところが、従来のティーチングペンダントのようなロボット操作装置では、手動操作によって、ある教示点から次の教示点へと教示点を順次、直列的に指定し、その間の動作を直線補間するような制御を基本としている。例えば、組付け位置にアプローチする１つの軌道の途中に障害物を回避するための軌道を追加するには、その経路を構成する全ての教示点を手動操作により追加する作業が必要となる。また、組付け位置にアプローチする最後の経路も、そのベクトルの方向が、変更作業前と一致するように教示しなければならないが、この操作も、従来は例えばティーチングペンダントを用いた手動操作によって再度行わなければならない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平６−１０２９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来、ロボットの教示作業において、ある教示点から次の教示点までの軌道（経路）の途中に障害物がある場合は、ティーチングペンダントの手動操作によって障害物を回避する経路を構成する教示点（回避点）を逐一教示しなければならなかった。このような回避教示を行った後、組付け位置へアプローチするなどの必要があり、ロボットを元の軌道に戻すのも、従来では全てティーチングペンダントの手動操作が必要で、作業者の多大な労力が必要であった。特に、教示点データが既に存在し、その経路の一部を回避軌道に変更するような作業では、問題なく利用できていた回避前の軌道があっても、その軌道への復帰には全て手動の教示操作が必要であった。
【００１０】
例えば、ワーク挿入上空から挿入位置までの間に障害物が発生した場合は、ティーチングペンダントの操作を繰り返して回避動作を教示した後に、元のベクトルに整合するように細かなジョグ操作を行い、位置調整を行う必要があった。なお、この「ジョグ操作」は、例えば１キーの連続押下に応じてキーに設定された方向へ、例えばロボットの基準点（基準部位）を移動させる操作を意味する（以下では、上記の用語「ジョグ」に関しては「ＪＯＧ」の表記も用いる）。
【００１１】
そして、この時、位置調整を誤れば、当然ながら部品やロボットと、他のワークや障害物の干渉などを生じる可能性がある。上記のような事情によって、従来ではこの種の回避教示に多大な時間と労力が必要であった。
【００１２】
そこで、特定の回避教示（操作）を行う場合、特定のモード、例えば回避モードを指定できるようにすることが考えられる。そしてこの回避モードにおいては、例えば手動操作による回避軌道の教示を可能とし、回避モードの無効化ないし終了に応じて、回避モードに入る前の元の軌道に復帰させることができれば便利であろう、と考えられる。
【００１３】
ところが、従来では、上記の回避モードのように例外的な教示モードに入り、その後、回避モードに入る前の元の軌道に自動的に復帰させる技術は、知られていない。例えば、上記特許文献１には、作業空間における障害物の出現等の回避方法として、基準位置への回避方法が開示されている。この技術は、予め設定した基準位置に他部材との干渉などの問題なく復帰する経路によって基準位置へ戻るためのものであって、基準位置に復帰することしかできず、例えばある特定の元の軌道に復帰することはできなかった。
【００１４】
本発明の課題は、上記に鑑み、例えばロボットの教示データの変更や編集などに利用できる例外モードとして、回避モードを利用できるようにすることにある。この回避モードにおいては、自由な教示操作により教示データの変更や編集が可能で、回避モード終了時にロボットを回避モードに入る前の元の軌道に自動的に復帰させることができるようにする。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、本発明においては、ロボットアームの基準部位の軌道を制御するロボット制御を実行する制御装置と、前記ロボットアームの基準部位の軌道を制御する制御情報を入力するロボット操作装置と、を備えたロボット装置、ないしその制御方法において、前記制御装置は、前記ロボット操作装置に配置された回避モード操作部の操作に応じて、前記ロボットアームの前記基準部位の軌道を変更する回避モードを有効化または無効化し、前記回避モードが有効化された時、前記回避モードが有効化される前の前記基準部位の軌道に対応する軌道制御情報を軌道記憶部に記憶させ、前記回避モードが有効化されている間は、前記ロボット操作装置からの入力に基づき、前記ロボットアームに前記基準部位の軌道を変更する回避動作を行わせ、前記回避モードが無効化された時は、前記ロボットアームの前記基準部位を、前記基準部位の現在位置から前記軌道記憶部に記憶された軌道制御情報に対応する前記回避モードが有効化される前の軌道に復帰させる復帰制御情報を生成する構成を採用した。
【発明の効果】
【００１６】
上記の特徴的な構成によって、本発明によれば、回避モード操作部の操作により、例えばロボットの教示データの変更や編集などに利用できる例外モードとして利用できる回避モードを設定ないし解除することができる。そして、回避モードが有効な状態では、自由な教示操作により教示データの変更や編集が可能であり、しかも回避モード終了時にはロボットを回避モードに入る前の元の軌道に自動的に復帰させることができる。本発明の回避モードは、障害物の回避動作を追加するような場面で利用でき、特に面倒な手動操作が必要であった元の軌道への復帰を自動的に行うことができ、作業者の負担を大きく軽減し、作業時間を著しく短縮できる、という優れた効果がある。
【図面の簡単な説明】
【００１７】
【図１】本発明を採用したロボット装置の回避スイッチを備えたティーチングペンダントの正面図である。
【図２】本発明を採用したロボット装置の構成を示した説明図である。
【図３】本発明を採用したロボット装置における制御系の構成を示した説明図である。
【図４】本発明を採用したロボット装置において、軌道上に障害物が設置された状態を示した説明図である。
【図５】本発明を採用したロボット装置において、特定の教示点から障害物近くまでジョグ移動させた経路を示した説明図である。
【図６】本発明を採用したロボット装置において、手動のジョグ操作により障害物を回避させる経路を示した説明図である。
【図７】本発明を採用したロボット装置において、回避前のジョグベクトル方向上に移動する経路を示した説明図である。
【図８】本発明を採用したロボット装置において、特定の目標点へ向けてジョグ動作を再開した状態を示した説明図である。
【図９】本発明を採用したロボット装置における障害物の回避制御の流れを示したフローチャート図である。
【図１０】回避モードが有効となった時のロボット制御手順を示したフローチャート図である。
【図１１】回避モードが無効となった時のロボット制御手順を示したフローチャート図である。
【発明を実施するための形態】
【００１８】
以下、添付図面に示す実施例を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、以下の説明で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【実施例】
【００１９】
図１〜図３に本発明を採用したロボット装置１００の一実施例を示す。図２は本実施例のロボット装置１００の全体構成を、図１は本ロボット装置１００で用いられるティーチングペンダント１０１の構成を示している。また、図３は本ロボット装置１００の制御系の構成を示している。
【００２０】
図２において、ロボット操作装置としてのティーチングペンダント１０１はケーブルにより制御装置２０１（ロボット制御装置）に接続されており、制御装置２０１に対して教示コマンドにより指示を行う。制御装置２０１は、ティーチングペンダント１０１で行われる教示操作に応じてロボットアーム３０１の動作を制御する。
【００２１】
ロボットアーム３０１は、例えば図示のような垂直多関節型のロボットアームで、アーム先端には、ワークＷを操作するためのエンドエフェクタとしてハンド４０１が装着されている。ロボットアーム３０１は、ケーブルにより制御装置２０１に接続されている。
【００２２】
ティーチングペンダント１０１の教示操作に応じて、制御装置２０１はロボットアーム３０１の各部の関節やハンド４０１の動作を制御する。これにより、例えば、図２中の矢印に示すような軌道（経路、軌跡）で、ハンド４０１によりワークＷを把持して、教示点Ａから教示点Ｂまで移動させることができる。なお、このようなロボット制御において、教示点Ａや教示点Ｂに位置させるロボット装置１００の基準点（基準部位）は、ロボットアーム３０１の先端部の任意の場所に設定されていてよい。例えば、このような基準点（基準部位）として、ハンド４０１の装着面（フランジ面）の中心や、ハンド４０１の把持中心など任意の部位（の位置）を用いることができる。なお、以下、本実施例では、ロボットの基準点は、例えばハンド４０１の把持中心（ほぼワークＷの中心に一致する）であるものとする。
【００２３】
ティーチングペンダント１０１の操作面は例えば図１に示すように構成される。ロボットアーム３０１の上記基準点を移動させるべき動作ポイントとしての教示点を教示するために用いられる。また、ティーチングペンダント１０１は、ロボットアーム３０１の各関節の角度を指定するような操作方式で、アーム各部の位置、姿勢を所望に制御するような操作方式で用いられる場合もある。
【００２４】
図１のティーチングペンダント１０１は、座標軸（Ｘ＋、Ｘ−、Ｙ＋、Ｙ−、Ｚ＋、Ｚ−）に沿う正逆方向の移動、および座標軸廻り（ＲＸ＋、ＲＸ−、ＲＹ＋、ＲＹ−、ＲＺ＋、ＲＺ−）の正逆方向の回転をそれぞれ指示可能なキー１１４を有している。また、図１のティーチングペンダント１０１には、ロボット装置１００（図２のロボットアーム３０１、ハンド４０１）の動作やプログラム状態に関する諸情報を表示するための表示部１０２を有する。表示部１０２の左上には、緊急時にロボット装置１００の動作を直ちに停止させるための非常停止キー１１３が配置されている。
【００２５】
表示部１０２は、ロボットの現在位置あるいは現在姿勢、ロボット教示時の移動の速度あるいはステップ送り時の移動量、教示済の動作ポイントの位置あるいは姿勢などを含むロボットの動作に関する情報を表示することができる。
【００２６】
なお、表示部１０２は例えば液晶表示器とタッチセンサなどを用いたタッチパネルなどから構成することもできる。その場合、表示部１０２はロボットの動作やプログラム状態に関する情報表示の他、表示上に画成されたタッチキーの操作によって、ロボットの教示操作を行う操作入力手段（の一部）を構成することになる。
【００２７】
表示部１０２のうち、表示領域１０２４は、設定済みの（あるいはこれから設定される）教示点におけるＸ、Ｙ、Ｚの３次元座標値（ないし各軸軸上の移動量）と、該３次元座標軸廻りにおける回転移動の量（ＲＸ、ＲＹ、ＲＺ）の表示に用いることができる。また、表示領域１０２２は、特に現在設定中の教示点、または現在のロボットの状態に対応したＸ、Ｙ、Ｚの３次元座標値（ないし各軸軸上の移動量）と、該３次元座標軸廻りにおける回転移動の量（ＲＸ、ＲＹ、ＲＺ）の表示などに用いられる。上部および下部の表示領域１０２１、１０２５は、例えばファンクション表示として用いられる。これら表示領域１０２１、１０２５に画成される複数のファンクション表示は動作状態に応じて異なる表示に切り換えられる。また、中央の表示領域１０２３は、現在の連続（ＪＯＧ）移動速度（またはステップ操作量など）、ロボットの現在の操作対象部位の表示などに用いられる。また、図１の状態では、表示領域１０２３の右側には、教示点などの登録に用いられる登録キーが表示されている。この登録キーは、例えば後述の教示点の登録（図９ステップＳ１０５、Ｓ１０６）に利用できる。
【００２８】
なお、図１に示した表示部１０２の表示状態はあくまでもロボット装置の状態やティーチングペンダント１０１の特定の操作状態に対応した一例に過ぎない。表示部１０２をタッチパネルなどにより構成する場合には、当然ロボット装置の状態やティーチングペンダント１０１の特定の操作状態に応じて表示部１０２の表示の全部または一部は図１とは異なる状態に制御される場合がある。これら表示部１０２の表示の様式や、表示部１０２がタッチパネルなどにより構成される場合の操作方式に関しては当業者が任意に変更可能な設計事項である。
【００２９】
ティーチングペンダント１０１のキー１１４（キー群）は、正逆２つのキーで構成され、例えばステップ操作やジョグ操作によって操作される。このうち、ステップ操作は、１キーの押下でキーに設定された方向へ、例えばロボットの上記基準点を移動させる。これに対して、ジョグ操作は、１キーの連続押下に応じてキーに設定された方向へ、例えばロボットの上記基準点を移動させるものである。
【００３０】
これらの操作に関して、ロボット基準点の（ステップ）移動量や（ジョグ）移動速度を指定する操作手段は、例えば別途配置したファンクションキー（不図示）によって構成できる。また、これら（ステップ）移動量や（ジョグ）移動速度を指定する操作手段は、例えば表示部１０２とともに配置されたタッチパネル上に配置されるファンクションキーによって構成することもできる。なお、以下の説明では、キー１１４の操作はジョグ操作によって行うものとするが、以下に示す制御および動作はステップ操作による操作方式でも同様に実現できる。
【００３１】
本実施例のティーチングペンダント１０１では、操作面に回避スイッチ１１１を配置している。この回避スイッチ１１１は、オルタネイト（トグル）操作機能を有するスイッチ（ボタン）により構成される。後述の制御装置２０１は、回避スイッチ１１１のＯＮによって、回避モードをＯＮ（有効）状態に制御する。この回避モードのＯＮ（有効）状態から、再度、回避スイッチ１１１が操作されると、制御装置２０１は回避モードを終了させる、即ち、回避モードをＯＦＦ（無効）状態に制御にする。
【００３２】
なお、本実施例では、回避スイッチ１１１は、ティーチングペンダント１０１に配置しているが、ティーチングペンダント１０１以外の場所（例えば制御装置２０１の筐体など）に回避スイッチ１１１を設ける構成であってもよい。
【００３３】
本実施例の回避スイッチ１１１により制御される回避モードを用いた回避教示（操作）は、図４〜図８に示すように利用することができる。例えば図２のＡ点からＢ点にＪＯＧ操作でロボットの移動を行う際、図４のように作業仕様の変更などによって経路の途中に回避すべき障害物５０１が現れた場合、図５〜図８に示すように本実施例の回避モードを利用することができる。
【００３４】
図４は、教示点Ａ−Ｂの軌道上に障害物５０１が設置された状態を示している。図２との比較から明らかなように、教示点Ａ−Ｂの軌道のままロボットの基準点を移動させれば、ロボットアーム３０１、ハンド４０１、あるいはワークＷが障害物５０１と干渉（あるいは衝突）する。
【００３５】
ここで、例えば、教示済みの教示データを編集する場合などにおいては、教示点ＡおよびＢが既に教示済みである。障害物５０１を回避するためには、教示点Ａ−Ｂの軌道（経路）の途中に、障害物５０１を回避するための回避軌道を構成する教示（回避）点を追加する必要がある。この回避軌道は、たとえば図７の軌道６０２、６０３、６０４のように障害物５０１を回避する軌道である。従来では、このような回避軌道（６０２、６０３、６０４）を構成する教示（回避）点の追加（あるいは変更）は、上述のように全て手動でティーチングペンダント１０１を用いた教示操作を繰り返すことにより行われる。
【００３６】
特に、回避教示後、教示点Ｂに向かう軌道（ベクトル）の方向は、教示点Ａ−Ｂの軌道（経路）と正確に一致しているのが望ましい。これは、教示点Ｂが例えば、ワークＷの組付け位置であって、教示点Ａ−Ｂの軌道が組付け位置にアプローチする方向に整合するようプログラムされていた場合などにおいてはなおさらである。
【００３７】
ただし、以下に示す回避モードを用いたロボット制御においては、教示点Ｂは必ずしも教示済みの教示点である必要はない。例えば、少なくとも、回避モードに入る前の段階でなんらかの特定の軌道でロボットの基準点が移動していればよく、その場合でも、教示点Ｂが教示済みである場合と同様に、回避軌道からその元の軌道への自動復帰の効果を得ることができる。もし、教示点Ｂが教示済みでない場合は、以下の説明で教示点Ｂとして説明する点は、前記回避モードに入る前に基準点が移動していた軌道上の１点に相当すると考えてよい。
【００３８】
本実施例の回避操作（教示）は図５〜図８のようにして行う。図５は教示点Ａから障害物５０１の近傍までティーチングペンダント１０１（のキー１１４）をジョグ操作して移動させた状態を示している。例えば、もし教示点Ｂが既に教示されているのであれば、この操作は、教示点Ａ−Ｂの軌道の途中までのロボット動作を、ジョグ操作により「再生」する操作として実行される。
【００３９】
作業者は、教示点Ａから障害物５０１の近傍までロボットの基準点を移動させた時点でティーチングペンダント１０１の回避スイッチ１１１を押下して回避モードをＯＮとする。この回避モードのＯＮ操作を制御装置２０１が検出すると、回避スイッチ１１１の押下を認識したその時点の基準点の現在位置、およびその時の基準点の軌道に対応する軌道制御情報をメモリに記憶させる。
【００４０】
本明細書では、以下、ＪＯＧベクトル方向記憶部（２１５）に記憶させる軌道制御情報のうち、その時点の基準点の軌道の方向を「ＪＯＧベクトル方向」という。この基準点の軌道の方向に相当するＪＯＧベクトル方向は、上記の現在位置の情報とともに、ＪＯＧベクトル方向記憶部（２１５：後述）に記憶させる。
【００４１】
図６および図７は、作業者が回避モード中のティーチングペンダント１０１（のキー１１４）の手動操作によって、障害物５０１を回避する軌道を教示する様子を示している。この回避操作は、作業者が障害物５０１の周囲の状況を確認しながら行う。
【００４２】
図６では、ロボットの基準点が元の軌道（６０１）から上方に移動するように軌道修正（６０２）し、さらに障害物５０１の上部を通過できる高さで水平方向に軌道修正（６０３）を行っている。これら各々の軌道修正点は教示点として登録する。この登録操作は、ジョグ操作方向を変更するために、キー１１４のジョグ操作を一端停止し、ロボットアーム３０１が停止した時点で、ティーチングペンダント１０１で所定の操作を行うことによって行われる。この登録操作には、例えば図１の表示部１０２に表示した登録キーを用いることができる。
【００４３】
そして、図７のように、ロボットの基準点が障害物５０１の上部を通過した時点で、回避スイッチ１１１を再度操作して回避モードをＯＦＦに切り換える。これにより、制御装置２０１は、ＪＯＧベクトル方向記憶部（２１５）に記憶させた軌道制御情報、即ち、教示点Ａ−Ｂの軌道に最短距離で復帰するための復帰制御情報を生成する。そして、制御装置２０１は、生成した復帰制御情報に基づき、ロボットの基準点を移動させる。この復帰制御情報に基づくロボットの基準点の移動は、ティーチングペンダント１０１の操作を行うことなく自動的に実行する。
【００４４】
即ち、図７において、回避スイッチ１１１をＯＦＦに切り換えると回避モードがＯＦＦに制御される。そして、制御装置２０１は、ＪＯＧベクトル方向記憶部（２１５）に記憶されている位置とＪＯＧベクトル方向に基づき、教示点Ａ−Ｂの軌道に最短距離で復帰するための復帰制御情報を生成する。そして、ロボットアーム３０１の各部を動作させ、読みだしてロボットの基準点を回避モードが有効となる（直）前の軌道上に復帰させる。なお、この復帰制御情報の生成と、それに基づく基準点の復帰制御は、後述する制御装置２０１の復帰制御部２１６の機能によって実現される。
【００４５】
具体的には、制御装置２０１が生成する復帰制御情報は、教示点Ａ−Ｂの（直線）軌道上の一点にロボットの基準点が一致するように移動する軌道情報として生成される。図７の例では、制御装置２０１が生成した復帰制御情報により、ロボットの基準点がほぼ垂直下方に下降するような復帰軌道（軌道６０４）が生成されている。
【００４６】
ただし、この例は単純な例であり、障害物５０１の上部により複雑な構造がある、などの理由で、水平面内での軌道変更を数度行うなど、より複雑な回避操作を行う場合も考えられる。このような複雑な回避操作を行った場合は、回避モード終了（ＯＦＦ）時にそれを回避するために元の軌道（６０１）の垂直上方にロボットの基準点が位置していない場合も考えられる。
【００４７】
そこで、制御装置２０１が、回避モード終了時に生成する復帰軌道（６０４）は、例えば、可能な限り障害物５０１に干渉することなく、好ましくは最短距離でロボットの基準点を現在の位置から元の軌道（６０１）上の１点に移動する軌道とする。このような復帰軌道の条件を満たすように復帰制御情報を生成する具体例については後述する。
【００４８】
図８はその後のティーチングペンダント１０１によるロボット操作を示している。ここでは、ロボットの基準点が、復帰した元の軌道（６０１）上の延長上の１点から、元の目標位置であった教示点Ｂへ向けて移動させている（軌道６０５）。この操作は、例えば、図７のようにロボットの基準点が元の軌道（６０１）上の１点に復帰した時点で、一旦ロボットアーム３０１の動作を停止させた後、ティーチングペンダント１０１（のキー１１４）で行われるジョグ操作に応じて実行する。
【００４９】
図３は本実施例の制御装置の構成例を示している。ここでは、上述のような回避（教示）操作を行うために必要な部分や機能をハードウェア（あるいは）ブロックによって示している。
【００５０】
図３は、本実施例のロボット装置の制御系、即ち、ティーチングペンダント１０１および制御装置２０１の構成を示しており、上記のＪＯＧ動作制御部２１４、および復帰制御部２１６と、ＪＯＧベクトル方向記憶部２１５を含む。これら２１４〜２１５により示した機能ブロックは、例えば制御装置２０１の主制御部を構成する汎用マイクロプロセッサなどから成るＣＰＵ２１１がプログラムを実行することにより実現される。
【００５１】
図３において、ＣＰＵ２１１はティーチングペンダント１０１による教示操作に基づきロボット装置全体の動作を制御する。ＲＯＭ２２１は、例えば後述するＣＰＵ２１１の制御プログラムを格納するためのメモリで、その場合、ＲＯＭ２２１は本実施例に係るコンピュータ読み取り可能な記録媒体を構成する。ＣＰＵ２１１がＲＯＭ２２１に格納された制御プログラムを実行することによって、ティーチングペンダント１０１との入出力制御、およびロボットアーム３０１の駆動制御が実現される。
【００５２】
なお、ＲＯＭ２２１のプログラム格納領域はＥＥＰＲＯＭのような書き換え可能な記憶デバイスで構成することができる。その場合、不図示のフラッシュメモリや光ディスクからプログラムおよび制御データを供給することにより、ＲＯＭ２２１にロボット制御プログラムをインストールしたり、あるいはそのプログラムを更新したりすることができる。
【００５３】
２００の参照符号によって破線で示したブロックは、ＲＡＭなどの書き換え可能なメモリデバイスから構成されたメモリ領域である（以下、ＲＡＭ２００と表記）。本実施例では、上記のＪＯＧベクトル方向記憶部２１５はこのＲＡＭ２００の領域に配置される。ＲＡＭ２００には、他にワークエリア２１２の領域が配置される。ワークエリア２１２は、例えばＣＰＵ２１１が後述のプログラムを実行する際に一時的に用いられるような一時データの記憶に用いられる。
【００５４】
ティーチングペンダントインターフェース２１３は、ティーチングペンダント１０１との制御信号入出力に用いられる。ティーチングペンダントインターフェース２１３は、無線ないし有線のシリアルないしパラレルインターフェース、あるいはネットワークインターフェースによって構成される。
【００５５】
ＪＯＧ動作制御部２１４は、ティーチングペンダント１０１のキー１１４などのジョグ操作に応じて生成されたコマンドに従ってロボットアーム３０１を（ジョグ）動作させる。このＪＯＧ動作制御部２１４の機能は、ＣＰＵ２１１のソフトウェアによって実現できる。
【００５６】
回避スイッチ１１１の操作によって回避モードがＯＮとなった時、ＣＰＵ２１１は回避モードのフラグ（ワークエリア２１２に配置される）をＯＮとする。また、この時、ＣＰＵ２１１は、ＲＡＭ２００のＪＯＧベクトル方向記憶部２１５に、少なくともその時点でのロボットの基準点（たとえばハンド４０１の把持中心）の位置（ＸＹＺ座標）と、その時点でのＪＯＧ動作ベクトル方向を記憶させる。少なくとも、このロボットの基準点の位置（ＸＹＺ座標）、およびその時点で基準点が移動しているＪＯＧ動作ベクトル方向を保存しておけば、回避モードがＯＮとなる（直）前の基準点が移動していた軌道を特定できる。ＪＯＧベクトル方向記憶部２１５に格納するＪＯＧ動作ベクトル方向は、３次元空間における方位情報であればよく、そのメモリ上におけるデータ表現の形式は任意である。
【００５７】
復帰制御部２１６は、ティーチングペンダント１０１で回避スイッチ１１１が操作され、回避モードがＯＦＦに切り換えられた時の復帰制御情報の生成と、それに基づく基準点の復帰制御を行う。この復帰制御部２１６の機能は、ＣＰＵ２１１のソフトウェアによって実現できる。
【００５８】
回避モードがＯＦＦに切り換えられると、復帰制御部２１６は、ＪＯＧベクトル方向記憶部２１５から、回避モードがＯＮの時に記憶させた上記の基準点の位置情報と、ＪＯＧ動作ベクトル情報を読み出す。これらの情報によって、回避モードがＯＮの時のロボットの基準点の軌道（回避モードないし回避操作前の軌道）を一意に特定できる。
【００５９】
そして、復帰制御部２１６は、ロボットの基準点を現在（回避モードのＯＦＦ時）の位置から、回避モードないし回避操作前の軌道に（好ましくは最短距離で）復帰させる復帰制御情報を生成する。この復帰情報は、例えば現在（回避モードのＯＦＦ時）の位置から、回避モードないし回避操作前の軌道（の延長）上の（好ましくは最短距離にある）一点に向かうベクトルデータの形式により表現される（復帰軌道ベクトル）。そして、復帰制御部２１６は、この復帰制御情報（回避軌道ベクトル）を用いて、ロボットアーム３０１の基準点を、現在位置からＪＯＧベクトル方向記憶部２１５に記憶させた回避前ＪＯＧ動作ベクトルの軌道の延長上へ移動させる。この復帰制御情報の生成と、ロボット基準点の復帰動作は、回避スイッチ１１１による回避モードのＯＦＦ操作のみによって自動的に行われる。
【００６０】
なお、図３の制御装置２０１には、ネットワークインターフェース２２２を設けてある。このネットワークインターフェース２２２は、例えば、ティーチングペンダント１０１の教示操作により生成された教示点データや、回避モードで生成された教示点データを他のロボット装置や管理端末、サーバなどに送信するのに利用できる。また、ネットワークインターフェース２２２は、他のロボット装置や管理端末、サーバから、教示点データやロボット制御プログラムを受信するのにも利用できる。特に、ネットワークインターフェース２２２経由で受信したプログラムおよび制御データを用いてＲＯＭ２２１にロボット制御プログラムをインストールしたり更新したりするのにも利用できる。
【００６１】
以下、図９〜図１１を参照して、図３の制御装置２０１のＣＰＵ２１１によって制御される教示制御、特に回避スイッチ１１１を用いた回避動作の制御手順につき詳細に説明する。図９〜図１１は、ＣＰＵ２１１が上記の制御を実行するための制御プログラムの流れの一例を示している。図示の手順はＣＰＵ２１１の制御プログラムとして、例えばＲＯＭ２２１に格納しておく。
【００６２】
図９は本実施例に係る障害物の回避動作を、特にティーチングペンダント１０１で教示を行う作業者の操作を中心に記載したものである。図９の分岐や判定ステップには、この作業者によって行われるものが含まれる。
【００６３】
図９のステップＳ１０１、Ｓ１０２は、ティーチングペンダント１０１を用いた作業者の教示操作を示している。ここでは、作業者がティーチングペンダント１０１のキー１１４を用いて、ロボットの基準点を移動させる操作を行なう。また、その間、必要に応じて、ティーチングペンダント１０１を用いて現在の基準点位置を教示点として登録することもできる。ロボットアーム３０１の基準点は、ＣＰＵ２１１によって、ティーチングペンダント１０１のキー１１４のジョグ操作に応じてそのキーに割り当てられている方向にジョグ移動（ジョグ動作）するよう制御される。このジョグ操作ないしは教示操作は、ステップＳ１０２において、例えば図５のようにロボットの基準点が障害物５０１に近接するような状況となるまで続けられる。
【００６４】
ステップＳ１０２において、例えば図５に示すようにロボットの基準点が障害物５０１に近づいたのを作業者が認識すると、作業者は上記のジョグ操作を停止し、ステップＳ１０３で回避スイッチ１１１をＯＮとする（モード制御行程）。
【００６５】
この回避スイッチ１１１のＯＮ操作に応じて、ＣＰＵ２１１はステップＳ１０３でワークエリア２１２などに配置したフラグをＯＮとし、回避モードを有効化（ＯＮ）する。また、この時、ＣＰＵ２１１は、ＪＯＧベクトル方向記憶部２１５に、少なくともその時点でのロボットの基準点（たとえばハンド４０１の把持中心）の位置（ＸＹＺ座標）と、その時点でのＪＯＧ動作ベクトル方向を記憶させる（記憶行程）。このステップＳ１０３の回避スイッチ１１１による回避モードのＯＮ時の処理は後述の図１０により詳細に説明する。
【００６６】
続くステップＳ１０４〜Ｓ１０７のループは、回避モードが有効である間に実行する動作（回避制御行程）である。本実施例では、この回避モード中の障害物５０１の回避操作は、ティーチングペンダント１０１のジョグ操作によって、障害物５０１を回避する回避移動（Ｓ１０４）となるよう、自由に行うことを許容する。前述の図においては、この回避操作は図５の状態で回避スイッチ１１１をＯＮとした後、図６の状態となるまでの区間に相当する。
【００６７】
作業者は、ステップＳ１０７の障害物５０１の回避が完了したか否かを判定しながら、ステップＳ１０４〜Ｓ１０７のループによって上記の回避操作を続ける。その間、ＣＰＵ２１１は、作業者が、例えば１回のジョグ操作を停止させる毎に、ステップＳ１０５でその時の基準点の位置を退避点（教示点）として登録するかどうかを選択できるようティーチングペンダント１０１の状態監視とロボット制御を行う。
【００６８】
例えば、図５から図６の状態に向かう回避軌道の生成では、元の軌道６０１から障害物５０１の壁面に沿ってロボットの基準点を（（ほぼ）垂直に）上昇させるジョグ操作を行っている（軌道６０２）。その後、図６の障害物５０１上部の水平軌道（軌道６０３）に切り換えるべき位置でキー１１４のジョグ操作を一度停止させている。その後の障害物５０１上部の水平軌道（６０３）では、別の移動方向が設定されたキー１１４を用いることになる。従って、このようなジョグ操作の切り換えタイミングで必要に応じてその時々のロボットの基準点の位置を教示点として登録する。ただし、微少調整などの際、同じキー１１４によって、同一方向へのジョグ移動と一時停止を繰り返すような状況においては、作業者の判断（Ｓ１０５）によって教示点の登録を省略してよい。
【００６９】
作業者が教示点の登録を行うべきと判断（Ｓ１０５）すると、ステップＳ１０６において、ティーチングペンダント１０１の登録操作を行い、これに応じてＣＰＵ２１１はロボットの基準点の位置を教示点として登録する（回避点の教示）。この登録操作が行われる毎に、教示点の座標（あるいはさらにロボットアーム３０１の各部の関節の制御角度などを含む位置姿勢のデータであってもよい）は、例えばＲＡＭ２００のワークエリア２１２に配置した教示点記憶部に格納していく。
【００７０】
この教示点記憶部に蓄積した教示点ないし回避点のデータは、例えば回避モード前、後の他の教示点のものも含め、教示データとして他のロボット装置や制御端末、サーバなどに送信することができる。その場合、この教示データの送受信には、例えばネットワークインターフェース２２２を用いることができる。また、この教示データは、不図示の外部記憶装置（ＨＤＤ、ＳＳＤや光ディスク装置なども含む）に転送して記録することもできる。
【００７１】
なお、図５〜図８の回避操作の場合、上記の回避点の教示操作は、図６の障害物５０１上部の水平軌道に切り換える位置で１回だけ行っている。また、回避モードがＯＮとなった時点のタイミングのロボットの基準位置は、ＪＯＧベクトル方向記憶部２１５に記憶されるため、必ずしも教示点登録する必要はない。しかしながら、データの整合性などを考慮して、回避モードがＯＮとなった時にワークエリア２１２の教示点格納領域に教示点として自動的に登録するようにしてもよい。
【００７２】
上記の回避操作および教示（退避）点の登録は、ステップＳ１０７において、作業者が障害物５０１の回避動作が完了したと判断するまで続けることができる。作業者が障害物５０１の回避動作が完了したと判断すると、ステップＳ１０７からＳ１０８に進む。
【００７３】
ステップＳ１０８では、作業者は回避スイッチ１１１を（例えば、再度ないしはトグル）操作して、回避モードを無効化（ＯＦＦ）する。作業者がティーチングペンダント１０１の回避スイッチ１１１をＯＦＦにすると、ＣＰＵ２１１はワークエリア２１２のフラグを操作して回避モードをＯＦＦに切り換える（モード制御行程）。そして、ＣＰＵ２１１は、復帰制御部２１６の機能を実行する。即ち、ＪＯＧベクトル方向記憶部２１５に記憶させた回避モードがＯＮとなった時の基準点の位置と、ＪＯＧベクトル方向を読み出し、ロボットを回避操作前の元の軌道に復帰させるための復帰制御情報を生成する。さらに、ＣＰＵ２１１は、生成した復帰制御情報に基づき、ロボットアーム３０１の各部を制御し、ロボットの基準点を回避操作前の元の軌道６０１（の延長線上）の一点に復帰させる移動制御を行う。この回避操作前の元の軌道（の延長線上）の一点への復帰は、ティーチングペンダント１０１の手動（ジョグ）操作などを必要とせず、回避スイッチ１１１で回避モードをＯＦＦにするだけで自動的に行える。
【００７４】
このステップＳ１０８の回避スイッチ１１１のＯＦＦ（回避モードのＯＦＦ）時の処理は後述の図１１により詳細に説明する。
【００７５】
続いて、ステップＳ１０９においては、既にロボットの基準点が上記の回避モードの無効化（ＯＦＦ）に伴い回避操作前の元の軌道６０１の延長線上の一点に自動的に復帰している。このため、作業者は、従来のように回避操作前の軌道に復帰させるための面倒な手動操作を必要とせず、元の軌道６０１（の延長線）上でのジョグ操作を継続することができる。
【００７６】
図１０は、図９のステップＳ１０３において、回避スイッチ１１１をＯＮした時、即ち回避モードがＯＮに切り換えられた時の制御手順を詳細に示している。図１０のステップＳ２０１において、ＣＰＵ２１１は回避スイッチ１１１がＯＮされたか否かを判定しており、回避スイッチ１１１がＯＮ操作されると、例えばワークエリア２１２に配置されたフラグの操作によって回避モードをＯＮとする。
【００７７】
そして、ステップＳ２０２において、ロボットの基準点の現在位置を特定し、ステップＳ２０３では、現在のジョグ軌道の方向を特定する。ステップＳ２０３では、例えば現在位置とそれ以前の位置（例えば現在の軌道が直線軌道の場合は前回の教示点）からＪＯＧベクトル方向を算出する。
【００７８】
そして、ステップＳ２０２、Ｓ２０３で求めた回避モードがＯＮとなった時の基準点の位置と、ＪＯＧベクトル方向を、ステップＳ２０４においてＪＯＧベクトル方向記憶部２１５に記憶させる。これら回避モードがＯＮとなった時の基準点の位置と、ＪＯＧベクトル方向の情報は、回避モードが有効化される前のロボットの基準部位の軌道に対応する軌道制御情報に相当する。
【００７９】
図１１は、図９のステップＳ１０８において、回避スイッチ１１１をＯＦＦした時、即ち回避モードがＯＦＦとなった時の制御手順を詳細に示している。図１１の制御は、復帰制御部２１６の、ロボットを回避操作前の元の軌道（６０１）に復帰させるための復帰制御情報の生成と、その復帰制御情報に基づく復帰制御に相当する。
【００８０】
図１１のステップＳ３０１では、回避スイッチ１１１が（たとえばトグル操作によって）ＯＦＦ操作されたか否かを判定する。ここで回避スイッチ１１１がＯＦＦ操作されると、例えばワークエリア２１２に配置されたフラグの操作によって回避モードをＯＦＦに切り換え、ステップＳ３０２に進む。
【００８１】
次に、ステップＳ３０２では、ロボットの基準点の現在位置を取得する。続いて、ステップＳ３０３では、ＪＯＧベクトル方向記憶部２１５に記憶されている回避モードがＯＮとなった時の基準点の位置と、ＪＯＧベクトル方向を読み出す。
【００８２】
ステップＳ３０４では、読み出した回避モードがＯＮとなった時の基準点の位置と、ＪＯＧベクトル方向に基づき、ロボットの基準点を現在位置から、回避モードないし回避操作前の軌道（の延長）上の一点に向かう復帰制御情報を生成する。このステップＳ３０４の処理は復帰制御情報の生成行程に相当する。この復帰制御情報は、例えば、ロボット基準点を、現在（回避モードはＯＦＦ）の位置から、回避モードないし回避操作前の軌道（の延長）上の（好ましくは最短距離にある）一点に向かうような復帰軌道で動作させる制御情報である。この復帰軌道（例えば図７、図８の軌道６０４）データは、例えばベクトルデータの形式などを用いて表現できる。なお、この復帰軌道は、ロボット基準点を好ましくは最短距離で、回避モードないし回避操作前の軌道に復帰させるように生成する。このような復帰軌道の生成例については、後で詳細に説明する。
【００８３】
ステップＳ３０５では、ステップＳ３０４で生成した復帰制御情報（回避軌道ベクトル）を用いて、ロボットアーム３０１の基準点を、現在位置からＪＯＧベクトル方向記憶部２１５に記憶させた回避前ＪＯＧ動作ベクトルの軌道の延長上へ移動させる。このステップＳ３０５の制御は、ロボットの点（基準部位）を回避モードが有効化される前の軌道上の１点に復帰させる復帰制御行程に相当する。この復帰制御情報の生成と、ロボット基準点の復帰動作は、上記のように回避スイッチ１１１による回避モードのＯＦＦ操作のみによって自動的に行われる。
【００８４】
ここで、回避モード（ないし回避操作）前の軌道に復帰させるための復帰軌道の生成の詳細につき考える。
【００８５】
例えば上記の復帰軌道の生成行程（Ｓ３０４）において、ＣＰＵ２１１は、ロボットアーム３０１の基準部位を、その現在位置から最短距離で、回避モードが有効化される前の軌道に復帰させることができる復帰制御情報を生成する。また、この時、できるだけ障害物５０１に干渉する可能性が低い復帰軌道となるよう復帰制御情報を生成するのが望ましい。
【００８６】
上記のような好適な復帰軌道の例としては、例えば、ロボット基準点の現在位置を含み、かつ鉛直面（水平面ないしはロボット設置面に垂直な面）内を通り、回避前ＪＯＧ動作ベクトルの軌道の延長線上の一点に向かう軌道、が考えられる。ＣＰＵ２１１がこのようなロボット基準点の現在位置を含み、かつ鉛直面内を通って元の軌道上の一点に向かう復帰軌道を生成すれば、障害物５０１に再度干渉する可能性はかなり低くなり、同時に上記最短距離の条件も満たされる。
【００８７】
なお、上記のような復帰軌道が生成されることは、ティーチングペンダント１０１やロボット装置を含むロボットシステム全体の取扱説明書などに記載しておくべき事項と考えられる。例えば、そのような文書では、回避スイッチ１１１で回避モードをＯＦＦとすると、上記のように現在位置から鉛直面内を通って元の軌道上の１点に自動的に復帰する動作が行われる、ということを記載することが考えられる。あるいはさらに、そのような鉛直面内を通る復帰軌道で復帰が行われても障害物と再度干渉しないような位置まで回避モードにおける回避操作を実行した後、回避モードをＯＦＦにすべきである、などと、より明示的に記載することが考えられる。
【００８８】
以上のように、本実施例では現場環境の変化などにより、障害物を回避するよう教示データを修正する必要が生じた場合などにおいて、回避スイッチ１１１を用いた簡単な操作によって、容易に元のロボット軌道（６０１）にほぼ自動的に復帰することができる。
【００８９】
本実施例では、ロボット操作装置としてのティーチングペンダント１０１の回避スイッチ１１１（回避モード操作部）の操作により回避モードをＯＮまたはＯＦＦに制御できる。回避モードのＯＮ操作時には、軌道制御情報として、その時のロボット基準点（基準部位）の位置と、軌道の方向（ＪＯＧ回避前ＪＯＧ動作ベクトルの方向）を軌道記憶部たるＪＯＧベクトル方向記憶部２１５に記憶する。
【００９０】
そして、回避モードが有効化されている（ＯＮの）間は、ティーチングペンダント１０１からの手動操作入力に基づき、ロボットアームにロボットの基準点の軌道を変更する回避動作を行わせる。この回避操作は、障害物の形状や大きさなどに応じて自由に行うことができる。また、回避軌道の任意の位置におけるロボットの基準点の現在位置を教示点（回避点）として教示データ中に登録することができる。
【００９１】
一方、回避モードが無効化（ＯＦＦ）されると、ロボットの基準点を、現在位置から、ＪＯＧベクトル方向記憶部２１５に記憶されている軌道制御情報に基づき、回避モードが有効化される前の元の軌道（６０１）に復帰させる復帰制御情報を生成する。この時、好ましくは、復帰制御情報は、基準点を、障害物と干渉する可能性が低く、また、最短距離で元の軌道上の１点に向かう復帰軌道を通って復帰させるように生成する。そして、回避モードのＯＦＦ操作時に、このように生成された復帰制御情報に基づきロボットアーム３０１の各部を動作させて、基準点を自動的に回避モード前の元の軌道上の１点に復帰させることができる。
【００９２】
以上のように、本実施例ではロボット操作装置（ティーチングペンダント）の回避スイッチ１１１の操作により回避モードを利用できる。その場合、回避モードでは障害物の形状や大きさなどに応じて自由な回避操作を行うことができる。しかも回避モード終了（ＯＦＦ）操作を行った時点で、面倒な手動ジョグ操作や確認作業の繰り返しを必要とせず、回避モードがＯＮとなる前、即ち回避操作を開始する前の元の軌道（６０１）上の１点に自動的に復帰させることができる。
【００９３】
そして、復帰制御情報は、例えば、ロボットの基準点を現在位置から鉛直面内を通って元の軌道上の１点に復帰させるような復帰軌道が選ばれるよう生成することができる。このような復帰制御情報を生成することにより、ロボットの基準点を、障害物と干渉する可能性が低く、また、最短距離で元の軌道上の１点に向かう復帰軌道を経由して、元の軌道（６０１）に復帰させることができる。
【００９４】
以上のように、本実施例では回避スイッチ１１１によって、例えばロボットの教示データの変更や編集などに利用できる例外モードとして利用できる回避モードをＯＮ／ＯＦＦ制御することができる。そして、回避モードがＯＮの状態においては、自由な教示操作により教示データの変更や編集が可能であり、しかも回避モード終了時にはロボットを回避モードに入る前の元の軌道に自動的に復帰させることができる。このため、教示データに回避動作を追加するような場面において、従来では特に面倒な手動操作が必要とされた元の軌道への復帰を自動的に行うことができ、作業者の負担を大きく軽減し、作業時間を著しく短縮できる、という優れた効果がある。
【００９５】
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現できる。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９６】
１０１…ティーチングペンダント、１１１…回避スイッチ、２０１…制御装置、２１３…ティーチングペンダントインターフェース、２１４…ＪＯＧ動作制御部、２１５…ＪＯＧベクトル方向記憶部、２１６…復帰制御部、３０１…ロボット、４０１…ハンド、５０１…障害物。
【図１】
2016185586.tif 000003
【図２】
2016185586.tif 000004
【図３】
2016185586.tif 000005
【図４】
2016185586.tif 000006
【図５】
2016185586.tif 000007
【図６】
2016185586.tif 000008
【図７】
2016185586.tif 000009
【図８】
2016185586.tif 000010
【図９】
2016185586.tif 000011
【図１０】
2016185586.tif 000012
【図１１】
2016185586.tif 000013