(57)【要約】【課題】教示データを作成する際にカメラなどの特別な装置を必要とせず、簡単安価な最低限の構成で教示点ないしその近傍位置を特定できるようにする。【解決手段】ロボット装置は、ロボットアーム（１０３）と、このロボットアーム基準位置（Ｐ）の動作方向を入力可能な入力手段（２０２）を有する。ロボットアームの基準位置（Ｐ）が第１の位置（４０５）にある状態（Ｓ３０１）で、第１の位置から教示点（４０４）へ向かう第１の動作方向（４０６）を取得する（Ｓ３０２）。続いて、ロボットアームの基準位置（Ｐ）が第２の位置（４０７）にある状態（Ｓ３０４）で、第２の位置から教示点（４０４）へ向かう第２の動作方向（４０８）を取得する（Ｓ３０６）。そして、第１、第２の動作方向と、第１および第２の位置の間の距離に基づき、三角測量の原理により教示点の位置を特定する（Ｓ３０８）。【選択図】図３
2016078142.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームと、前記ロボットアームの基準位置の動作方向を入力可能な入力手段と、前記ロボットアームの基準位置を教示点に向かって動作させることが可能な制御装置を有するロボット装置の制御方法において、
前記制御装置は、
前記ロボットアームの基準位置が第１の位置にある状態で、前記入力手段によって前記第１の位置から前記教示点へ向かう第１の動作方向を取得する第１の方向取得工程と、
前記ロボットアームの基準位置が前記第１の位置とは異なる第２の位置にある状態で、前記入力手段によって前記第２の位置から前記教示点へ向かう第２の動作方向を取得する第２の方向取得工程と、
前記第１の方向取得工程で入力された前記第１の動作方向と、前記第２の方向取得工程で入力された前記第２の動作方向と、前記第１の位置および前記第２の位置の間の距離に基づき、三角測量の原理により前記教示点の近傍位置を特定する演算工程と、
を実行することを特徴とするロボット装置の制御方法。
【請求項２】
請求項１に記載のロボット装置の制御方法において、前記制御装置は、前記第１の方向取得工程、および前記第２の方向取得工程において、前記入力手段を介して手動入力された前記第１の動作方向および前記第２の動作方向に向かって、前記ロボットアームの基準位置をそれぞれ動作させることを特徴とするロボット装置の制御方法。
【請求項３】
請求項１または２に記載のロボット装置の制御方法において、前記ロボット装置は前記ロボットアームの動作を教示する教示装置を有し、前記入力手段が前記教示装置に設けられていることを特徴とするロボット装置の制御方法。
【請求項４】
請求項３に記載のロボット装置の制御方法において、前記ロボットアームおよび前記教示装置にそれぞれ方位検出手段を設け、前記制御装置は、前記第１の方向取得工程、および前記第２の方向取得工程において、前記入力手段を介して手動入力された前記第１の動作方向および前記第２の動作方向に向かって、前記ロボットアームの基準位置をそれぞれ動作させるとともに、前記ロボットアームおよび前記教示装置にそれぞれ設けられた方位検出手段の出力に応じて前記入力手段を介して手動入力される前記第１の動作方向または前記第２の動作方向と、前記ロボットアームの基準位置を動作させる方向が一致するよう制御することを特徴とするロボット装置の制御方法。
【請求項５】
請求項１から４のいずれか１項に記載のロボット装置の制御方法において、前記制御装置が、前記第１の方向取得工程に続き前記第２の方向取得工程に遷移する際、前記第１の位置から前記第２の位置の方向へ、前記第１の位置および前記第２の位置の間の距離だけ前記ロボットアームの基準位置を移動させることを特徴とするロボット装置の制御方法。
【請求項６】
請求項１から５のいずれか１項に記載のロボット装置の制御方法において、前記制御装置は、前記第１の位置、前記第２の位置、前記第１の動作方向、前記第２の動作方向、または前記演算工程によって特定された教示点の近傍位置を表示装置により表示出力させることを特徴とするロボット装置の制御方法。
【請求項７】
請求項１から６のいずれか１項に記載のロボット装置の制御方法において、前記ロボット装置は輝点照射装置を有し、前記制御装置は、前記演算工程によって特定された教示点の近傍位置に前記輝点照射装置によって輝点を照射することを特徴とするロボット装置の制御方法。
【請求項８】
請求項１から７のいずれか１項に記載のロボット装置の制御方法を前記制御装置に実行させることを特徴とするロボット装置の制御プログラム。
【請求項９】
請求項８に記載のロボット装置の制御プログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１０】
ロボットアームと、前記ロボットアームの基準位置の動作方向を入力可能な入力手段と、前記ロボットアームの基準位置を教示点に向かって動作させる制御装置を有するロボット装置において、
前記制御装置は、
前記ロボットアームの基準位置が第１の位置にある状態で、前記入力手段によって前記第１の位置から前記教示点へ向かう第１の動作方向を取得し、
前記ロボットアームの基準位置が前記第１の位置とは異なる第２の位置にある状態で、前記入力手段によって前記第２の位置から前記教示点へ向かう第２の動作方向を取得し、
前記第１の動作方向と、前記第２の動作方向と、前記第１の位置および前記第２の位置の間の距離に基づき、三角測量の原理により前記教示点の近傍位置を特定することを特徴とするロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームと、ロボットアームの基準位置の動作方向を入力可能な入力手段と、ロボットアームの基準位置を教示点に向かって動作させる制御装置を有するロボット装置の制御方法、および当該のロボット装置に関するものである。
【背景技術】
【０００２】
各種工業製品の生産現場で部品（ワーク）に対して組付け、溶接、塗装などの種々の操作にロボット装置が広く用いられている。ロボット装置に特定の動作を教示（ティーチング）する場合、ティーチングペンダントなどと呼ばれる教示装置が用いられる。ティーチングペンダントは、ディスプレイ、キーボード、あるいはさらにジョイスティック（あるいはタッチパッド）のような方向入力手段を組み合わせて構成される。また、パーソナルコンピュータ（ＰＣ）とほぼ同様のハードウェアアーキテクチャで構成されたロボット制御端末も教示装置として用いられることがある。
【０００３】
上記の教示装置を用いたロボットの教示操作は、現場で実際にロボット装置を動作させて教示を行われる他、例えば生産や作業の現場とは異なるオフライン環境でのオフライン教示でも用いられることがある。この種のオフライン教示では、現場で実際にロボット装置を動作させて教示を行うのではなく、既知のデータを用いてロボット装置を動作させるオフライン教示データを作成する。例えば、オフライン教示では、治具やワークの寸法および周辺装置の寸法等からなる作業環境データ、ロボットのアームの軸数、アーム軸間の長さ等のロボット機構データなどが必要である。
【０００４】
オフライン教示によって予め作成されたオフライン教示データをロボット制御装置（コントローラ）に記憶させることにより、そのオフライン教示データに基づいてロボット装置を動作させることができる。その際、例えば実際の現場でオフライン教示データを修正することも可能であり、これにより最適な教示データを得ることができる。
【０００５】
しかしながら、オフラインの教示環境では、実際には現場に設置してあるすべての治具やワークのオフライン教示データが存在しない場合がある。このような場合は、実際に現場でロボット装置を動作させながら新規に教示データを作成する必要がある。この場合、オペレータは、ティーチングペンダントなどの教示装置を用いてロボットアームの基準部位ないし基準位置（例えば先端位置）を教示点へ移動させる操作を行いながら教示データを作成する。この教示操作では、オペレータは教示点とロボットアーム先端の位置関係を常に確認しながら、教示装置を操作しロボットアーム先端を移動させなければならず、作業は熟練を要し、また煩雑である。
【０００６】
ロボットを動作させる現場においては、できるだけ容易な操作によって、新規に教示データを生成し、ロボット制御装置に記憶させ、例えば自動的に教示点まで移動できるのが望ましい。そこで、例えば、生産現場における教示を支援するために、カメラのような視覚系を配置する構成が知られている。例えば、下記の特許文献１のようにロボットアーム先端にステレオカメラを設置し、異なる二地点から教示点を撮像し、撮像した画像上の教示点をユーザに指定させ、教示点の位置を三角測量の原理で算出する構成が知られている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平６−７５６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記特許文献１の構成によれば、例えば画面上の教示点を指定することにより、教示データを生成することができる。しかしながら、特許文献１の構成では、教示点を生成するのに、教示点周辺を撮像するためのカメラ、カメラで撮像した画像を表示するディスプレイなどのハードウェア資源が必要であり、コスト高になりがちな問題がある。
【０００９】
本発明の課題は、上記事情に鑑み、教示データを作成する際にカメラなどの特別な装置を必要とせず、簡単安価な最低限の構成で教示点ないしその近傍位置を特定できるようにすることにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明においては、ロボットアームと、前記ロボットアームの基準位置の動作方向を入力可能な入力手段と、前記ロボットアームの基準位置を教示点に向かって動作させることが可能な制御装置を有するロボット装置の制御方法ないしは当該のロボット装置において、前記制御装置は、前記ロボットアームの基準位置が第１の位置にある状態で、前記入力手段によって前記第１の位置から前記教示点へ向かう第１の動作方向を取得し、前記ロボットアームの基準位置が前記第１の位置とは異なる第２の位置にある状態で、前記入力手段によって前記第２の位置から前記教示点へ向かう第２の動作方向を取得し、前記第１の動作方向と、前記第２の動作方向と、前記第１の位置および前記第２の位置の間の距離に基づき、三角測量の原理により前記教示点の近傍位置を特定する構成を採用した。
【発明の効果】
【００１１】
上記構成によれば、教示装置などに設けたロボットアームの基準位置の動作方向を入力可能な入力手段により、少なくとも第１および第２の位置から第１および第２の動作方向を入力するだけで三角測量の原理により教示点の近傍位置を特定することができる。このため、教示データを作成する際にカメラなどの特別な装置を必要とせず、最低限の教示装置のみで教示点ないしその近傍位置を特定することができる、という優れた効果がある。
【図面の簡単な説明】
【００１２】
【図１】本発明を実施可能なロボット装置の構成例を示した説明図である。
【図２】図１のロボット装置に適用可能な教示装置の構成例を示した説明図である。
【図３】図１のロボット装置における教示点の入力制御の一例を示したフローチャート図である。
【図４】図１のロボット装置における教示点入力の際の教示操作とロボットアームの動作の一例を示した説明図である。
【図５】図１のロボット装置において教示点を特定する際用いられる三角測量に基づく演算例を示した説明図である。
【発明を実施するための形態】
【００１３】
以下、添付図面に示す実施例を参照して本発明を実施するための形態につき説明する。以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。
【実施例】
【００１４】
＜ロボット装置の構成＞
図１は、本発明を実施可能なロボット装置の概略構成を示している。図１のロボットアーム１０３は、例えば垂直６軸シリアルリンクのロボットアームである。ただし、ロボットアーム１０３のアーキテクチャはこの垂直６軸シリアルリンクに限定されるものではなく、また、ロボットアーム１０３は１台のみならず作業空間に複数配置されていてもよい。
【００１５】
図１において、Ｐはロボットアーム１０３を動作させる場合の基準位置を概略的に示している。多くの場合、ロボットアーム１０３の教示に用いられる基準位置Ｐは、エンドエフェクタを装着するフランジ面の中心などに配置される。また、ロボットハンドなどのエンドエフェクタの回動軸は基準位置Ｐを通るよう配置される。ただし、図１ではロボットアーム１０３の先端にエンドエフェクタとして、例えばロボットハンドが装着されており、図示の都合上、基準位置Ｐはロボットハンドの中心に図示してある。なお、後述のレーザポインタやスポットライトのような輝点照射装置をロボットアーム１０３に配置する場合には、輝点照射装置は例えばこの基準位置Ｐの軸上に配置することができる。
【００１６】
ロボットアーム１０３の各関節軸の駆動源であるサーボモータにはこれら各軸の角度を検出するロータリエンコーダ（不図示）が設けられている。ロボットアーム１０３には、ロボットアーム１０３の動作を制御するロボット制御装置１０２がケーブルなどの接続手段を介して接続されている。なお、このロボット制御装置１０２の制御主体は後述のＣＰＵ１０２１である。ロボット制御装置１０２は、ロボットアーム１０３の各関節軸のロータリエンコーダからは各関節軸の角度を読み取ることができるよう構成される。そしてロボット制御装置１０２が、各関節軸の角度から座標変換を行うことにより、ロボット座標系におけるロボットアーム１０３のアームの先端の基準位置Ｐの３次元座標を算出することができる。このロボット座標系は、例えば、後述のロボット可動範囲４０１に対応するＸＹ直交座標系（あるいはさらにＺ軸を含む３次元座標系）に相当する。
【００１７】
ロボット制御装置１０２には、例えばティーチングペンダントのような教示装置１０１が接続されている。図２は教示装置１０１のユーザーインターフェースの構造を詳細に示している。図２に示すように、教示装置１０１には、ＬＣＤディスプレイなどから成る表示装置２０３、各種のファンクションキーから成るキーボード２０４、非常停止スイッチ２０５（あるいはデッドマンスイッチなど）が設けられる。本実施例の教示装置１０１では、さらにロボットアーム１０３の基準位置Ｐを動作方向を入力可能な入力手段として、ジョイスティック２０２が設けられている。オペレータ（４０２）は、このジョイスティック２０２を用いて、ロボットアーム１０３の基準位置Ｐを動作方向を手動入力することができる。
【００１８】
なお、ロボットアーム１０３の動作方向を手動で入力可能な入力手段は、後述するようにジョイスティック２０２以外の入力手段から構成されていてもよい。例えば、この入力手段は、教示装置１０１の表示装置２０３に重ねて配置されたタッチパネルなどから構成されていてもよい。また、ロボットアーム１０３の動作方向を手動入力する入力手段は必ずしも教示装置１０１に設ける必要はない。例えば、ロボットアーム１０３の動作方向を入力する入力手段（例えばジョイスティック）は、教示装置１０１やロボット制御装置１０２に何らかのインターフェース手段を介して外付けされていてもよい。また、その配置位置は、例えばロボットアーム１０３の基台（架台）など、任意の位置であってよい。
【００１９】
なお、図２のキーボード２０４のキー配置は、概略図示の図１とは必ずしも一致していない。また、表示装置２０３の部分は、表示パネルに上面にタッチ入力面を配置したタッチパネルとして構成することもできる。その場合には、表示パネルの表示を変更することによりキーボード２０４として配置すべき任意のキーをタッチパネル上にソフトウェア的に配置することもできる。このようなキーボード２０４、あるいはタッチパネルを用いたキー配置は、本発明を構成する必須構成ではなく、当業者が必要に応じて任意に変更することができる。
【００２０】
オペレータ（図４の４０２）は、教示装置１０１を用いてロボットアーム１０３の運転や設定などの各種機能を実行することができる。教示装置１０１のキーボード２０４やタッチパネル、ジョイスティック２０２の操作情報は、ケーブルなどの接続手段を介してロボット制御装置１０２に伝達される。なお、教示装置１０１とロボット制御装置１０２を接続する接続手段は、ケーブルなどによる有線接続手段のみならず、ＩＥＥＥ８０２．１１や同８０２．１５のような規格に基づく無線接続手段で構成されていてもよい。この点は、ロボットアーム１０３とロボット制御装置１０２の間の接続手段についても同様である。
【００２１】
例えば、ロボットアーム１０３の配置された生産現場において、ユーザ（オペレータ）は教示装置１０１を介してアームを特定の教示点に向かって動作させる教示操作を繰り返し行うことで、ロボット教示データを入力していくことができる。このようなロボットプログラミング過程は、「教示（ティーチング）」などと呼ばれる。
【００２２】
ロボット制御装置１０２は、教示操作に応じた動作をロボットアーム１０３に行わせながら、ロボット教示データを生成することができる。教示操作に応じてロボットアーム１０３に一連の動作を行わせるよう生成されたロボット教示データは、ロボット制御装置１０２のメモリ（例えば後述のＲＡＭ１０２３やフラッシュメモリ１０２５）の所定領域に格納される。
【００２３】
再び図１において、同図の下部には、ロボット制御装置１０２の制御系の概略構成をブロック図の様式で示してある。図示の通り、ロボット制御装置１０２は、教示装置１０１の教示操作に応じてロボットアーム１０３の基準位置Ｐの位置姿勢を制御するＣＰＵ１０２１を有する。このＣＰＵ１０２１により行われるロボットアーム１０３の基準位置Ｐの位置姿勢の制御には、例えば、上記のロボットアーム１０３の基準位置Ｐを特定の教示点に向かって動作させる制御が含まれる。
【００２４】
ＣＰＵ１０２１にはシステムバスを介して、ＲＯＭ１０２２、ＲＡＭ１０２３のようなメモリデバイスが接続されている。さらに、ＣＰＵ１０２１のシステムバスには、インターフェース１０２４が接続されている。このインターフェース１０２４は、教示装置１０１、およびロボットアーム１０３（あるいは外付けされたジョイスティックなどの入力手段）との通信インターフェースを含む。もちろん教示装置１０１、およびロボットアーム１０３との通信インターフェースは、上述の有線ないし無線接続手段の規格に準じて構成される。
【００２５】
あるいはさらに、インターフェース１０２４は、ＩＥＥＥ８０２．３のようなネットワークインターフェースを含むものであってよい。その場合、ネットワークインターフェースは、ＲＯＭ１０２２などに格納される後述のロボット制御プログラムをインストールしたり、あるいは更新したりするプログラムデータを入出力する通信メディアとして用いることができる。あるいは、同ネットワークインターフェースは、ロボット制御装置１０２で生成したロボット教示データを外部のサーバに送信したり、あるいは他の制御端末から受信したりする通信メディアとして用いることもできる。
【００２６】
さらに、図１の構成ではＣＰＵ１０２１のシステムバスには、外部記憶装置として例えばフラッシュメモリ１０２５を接続してある。好ましくは、フラッシュメモリ１０２５は、例えばフラッシュメモリドライブを介して着脱できるよう構成される。フラッシュメモリ１０２５は、例えば、後述のロボット制御プログラムをインストールしたり、あるいは更新したりするプログラムデータを入出力するメディアとして用いることができる。また、フラッシュメモリ１０２５は、他のロボット装置や外部のサーバと教示データを授受するためのメディアとしても利用できる。なお、上記フラッシュメモリ１０２５のかわりに、外部記憶装置としてＨＤＤ、ＳＳＤのようなディスク装置を用いてもよい。その場合、これらのディスク装置も着脱式のデバイスによって構成されていて構わない。また、各種のメディア着脱式の光ディスク装置も外部記憶装置として用いることができる。ここで例示したような外部記憶装置もまた、後述のロボット制御プログラムをインストールしたり、あるいは更新したりするプログラムデータを入出力するメディア（コンピュータ読み取り可能な記録媒体）として用いることができる。
【００２７】
また、上記のＲＯＭ１０２２、フラッシュメモリ１０２５のような記録メディアには、本発明のロボット制御方法を記述したＣＰＵ１０２１が読み取り、実行可能なロボット制御プログラムを格納することができる。この意味で、上記のＲＯＭ１０２２、フラッシュメモリ１０２５のような記録メディアは、本発明のロボット制御プログラムを格納したコンピュータ読み取り可能な記録媒体に相当する。
【００２８】
＜教示点入力制御＞
次に上記構成において、ある特定のロボット動作において、ロボットアーム１０３の基準位置Ｐを動作させる目標位置として、特定の教示点（ティーチングポイント）を入力する入力制御につき説明する。
【００２９】
本実施例においては、特許文献１のようなカメラ（視覚系）を用いることなく、上記の教示装置１０１（あるいはさらにジョイスティック２０２のような入力手段）のみを用いて教示点の入力制御を行う。
【００３０】
図３は、この教示点（ティーチングポイント）の入力制御の流れを示している。また、図４は、符号Ａ〜Ｅによって図１のロボット装置における教示装置１０１を用いたオペレータ４０２（ユーザ）の教示操作と、ロボットアーム（１０３）の動作状態を示している。
【００３１】
図４において、ロボット可動範囲４０１はロボットアーム１０３の基準位置Ｐの水平（ＸＹ）方向の可動範囲を示している。このロボット可動範囲４０１は、例えばロボット装置の設置された（生産）現場の作業空間の床面上の所定範囲に相当する。
【００３２】
本実施例では、ロボットアーム１０３の基準位置Ｐを制御する３次元座標系（ロボット座標系）の直交するＸ軸およびＹ軸はロボット可動範囲４０１の辺縁に取られる。図４の例では、ロボット座標系のＸ、Ｙ（あるいはさらにＺ）の各座標軸の原点はロボット可動範囲４０１の右下の角に取られている。図４のロボット可動範囲４０１は、ロボットアーム１０３の基準位置Ｐが到達できる可動範囲と考えてよい。なお、ロボット可動範囲４０１は図４ではほぼ正方形に図示してあるが、ロボットアーム１０３の構成によっては必ずしも正方形とは限らない。
【００３３】
図４において、教示点４０４（黒丸で図示）は、例えばあるロボット動作において、オペレータ４０２がロボットアーム１０３の基準位置Ｐを到達させたい目標位置である。教示点４０４のないしその近傍位置（後述の教示近傍点）の位置（ＸＹ直交座標値）は、後述の入力制御によって特定され、ロボットアーム１０３を動作させる教示データに取り込まれる。
【００３４】
本実施例では、ロボット可動範囲４０１（ＸＹ平面）上の作業空間において、ある対象物の所定部位などに相当する教示点４０４の位置（ＸＹ座標）をカメラなどの撮像（視覚）系を必要とせず、できるだけ簡便な作業によって特定できるようにする。教示点４０４の位置には、ワークなどの対象物が実際に配置され、その教示点４０４に相当する所定部位は実際にロボット可動範囲４０１（ＸＹ平面）上の所定の高さ（Ｚ座標）に存在していてもよい。
【００３５】
あるいは、後述の入力制御は、製造工程の都合などに応じて、ロボット教示を行うタイミングにおいて、対象物がまだ存在しない状態において、実施することもできる。例えば、教示点４０４は、ロボット可動範囲４０１（ＸＹ平面）に相当する床面上に仮に配置したマーカなどの物体や、同床面上に貼り付けたテープのような目印であってもよい。この場合には、教示点４０４の高さ（Ｚ座標）は０である。
【００３６】
以下では、説明を容易にするため、例えば上記のごとく教示点４０４が床面上に配置ないし貼付された目印である場合などを想定し、教示点４０４の位置（ＸＹ座標）を特定する入力制御についてまず説明する。また、教示点４０４が０以外の高さ（Ｚ座標）情報を持っている場合の入力制御については、その後に説明する。
【００３７】
さらに図４のＡ〜Ｄにおいて、第１の位置４０５と、第２の位置４０７がそれぞれ白丸で図示されている。これら第１の位置４０５と、第２の位置４０７は、第１の方向取得工程（図４のＡおよびＢ）と、第２の方向取得工程（図４のＣおよびＤ）において方向入力を開始する時のロボットアーム１０３の基準位置Ｐの位置（ＸＹ座標）である。これら、第１の位置４０５と、第２の位置４０７は第１の方向取得工程（図４のＡおよびＢ）と、第２の方向取得工程（図４のＣおよびＤ）を開始する時の起点の位置に相当する。なお、この時、アーム先端の基準位置Ｐは、実際には０以外の高さ（Ｚ座標）の位置に存在していても構わない。
【００３８】
図４のＡ、および図４のＣは、それぞれ第１の方向取得工程、および第２の方向取得工程の開始時の状態を示している。ここの初期状態から、オペレータ４０２は、教示装置１０１を用いて第１の方向取得工程、および第２の方向取得工程において、図４のＢ、および図４のＤのように、基準位置Ｐが教示点４０４に向かうようロボットアーム１０３を動作させる。
【００３９】
この教示操作は、例えば教示装置１０１のジョイスティック２０２を用いて、目測によってロボットアーム１０３の基準位置Ｐを動作させたい方向を入力することによって行う。この時、例えば図４のＢやＤに示すように、現在位置（４０５、４０７）から右前方の教示点４０４に向かってロボットアーム１０３の基準位置Ｐを動作させたい場合、ジョイスティック２０２を右前方に倒す。
【００４０】
この時のジョイスティック２０２の操作方向と操作量（例えばスティックを倒す角度）は、ロボット制御装置１０２のＣＰＵ１０２１によって読み取られる。図４のＢおよびＤにおいて、ジョイスティック２０２の操作方向と操作量は、この操作に応じてロボットアーム１０３の基準位置Ｐを動作させる制御量として、インターフェース１０２４を介してＣＰＵ１０２１によって刻々と読み取られる。
【００４１】
例えば、ＣＰＵ１０２１は、ジョイスティック２０２の操作方向と操作量を、例えばインターフェース１０２４の入力処理が準拠するクロック（ないしその分周周期）ごとに読み取ることができる。
【００４２】
そして、ＣＰＵ１０２１は、ジョイスティック２０２の操作方向をその時点でロボットアーム１０３の基準位置Ｐを動作させる動作方向に対応づける。また、ジョイスティック２０２の操作量（例えばスティックを倒した角度）をその時点でロボットアーム１０３の基準位置Ｐを動作させる動作速度（あるいは制御周期内の移動量など）に対応づける。これにより、その時点でＣＰＵ１０２１は、ジョイスティック２０２の操作状態に応じてアームの各関節の駆動量（あるいはさらに駆動速度）を決定し、基準位置Ｐを移動させるようアームを駆動することができる。また、ＣＰＵ１０２１は、このアーム制御に伴ない、例えばＲＡＭ１０２３上の所定メモリ領域に格納されたロボットアーム１０３の基準位置Ｐの現在位置の座標値（少なくともＸＹ座標値、あるいはさらにＺ座標値）のデータを更新することができる。
【００４３】
また、第１の方向取得工程（図４のＡ〜Ｂ）、および第２の方向取得工程（図４Ｃ〜Ｄ）において、オペレータ４０２は、ロボットアーム１０３（の基準位置Ｐ）の実際の動きを目視によって観察しながら、ジョイスティック２０２を操作する。本実施例では、ロボットアーム１０３（の基準位置Ｐ）の実際の動きに応じて、ジョイスティック２０２の操作方向（と操作量）を修正しながら操作を続行することを許容する。
【００４４】
このように実際にジョイスティック２０２の操作に応じてロボットアーム１０３の基準位置Ｐを移動させる動作それ自体によって、オペレータ４０２は、基準位置Ｐが教示点４０４に正しく向かっているかをモニタできる。また、オペレータ４０２は、必要に応じてジョイスティック２０２の操作を修正できる。
【００４５】
また、この第１の方向取得工程、および第２の方向取得工程のオペレータ４０２の操作は、好ましくは、ロボットアーム１０３の基準位置Ｐが教示点４０４上、あるいはその近傍に到達するまで続行させる。しかしながら、オペレータ４０２の任意の判断によって、例えば充分精度よく教示点４０４の方向に向かっている、と判断できた時点で、ロボットアーム１０３の基準位置Ｐを動作させる操作を停止することも許容する。
【００４６】
このようにして、第１の方向取得工程（図４のＡ〜Ｂ）、および第２の方向取得工程（図４Ｃ〜Ｄ）において、第１および第２の位置（４０５、４０７）から教示点４０４に向かう動作方向４０６、４０８をそれぞれオペレータ４０２に入力させる。そして、ＣＰＵ１０２１は、第１の方向取得工程（図４のＡ〜Ｂ）、および第２の方向取得工程（図４Ｃ〜Ｄ）におけるジョイスティック２０２の操作に応じたアーム動作に応じて、動作方向４０６および４０８をそれぞれ入力する。
【００４７】
例えば、第１の方向取得工程（図４のＡ〜Ｂ）において取り込むべき動作方向４０６は、第１の位置４０５から、ジョイスティック２０２の操作が終了（従ってアーム動作が終了）した時点におけるアームの基準位置Ｐの位置を結ぶ線分の方向とする。同様に第２の方向取得工程（図４Ｃ〜Ｄ）において取り込むべき動作方向４０８は、第２の位置４０７から、ジョイスティック２０２の操作が終了（対応するアーム動作が終了）した時点におけるアームの基準位置Ｐの位置を結ぶ線分の方向とする。下記の教示（近傍）点の特定演算においては、教示（近傍）点に向かう２つの動作「方向」のみが重要である。従って、上記のように動作（操作）の起点および終点の２点間を結ぶ線分の方向を第１および第２の動作方向４０６、４０８として取得するのが最も簡単であり、また、それなりの精度を得ることができる。
【００４８】
なお、図４のＡ〜Ｂの第１の方向取得工程の開始点である第１の位置４０５から図４のＣ〜Ｄの第２の方向取得工程の開始点である第２の位置４０７への移動には種々の制御方法が考えられる。大まかにいって、第１の位置４０５から第２の位置４０７への移動はＣＰＵ１０２１の自動制御によって行う方法と、手動操作によって行う方法が考えられる。
【００４９】
例えば、図４のＡ〜Ｂの第１の方向取得工程の開始点である第１の位置４０５と、第２の方向取得工程の開始点である第２の位置４０７の座標をＲＯＭ１０２２などに記憶させておくことが考えられる。この場合、第１の方向取得工程（図４のＡ〜Ｂ）から第２の方向取得工程（図４のＣ〜Ｄ）に遷移する際、基準位置Ｐを現在位置から、ＣＰＵ１０２１はＲＯＭ１０２２の格納情報により第２の位置４０７に自動的に移動させることができる。なお、第２の方向取得工程（図４のＣ〜Ｄ）に遷移する直前の基準位置Ｐの現在位置は、例えば第１の方向取得工程（図４のＡ〜Ｂ）の動作方向の入力が終了した位置である。
【００５０】
なお、第１の位置４０５および第２の位置４０７の座標値や、これら２点間の距離などを、例えば教示装置１０１のキーボード操作などに応じてオペレータ４０２が設定可能としておく構成でもよい。後述の演算から明らかなように、第１の位置４０５および第２の位置４０７の距離は、三角測量におけるいわゆる基線長に相当し、入力精度に影響する。従って、例えば第１の位置４０５および第２の位置４０７の距離（あるいは両者の座標）を設定可能とすることによって、入力精度に係る条件を所望に制御することができる。
【００５１】
また、ＣＰＵ１０２１の自動制御で第２の位置４０７を決定する場合、第１の方向取得工程で取得した第１の動作方向４０６と直角な方向に向かって所定距離（例えば数ｃｍ〜数１０ｃｍ程度）離れた位置を第２の位置４０７として選択してもよい。この制御によって、後述の演算で用いられる三角形（例えば図５の５０１−５０２−５０３）が直角三角形となり、例えば演算過程を簡略化できる可能性がある。
【００５２】
また、第１の位置４０５および第２の位置４０７へのロボットアーム１０３の基準位置Ｐの位置決め、あるいは第１の位置４０５から第２の位置４０７への移動をオペレータ４０２の手動操作によって行ってもよい。例えば、後述する教示点４０４を特定する演算手法から明らかなように、教示点４０４を特定する演算では、第１の位置４０５および第２の位置４０７の各座標値はそれぞれ固定の値である必要はない。
【００５３】
そこで、オペレータ４０２が教示装置１０１を手動操作することによって任意に第１の位置４０５および第２の位置４０７へのロボットアーム１０３の基準位置Ｐの位置決めを行うようにしてもよい。例えば、上記の第１の方向取得工程（図４のＡ〜Ｂ）、および第２の方向取得工程（図４のＣ〜Ｄ）の各操作を開始する際、それぞれ教示装置１０１のキー操作やジョイスティック２０２により基準位置Ｐを所望の第１ないし第２の位置に移動できるようにする。そして、これらの操作終了時に、ＣＰＵ１０２１がロボットアーム１０３の基準位置Ｐを第１の位置４０５および第２の位置４０７として取り込めばよい。なお、第１および第２の位置４０５、４０７の間の距離は、仕様上の測定精度などに応じて、教示点までの距離がこの程度の場合は少なくともＸＸｃｍ程度取ること、といった規約を取扱説明書などによってオペレータ４０２に周知させることとしてもよい。
【００５４】
図４のＥは、第１の方向取得工程（図４のＡ〜Ｂ）、および第２の方向取得工程（図４Ｃ〜Ｄ）を終了した時点における、教示点４０４、第１の位置４０５および第２の位置４０７、動作方向４０６、および動作方向４０８の関係を示している。
【００５５】
第１の位置４０５および第２の位置４０７は、上述の自動制御ないし手動制御のいずれによって位置決めされているとしても、制御装置としてのＣＰＵ１０２１には既知であり、例えばＲＡＭ１０２３の所定アドレスに格納されている。また、この時点では、上述のようにして取得した動作方向４０６、および動作方向４０８も既知のデータとなっている。従って、ＣＰＵ１０２１は、第１の位置４０５および第２の位置４０７を結ぶ線分を底辺とし、動作方向４０６、および動作方向４０８に延長した直線から成る三角形の頂点（４０９）の座標を三角測量（平面三角法）の原理に基づき特定することができる。この三角形の頂点（４０９）は、教示点４０４の近傍位置、すなわち、その近似の座標値を有する教示近傍点４０９として入力することができ、例えば教示装置１０１で教示中のロボット教示データ中に記録することができる。
【００５６】
ここで、図５を用いて、上記の教示近傍点４０９（図５においては５０３）の座標を三角測量の原理に基づき特定する演算につき説明する。図５は、この演算に係る図４のＥにおける要部を抜き出して異なる参照符号により図示したものである。以下に、図４、および図５の参照符号の対応関係をコロンの前後に示す形式で記述する。
第１の位置４０５（図４）：第１の位置５０１（図５）
第２の位置４０７（図４）：第２の位置５０２（図５）
動作方向４０６（図４）：動作方向５０４（図５）
動作方向４０８（図４）：動作方向５０５（図５）
教示近傍点４０９（図４）：教示近傍点５０３（図５）
【００５７】
さらに、図５において、５０８は第１および第２の位置５０１、５０２を結ぶ線分である。また、５０６および５０７は、第１および第２の位置５０１、５０２からそれぞれ動作方向５０４、５０５に伸びる線分である。従って、三角測量の原理に従えば、教示点４０４（の近傍点）として特定すべき教示近傍点５０３は線分５０６および５０７の交わる三角形の頂点として求めることができる。
【００５８】
例えば、５０９は線分５０８と線分５０６のなす角、５１０は線分５０８と線分５０７のなす角とすると、例えば、正弦定理より線分５０７の長さを以下の式（１）のように求めることができる。
【００５９】
【数１】
2016078142.tif 000003
【００６０】
ここからさらに教示近傍点５０３を求めるには、例えば、次のような演算手法を用いる。例えば、第２の位置５０２の直交座標と、角５１０の角度値、および上記のようにして求めた線分５０７の長さから、教示近傍点５０３を求める。即ち、第２の位置５０２の直交座標から、角５１０の方向へ線分５０７の長さだけ移動した点のＸＹ直交座標を求め、この値を教示近傍点５０３の座標値として算出することができる。
【００６１】
例えば、図５の例では、第２の位置５０２の直交座標値を（ｘ５０２，ｙ５０２）とすると、教示近傍点５０３のＸ座標値は（ｌ５０７×ｃｏｓ（１８０°−∠５１０）＋ｘ５０２）と求めることができる。同様に教示近傍点５０３のＹ座標値は（ｌ５０７×ｓｉｎ（１８０°−∠５１０）＋ｙ５０２）と求めることができる。
【００６２】
次に、図３を用いて、上述の教示点（教示近傍点）の入力処理を行う場合のＣＰＵ１０２１が実行する制御手順につき説明する。図３のフローチャートに示した制御手順は、ＣＰＵ１０２１が実行する制御プログラムとして、例えばＲＯＭ１０２２やフラッシュメモリ１０２５に格納しておくことができる。なお、以下の説明では、主に図４中の参照符号を用い、対応する図５の参照符号は括弧書きで示す。
【００６３】
図３のステップＳ３０１において、ロボット制御装置１０２のＣＰＵ１０２１は現在のロボットアーム１０３の基準位置Ｐ（の直交座標）を上述の第１の位置４０５（５０１）として例えばＲＡＭ１０２３の所定アドレスに記憶する。
【００６４】
次に、ステップＳ３０２で、オペレータ４０２は教示装置２０１のジョイスティック２０２を用いて、上述の如く現在の第１の位置４０５からロボットアーム１０３の基準位置Ｐを教示点４０４に向かって動作させる第１の動作方向４０６（５０４）を入力する。この教示操作およびロボット制御は、上述の通り、ＣＰＵ１０２１がジョイスティック２０２の入力量（操作方向および操作量）を刻々と読み取りつつ、該入力量に従ってロボットアーム１０３を動作させることにより行われる。
【００６５】
次に、ステップＳ３０３で、ＣＰＵ１０２１は、ステップＳ３０２の教示操作で確定した第１の動作方向４０６（５０４）を取得し、例えばＲＡＭ１０２３の所定アドレスに記憶する。この第１の動作方向４０６は、上述の通り、第１の位置４０５（起点）から教示装置２０１の操作（と対応するアームの動作）が終了した時点のアームの基準位置Ｐ（終点）を結ぶ線分の方向である。
【００６６】
図３のステップＳ３０４は、ロボットアーム１０３の基準位置Ｐを上記第１の位置４０５（５０１）と異なる第２の位置４０７（５０２）に移動させる。この移動制御は、上述の通り、ＣＰＵ１０２１による自動制御またはオペレータ４０２の手動操作によって行うことができる。
【００６７】
次に、ステップＳ３０５において、ＣＰＵ１０２１は、現在のロボットアーム１０３の基準位置Ｐ（の直交座標）を上述の第２の位置４０７（５０２）として例えばＲＡＭ１０２３の所定アドレスに記憶する。
【００６８】
次に、ステップＳ３０６で、オペレータ４０２は教示装置２０１のジョイスティック２０２を用いて、上述の如く現在の第２の位置４０７（５０２）からロボットアーム１０３の基準位置Ｐを教示点４０４に向かって動作させる第２の動作方向４０８を入力する。この教示操作およびロボット制御は、上述のステップＳ３０２と同様に実施される。
【００６９】
次に、ステップＳ３０７で、ＣＰＵ１０２１は、ステップＳ３０６の教示操作で確定した第２の動作方向４０８（５０５）を取得し、例えばＲＡＭ１０２３の所定アドレスに記憶する。第２の動作方向４０８（５０５）は、上述の通り、第２の位置４０７（起点）から教示装置２０１の操作（と対応するアームの動作）が終了した時点のアームの基準位置Ｐ（終点）を結ぶ線分の方向である。
【００７０】
続いて、ステップＳ３０８において、ＣＰＵ１０２１は、図４のＥおよび図５で説明した上述の三角測量の原理に基づく特定演算を行い、教示近傍点（４０９、５０３）を特定し、その直交座標を取得する。
【００７１】
以上のように、本実施例によれば、教示装置２０１のジョイスティック２０２を用いて、実際に教示点（４０４）に向かってロボットアーム１０３の基準位置Ｐを動作させて、教示点（４０４）に向かう動作方向を少なくとも２つ入力する。まず、第１の方向取得工程では、第１の位置（４０５）から教示点（４０４）に向かう第１の動作方向（４０６）を取得する。続いて、第２の方向取得工程では、第２の位置（４０７）から教示点（４０４）に向かう第２の動作方向（４０８）を取得する。そして第１、第２の方向取得工程でそれぞれ入力された第１の動作方向（４０６）と、第２の動作方向（４０８）と、第１の位置および第２の位置の間の距離（図５の５０８）に基づき、三角測量の原理により教示近傍点（４０９、５０３）の位置を特定する。
【００７２】
特定された教示近傍点（４０９、５０３）は、例えば、教示装置２０１の表示装置２０３に表示したロボット可動範囲４０１に見立てた枠などの表示範囲内の対応する座標にドットなどを表示することにより、オペレータ４０２に認識させることができる。また、この際、特定済みの第１または第２の位置（４０５、４０７）、第１または第２の動作方向（４０６、４０８）などのうち、任意の情報をロボット可動範囲４０１に見立てた表示範囲内に表示出力することができる。これらの情報を表示装置２０３に表示出力する場合の表示の様式は、例えば図４のＥにおいて、４０１をロボット可動範囲に見立てた表示範囲と読み換えた図示にほぼ相当する（ただし、教示点４０４は除く）。なお、教示近傍点（４０９、５０３）の表示は、後述するような輝点照射装置の輝点照射によって行なってもよい。
【００７３】
本実施例によれば、教示装置２０１のジョイスティック２０２により、実際に教示点（４０４）に向かってロボットアーム１０３の基準位置Ｐを動作させて、教示点に向かう動作方向を少なくとも２つ入力するだけで、教示点ないしその近傍点を特定できる。従って、教示点の教示操作をカメラなどの撮像（視覚）系を必要とせず、極めて簡便な作業によって特定することができる。従って、多大なハードウェア資源に関するコストを要さず、また、演算処理も低演算コストで実施することができる。
【００７４】
なお、本実施例によって特定される教示点（ないしその近傍点）のロボット座標系における直交ＸＹ座標値は、場合によってはそれ程の精度を得られない可能性もあるが、とりあえずざっくりと教示点を特定したい場合などに好適に実施できる。例えば、ロボット可動範囲４０１に相当する作業空間にワークなどの対象物が存在しないような状態で、ある教示点（単数に限られない）の直交ＸＹ座標を大まかに求め、ロボット教示データの作成工程を先に進めたい、などといった状況で好適に実施できる。
【００７５】
また、本実施例によれば、異なる起点（第１の位置および第２の位置）からそれぞれ第１および第２の動作方向を入力すればよく、ロボットアーム１０３の基準位置Ｐは必ずしも教示点の位置まできっかり移動する必要がない。また、従来の教示操作において、ある教示点への移動を行う場合、インチング制御、ステップ制御などのように微小量ずつ基準位置Ｐを教示点まで移動させる操作方式が用いられる。このような操作方式は操作が煩雑である上に、それ程高速にロボットアーム１０３の基準位置Ｐを移動させることができない。しかしながら、本実施例の動作方向入力では必ずしもこのような操作方式を必要としない。むしろ基準位置Ｐの動作方向入力をオペレータ４０２に認識させるには、ジョイスティック２０２の操作に応じて、連続的かつ比較的高速なロボット動作が適している場合がある。以上のような理由で、本実施例の第１および第２の動作方向の入力は高速に実施することができる。
【００７６】
即ち、本実施例によれば、教示装置のジョイスティックなどの方向を入力可能な入力手段を用いて、少なくとも第１および第２の位置から第１および第２の動作方向を入力するだけで三角測量の原理により教示点（の近傍位置）を特定することができる。このため、教示データを作成する際にカメラなどの特別な装置を必要とせず、最低限の簡単安価な構成のみを用いて、教示点ないしその近傍位置を特定することができる、という優れた効果がある。
【００７７】
なお、上述の基本構成に加えて、下記のような種々の付加的な構成、あるいは変形例がいくつか考えられる。以下、上述の基本構成に加え、あるいはその一部を変更して実施できるハードウェア構成や制御・演算例について説明する。以下では、図１、図２に示した基本的なハードウェアと、図３〜図５に示したＸＹ座標系における教示点の入力制御に関しては特に断らない限り共通するものとする。
【００７８】
＜教示点のＺ軸座標値＞
以上では、教示点４０４（ないしその近傍点）のロボット座標系におけるＸＹ座標値を特定する方法について説明した。しかしながら、教示したい教示点４０４が、ロボット可動範囲４０１（図４）に配置された対象物の特定部位に対応し、０ではない高さ（Ｚ軸座標値）を有する場合も考えられる。このような０ではない高さ（Ｚ軸座標値）を有する教示点４０４を特定する手法は、次のように、いくつか考えられる。
【００７９】
まず、実際に教示装置２０１に上下方向を動作方向を入力できる操作手段を確保し、上述の第１および第２の方向取得工程において、上下方向に関しても、ある高さにある教示点４０４に向かう動作方向を入力するハードウェア構成が考えられる。具体的には、例えば、教示装置２０１に少なくとも上下の２方向を入力できる第２のジョイスティック、あるいは操作レバーなどを配置する構成が考えられる。また、同様に操作できる教示装置２０１のキーボード２０４に例えばシーソー操作の可能なキーを設ける構造も考えられる。さらに、表示装置２０３がタッチパネルなどで構成される場合は、その入力面に対するいわゆるスワイプ操作によって上下の動作方向を入力することも考えられる。
【００８０】
そして、図４の第１および第２の方向取得工程において、オペレータ４０２による上記のジョイスティック２０２と、上記のような上下方向を入力する操作手段（以下、上下操作手段という）の同時操作を行わせる。このとき、ＣＰＵ１０２１は、ジョイスティック２０２の操作に応じて、ＸＹ平面内におけるロボットアーム１０３の基準位置Ｐの移動を制御するとともに、上下操作手段に応じて、上下方向に関する基準位置Ｐの移動を制御する。
【００８１】
このような構成においても、上述の通り、ＣＰＵ１０２１は、ＸＹ座標系における基準位置Ｐの現在位置を刻々と取得でき、また、同様に上下方向（Ｚ座標系）に関する基準位置Ｐの現在の高さ（Ｚ座標値）刻々と取得することができる。
【００８２】
そして、上述同様に、第１および第２の方向取得工程で、ジョイスティック２０２と、上下操作手段による操作が終了した時点で、起点と終点の位置から、ＸＹ直交座標系における第１の動作方向（４０６）および第２の動作方向（４０８）を取得する。また、上下方向に関しては、操作／動作の起点（図４の４０５、４０７）と、操作／動作の終点を結ぶ線分と、例えばその仰角（ＸＹ平面と平行な面に対する仰角）も取得することができる。
【００８３】
そして、教示近傍点５０３（図５）のＸＹ座標を上述の演算手法に基づき特定するとともに、例えば、操作／動作の終点を結ぶ線分の仰角を用いて教示近傍点５０３（図５）の高さ（Ｚ座標値）を求めることができる。例えば、ここで、図５において、それぞれ線分５０６または５０７を底辺とし、第１の位置５０１または第２の位置５０２を頂点としその角度を第１または第２の動作方向の入力時に特定した上記の仰角とした直角三角形の高さを考える。この直角三角形の高さは、教示近傍点５０３（図５）の高さ（Ｚ座標値）に一致する。ただし、第１または第２の位置５０１、５０２が０ではない高さ（Ｚ座標値）を有している場合は、その値をオフセットとして教示近傍点５０３のＺ座標値に加算するものとする。
【００８４】
なお、上記の線分５０６または５０７を底辺、第１の位置５０１または第２の位置５０２を頂点とし、第１または第２の動作方向の入力時に特定した上記の仰角をその頂点角度とする２つの直角三角形の高さは入力誤差などによって正確に一致しない場合がある。これを考慮し、例えば、２つの直角三角形の高さの平均を用いて、教示点の高さ（Ｚ座標値）を計算するようにしてもよい。また、上記の２つの直角三角形のいずれか１つの高さを用いるだけでも教示点の高さ（Ｚ座標値）は算出することができる。
【００８５】
以上のようにして、教示点が０ではない高さ（Ｚ座標値）を有している場合にも、その方向へロボットアーム１０３の基準位置Ｐを移動させ、その際の動作方向に基づき、教示点のＸＹ直交座標のみならず高さ（Ｚ座標値）も取得することができる。
【００８６】
また、教示点が０ではない高さ（Ｚ座標値）を有しており、その高さを求める場合、より簡便な手法も考えられる。例えば、その一つとして、図３〜図５で最初に説明した教示作業および演算を行う前に、目測などによって教示点（４０４）の高さとロボットアーム１０３の基準位置Ｐを一致させておくという手法が考えられる。この場合、例えば目測などによって基準位置Ｐの高さ（Ｚ座標値）を合わせた面内で、図３〜図５で説明した作業と対応するロボット動作、および演算を行う。そして、教示点のＸＹ直交座標を上述同様に求めるとともに、教示点の高さ（Ｚ座標値）としては、最初に目測などによって合わせた基準位置Ｐの高さ（Ｚ座標値）を用いる。
【００８７】
以上のような手法により、教示点がロボット可動範囲４０１（図４）に対して０ではない高さを有している場合でも、図３〜図５で最初に説明した教示作業および演算処理を基本として教示点（ないしその近傍点）のＺ座標値を取得することができる。
【００８８】
＜輝点照射装置＞
例えば図３のステップＳ３０８において、教示近傍点（４０９、５０３）のＸＹ座標値を上述のようにして特定した場合、教示近傍点（４０９、５０３）にレーザポインタやスポットライトなどの輝点照射装置を用いて可視光の輝点を照射することができる。輝点照射装置の点灯／消灯は、インターフェース１０２４を介してＣＰＵ１０２１によって制御することができる。
【００８９】
教示近傍点（４０９、５０３）のＺ座標値を特定しない場合は、例えばロボット可動範囲４０１（図４）に対応する平面（例えば床面）上の教示近傍点（４０９、５０３）のＸＹ座標に輝点を照射する。また、教示点に対応する特定部位を有する対象物（ワークなど）が配置されている場合は、上述のようにして教示近傍点（４０９、５０３）のＺ座標値を特定し、当該の特定部位に輝点を照射してもよい。
【００９０】
輝点照射のためのレーザポインタやスポットライトなどの輝点照射装置は、例えば先に触れたように図１に示したロボットアームの基準位置Ｐ（図１）の軸上に配置することができる。輝点照射の光軸は好ましくは基準位置Ｐを通る軸と一致させるとよい。図１のような構成では、基準位置Ｐを通る軸は、ロボットハンドの回動中心軸と一致する。
【００９１】
このような構成によれば、特定のＸＹ座標に輝点を照射するには、ＣＰＵ１０２１は、例えばロボットハンドとともに輝点照射装置を垂直下方に向けた状態で、基準位置Ｐを当該のＸＹ座標に移動させる制御を行うことができる。あるいは、基準位置Ｐを教示近傍点のＸＹ座標に移動させず、遠方から輝点照射を行う場合、ロボットハンドとともに輝点照射装置の傾斜角度などを調整して当該ＸＹ座標に輝点照射を行う。このような輝点照射制御の場合は、ロボットハンドおよび輝点照射装置の傾斜角度と照射点の関係を予め校正しておく。
【００９２】
以上のような構成により、オペレータ（４０２）が視認可能な輝点により、第１および第２の方向入力に基づく演算により特定した教示近傍点（４０９、５０３）の位置を確認させることができる。
【００９３】
あるいはさらに、例えば図３のステップＳ３０８で教示近傍点（４０９、５０３）を特定し、その位置輝点照射を行なった後、オペレータ（４０２）に、教示近傍点（４０９、５０３）の位置を補正する操作を許容してもよい。
【００９４】
例えば、ロボットハンドとともに輝点照射装置（基準位置Ｐ）を垂直下方に向けた状態で、輝点照射を行っている場合には、教示装置２０１のジョイスティック２０２などによって、照射される輝点の位置を移動させる操作を受け付ける。そして、輝点の位置がオペレータ（４０２）が（本来）所望していた教示点４０４を照射するような基準位置Ｐにおいて、例えば教示装置２０１のキーボード２０４を用いて所定の決定操作を受け付ける。この決定操作には、例えばキーボード２０４に配置された［ＯＫ］や［Ｅｎｔｅｒ］キーのようなキーを用いることができる。ＣＰＵ１０２１は、この決定操作が行なわれた時の基準位置ＰのＸＹ座標値（あるいはさらにＺ座標値）を補正済みの教示近傍点（４０９、５０３）の座標値として取得する。このようにして、第１、第２の動作方向入力によって、簡単かつ迅速に大まかな教示近傍点を求め、さらに輝点表示を利用してその位置を補正し、精度よく教示近傍点を特定することができる。
【００９５】
なお、レーザポインタやスポットライトなどの輝点照射装置は、ロボットアーム１０３に設ける必要はなく、他の輝点照射専用のロボットアームや、ＣＰＵ１０２１がリモート制御可能な雲台などに設けられていてもよい。この場合の輝点照射制御は、輝点照射装置の位置が異なるだけで上述と同様である。
【００９６】
＜方位検出手段の利用＞
ロボットアーム１０３、特に基準位置Ｐの動作方向と、教示装置２０１に設けたジョイスティック２０２の操作方向の対応関係を精度良く保つために、方位検出手段を用いることが考えられる。近年のスマートフォン、携帯電話、パッド型のコンピュータなどにおいては、磁方位を検出できる方位検出手段として、電子（デジタル）コンパスのようなセンサデバイスが用いられている。
【００９７】
そこで、上記の電子（デジタル）コンパスのような方位検出手段をロボットアーム１０３、および教示装置２０１にそれぞれ搭載する。これら方位検出手段の出力は、図１のＣＰＵ１０２１が、インターフェース１０２４を介して、ロボットアーム１０３、および教示装置２０１からそれぞれ読み取ることができるよう構成する。
【００９８】
そして、例えば図３のステップＳ３０２、Ｓ３０６でロボットアーム１０３を動作させて第１の動作方向（図４の４０６）、第２の動作方向（４０８）を入力する際、ロボットアーム１０３と教示装置２０１の方位検出手段で検出される磁方位の情報を用いる。すなわち、ＣＰＵ１０２１は、教示装置２０１に設けたジョイスティック２０２の操作方向に基づき、アームの基準位置Ｐの動作方向を決定する。このとき、例えば、ジョイスティック２０２の操作方向と、ロボットアーム１０３の基準位置Ｐの動作方向が同じ磁方位を向くように制御する。
【００９９】
このような制御を行うことにより、基準位置Ｐの動作方向と教示装置２０１に設けたジョイスティック２０２の操作方向の対応関係を精度良く保つことができる。従って、第１の動作方向（図４の４０６）、第２の動作方向（４０８）を精度よく入力することができ、教示点ないしその近傍点を特定する場合の精度を向上することができる。
【０１００】
＜動作方向の入力手段＞
以上に示した構成では、動作方向の入力手段として、教示装置２０１、ないし他の場所に配置したジョイスティック２０２を例示した。しかしながら、ジョイスティック２０２に限らず、異なる起点（第１の位置および第２の位置）からそれぞれ第１および第２の動作方向を入力できるものであれば、任意の入力手段を動作方向の入力手段として用いることができる。
【０１０１】
例えば、表示装置２０３がタッチパネルなどで構成される場合は、その入力面に対するいわゆるスワイプ操作によって第１および第２の動作方向を入力することが考えられる。この場合、タッチパネルの入力面に、ロボット可動範囲４０１（図４）に相当する縦横比の入力範囲の枠などを表示する。そして、図３のステップＳ３０２およびＳ３０６において、オペレータ（４０２）に、その入力範囲内で直線的なスワイプ操作を行わせることにより、第１および第２の動作方向を入力させる。このような構成では、例えば、図４のＢやＤは、そのままタッチパネルの入力範囲（４０１）におけるスワイプ操作（４０６、４０８の矢印）の図示、と読んでも構わない。
【０１０２】
なお、上記のようなタッチパネルを用いた入力方式では、少なくとも図３のステップＳ３０２およびＳ３０６の段階では、ＣＰＵ１０２１には第１および第２の点（図４の４０５と４０７）の座標は既知となっている。このため、これら第１および第２の点（図４の４０５と４０７）の位置をロボット可動範囲４０１（図４）に対応させたタッチパネルの入力範囲中に表示してもよい。これにより、動作方向入力の起点である第１および第２の点（図４の４０５と４０７）の位置を明示的にオペレータ４０２に認識させることができる。
【０１０３】
＜実際のロボットアーム動作の省略＞
以上では、図３のステップＳ３０２およびＳ３０６（あるいは図４のＢ、Ｄ）では、ジョイスティック２０２などの操作に応じて実際にその方向にロボットアーム１０３の基準位置Ｐを動作させることを考えた。
【０１０４】
しかしながら、原理的には、異なる起点（第１の位置および第２の位置）からそれぞれ第１および第２の動作方向を入力すれば、これら２つの動作方向から教示点（の近傍点）の座標は演算することができる。従って、実際には、必ずしも図３のステップＳ３０２およびＳ３０６（あるいは図４のＢ、Ｄ）では、ジョイスティック２０２などの操作に応じて実際にその方向にロボットアーム１０３の基準位置Ｐを動作させなくても構わない。
【０１０５】
このように、実際のロボットアーム動作を省略する構成では、例えばジョイスティック２０２を短い時間倒すだけで、第１および第２の動作方向を入力することができる。また、第１および第２の動作方向は、上述のタッチパネル上のスワイプによる方式で入力することができ、この場合は、ロボット可動範囲４０１に見立てた入力範囲を用いるため、アーム動作を省略する方式により適している可能性がある。
【０１０６】
特定された教示点は、直ちに教示装置２０１の表示装置２０３にロボット可動範囲４０１に見立てた枠などを表示し、その範囲内の対応する座標にドットなどを表示することにより、オペレータ４０２に認識させることができる。あるいはこのような教示近傍点（４０９、５０３）の表示は、上記の輝点照射装置の輝点照射によって行なってもよい。
【０１０７】
以上のように実際のロボットアーム動作を省略する構成では、第１および第２の動作方向の入力をより短時間で繰り返し実行できる可能性がある。例えば、現場や作業工程の状況などによっては、大まかな教示点入力が多数回必要な場合も予想されるから、そのようなケースでは、実際のロボットアーム動作を省略する構成の方が適していることも考えられる。なお、実際のロボットアーム動作を行うか、あるいは省略するかについては、教示装置２０１を介した操作でロボット制御装置１０２に設定できるよう構成してもよい。
【０１０８】
＜他の変形例＞
上述したように、第２の位置（図４のＣ）へのロボットアーム１０３の基準位置Ｐの位置決めは、オペレータ４０２の手動操作による場合と、ＣＰＵ１０２１による自動制御による場合の２つが考えられる。このうち、ＣＰＵ１０２１による自動制御によって第２の位置（図４のＣ）へのロボットアーム１０３の基準位置Ｐを位置決めする場合、既に入力済みの動作方向４０６（同Ｂ）とほぼ直角に近い方向にある第２の位置を用いるよう制御してもよい。これにより、例えば図５に示した教示近傍点５０３を演算するための三角形が直角三角形となり（角５０９が直角となる）、演算過程が容易になり、また、演算精度を向上できる可能性がある。
【０１０９】
また、以上では、図５に示した演算に少なくとも必要な、第１および第２の位置から教示点に向かう第１および第２の動作方向を入力する構成を説明した。しかしながら、より精度を高めるために３つ以上の位置を起点とし、それぞれ３つ以上の動作方向を入力するようにしてもよい。この場合、例えば、３つ以上の複数の動作方向に相当する線分のうち２つを選び、図５と同様の三角測量による演算を行うことができる。そして、例えば、得られた２つ以上の教示近傍点の座標値の平均値を取ることによって、精度よく教示近傍点を特定することができる。
【符号の説明】
【０１１０】
１０１…教示装置、１０２…ロボット制御装置、１０３…ロボットアーム、２０３…表示装置、２０４…キーボード、４０１…ロボット可動範囲、４０２…オペレータ、４０４…教示点、４０９、５０３…教示近傍点、１０２１…ＣＰＵ、１０２２…ＲＯＭ、１０２３…ＲＡＭ、１０２５…フラッシュメモリ、Ｐ…基準位置
【図１】
2016078142.tif 000004
【図２】
2016078142.tif 000005
【図３】
2016078142.tif 000006
【図４】
2016078142.tif 000007
【図５】
2016078142.tif 000008