(57)【要約】【課題】ロボットに対する動作教示をより簡単にするのに有効な動作教示装置、ロボットシステム及び動作教示方法を提供する。【解決手段】動作教示装置３は、ロボット１００に対し、実演による動作教示を行うための実演ツール３１と、第二座標系Ｃ２における実演ツール３１の位置及び姿勢を検出する教示動作検出部３２とを有する実演装置３０と、ツール指標部が、第一座標系Ｃ１における複数の位置に配置された状態にて教示動作検出部３２が検出する位置及び姿勢の情報を取得する基準情報取得部４１６と、第一座標系Ｃ１と第二座標系Ｃ２との関係を示す座標関係情報を導出する座標キャリブレーション部４１７と、実演作業中に教示動作検出部３２が検出する位置及び姿勢の推移を示す情報を取得する実演情報取得部４２５と、実演情報取得部４２５が取得する情報と座標関係情報とに基づいてロボット１００の動作指令を生成する動作指令生成部４２７と、を備える。【選択図】図４
2020006445.tif 000002
【特許請求の範囲】
【請求項１】
先端部と、第一座標系における前記先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、前記第一座標系と異なる第二座標系における前記実演ツールの位置及び姿勢を検出する教示動作検出部とを有する実演装置と、
前記実演ツールに設けられたツール指標部が、第一座標系における複数の位置に配置された状態にて前記教示動作検出部が検出する位置及び姿勢の情報を取得する基準情報取得部と、
前記基準情報取得部が取得する情報に基づいて、前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出する座標キャリブレーション部と、
前記実演ツールを用いた実演作業中に前記教示動作検出部が検出する位置及び姿勢の推移を示す情報を取得する実演情報取得部と、
前記実演情報取得部が取得する情報と前記座標関係情報とに基づいて前記先端部の動作指令を生成する動作指令生成部と、を備える動作教示装置。
【請求項２】
前記実演ツールが実演作業対象物を保持した状態での実演により、前記先端部が作業対象物を保持した状態での前記ロボットの動作が教示される場合に、前記実演作業対象物を予め定められた位置及び姿勢に配置するための前記実演ツールの位置及び姿勢に基づいて、前記実演ツールによる前記実演作業対象物の保持姿勢を示す姿勢情報を導出する姿勢キャリブレーション部を更に備え、
前記動作指令生成部は、前記実演情報取得部が取得する情報と前記座標関係情報と前記姿勢情報とに基づいて前記先端部の動作指令を生成する、請求項１記載の動作教示装置。
【請求項３】
前記ツール指標部の位置を固定した状態で前記教示動作検出部が検出する前記実演ツールの複数の位置及び姿勢に基づいて、前記実演ツールにおける前記ツール指標部の位置を示す指標位置情報を導出する指標キャリブレーション部を更に備え、
前記座標キャリブレーション部は、前記基準情報取得部が取得する情報と、前記指標位置情報とに基づいて前記座標関係情報を導出する、請求項１又は２記載の動作教示装置。
【請求項４】
前記基準情報取得部は、
前記ロボットに設けられたロボット指標部が複数の基準情報取得箇所に配置されたときの前記ロボットの姿勢に基づいて前記複数の基準情報取得箇所の前記第一座標系における位置の情報を導出する第一取得部と、
前記複数の基準情報取得箇所のそれぞれに配置された前記ロボット指標部に前記ツール指標部が接した状態にて前記教示動作検出部が検出する位置及び姿勢の情報を取得する第二取得部と、を有する、請求項１〜３のいずれか一項記載の動作教示装置。
【請求項５】
前記ツール指標部は、前記ロボット指標部に嵌合するように構成されている、請求項４記載の動作教示装置。
【請求項６】
前記ツール指標部は、前記ロボット指標部を吸着するように構成されている、請求項４又は５記載の動作教示装置。
【請求項７】
前記教示動作検出部は、
前記実演ツールに接続され、前記実演ツールの位置及び姿勢に応じて動作する受動型の多関節アームと、
前記受動型の多関節アームの姿勢を検出するセンサとを有する、請求項１〜６のいずれか一項記載の動作教示装置。
【請求項８】
複数の座標指定箇所に前記ツール指標部が配置されたときに前記教示動作検出部が検出する位置及び姿勢の情報を取得する座標指定取得部と、
前記座標指定取得部が取得する情報に基づいて、前記第一座標系及び前記第二座標系と異なる第三座標系を設定する座標設定部とを更に備える、請求項１〜７のいずれか一項記載の動作教示装置。
【請求項９】
前記ツール指標部は、前記実演ツールに対して着脱可能である、請求項１〜８のいずれか一項記載の動作教示装置。
【請求項１０】
請求項１〜９のいずれか一項記載の前記動作教示装置と、
前記ロボットと、を備えるロボットシステム。
【請求項１１】
先端部と、第一座標系における前記先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、前記第一座標系と異なる第二座標系における前記実演ツールの位置及び姿勢を検出する教示動作検出部とを有する実演装置において、前記実演ツールに設けられたツール指標部が第一座標系における複数の位置に配置された状態にて前記教示動作検出部が検出する位置及び姿勢の情報を含む基準情報を取得することと、
前記基準情報に基づいて、前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出することと、
前記実演ツールを用いた実演作業中に前記教示動作検出部が検出する位置及び姿勢の推移を示す情報を含む実演動作情報を取得することと、
前記実演動作情報と前記座標関係情報とに基づいて前記先端部の動作指令を生成することと、を含む動作教示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、動作教示装置、ロボットシステム及び動作教示方法に関する。
【背景技術】
【０００２】
特許文献１には、ダミー工具と、ダミー工具の三次元空間における座標位置と姿勢を検出する手段とを備え、教示したい位置に配置されたダミー工具の三次元空間における座標位置と姿勢を教示データとして記憶する教示装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−１３８１８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、ロボットに対する動作教示をより簡単にするのに有効な動作教示装置、ロボットシステム及び動作教示方法を提供する。
【課題を解決するための手段】
【０００５】
本開示の一側面に係る動作教示装置は、先端部と、第一座標系における先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、第一座標系と異なる第二座標系における実演ツールの位置及び姿勢を検出する教示動作検出部とを有する実演装置と、実演ツールに設けられたツール指標部が、第一座標系における複数の位置に配置された状態にて教示動作検出部が検出する位置及び姿勢の情報を取得する基準情報取得部と、基準情報取得部が取得する情報に基づいて、第一座標系と第二座標系との関係を示す座標関係情報を導出する座標キャリブレーション部と、実演ツールを用いた実演作業中に教示動作検出部が検出する位置及び姿勢の推移を示す情報を取得する実演情報取得部と、実演情報取得部が取得する情報と座標関係情報とに基づいて先端部の動作指令を生成する動作指令生成部と、を備える。
【０００６】
本開示の他の側面に係るロボットシステムは、上記動作教示装置と、ロボットと、を備える。
【０００７】
本開示の更に他の側面に係る動作教示方法は、先端部と、第一座標系における先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、第一座標系と異なる第二座標系における実演ツールの位置及び姿勢を検出する教示動作検出部とを有する実演装置において、実演ツールに設けられたツール指標部が第一座標系における複数の位置に配置された状態にて教示動作検出部が検出する位置及び姿勢の情報を含む基準情報を取得することと、基準情報に基づいて、第一座標系と第二座標系との関係を示す座標関係情報を導出することと、実演ツールを用いた実演作業中に教示動作検出部が検出する位置及び姿勢の推移を示す情報を含む実演動作情報を取得することと、実演動作情報と座標関係情報とに基づいて先端部の動作指令を生成することと、を含む。
【発明の効果】
【０００８】
本開示によれば、ロボットに対する動作教示をより簡単にするのに有効な動作教示装置、ロボットシステム及び動作教示方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】ロボットシステムの構成を例示する模式図である。
【図２】垂直多関節ロボットの構成を例示する模式図である。
【図３】実演装置の構成を例示する模式図である。
【図４】教示用コンピュータの機能的構成を例示するブロック図である。
【図５】ロボットコントローラの機能的構成を例示するブロック図である。
【図６】ロボットコントローラ及び教示用コンピュータのハードウェア構成を例示するブロック図である。
【図７】動作教示手順を例示するフローチャートである。
【図８】実演装置の指標キャリブレーション手順を例示するフローチャートである。
【図９】球チップを窪み部に嵌合させた状態を示す模式図である。
【図１０】窪み部を球チップに嵌合させた状態を示す模式図である。
【図１１】ロボットの指標キャリブレーション手順を例示するフローチャートである。
【図１２】座標キャリブレーション手順を例示するフローチャートである。
【図１３】ユーザ座標設定手順を例示するフローチャートである。
【図１４】球チップが配置される複数の座標指定箇所を例示する模式図である。
【図１５】姿勢キャリブレーション手順を例示するフローチャートである。
【図１６】位置決め治具にワークの位置及び姿勢を合わせた状態を示す模式図である。
【図１７】動作指令補正手順を例示するフローチャートである。
【発明を実施するための形態】
【００１０】
以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【００１１】
〔ロボットシステム〕
本実施形態に係るロボットシステム１は、ワークＷに対して研磨作業を行うためのシステムである。なお、ロボットシステム１により実行する作業は研磨作業に限られない。ロボットシステム１は、予め教示した動作に従ってロボットを動作させる限り、ロボットにいかなる作業を実行させるものであってもよい。図１に示すように、ロボットシステム１は、ロボット装置２と動作教示装置３とを備える。
【００１２】
（ロボット装置）
ロボット装置２は、ロボット１００と、ロボットコントローラ２００とを有する。ロボット１００は、ワークＷを研磨機４に押し付けることでワークＷの研磨作業を行う。ロボットコントローラ２００は、予め教示された動作に従ってワークＷに対する研磨作業を行うようにロボット１００を制御する。
【００１３】
図２に例示するように、ロボット１００は、６軸の垂直多関節ロボットであり、先端部１１０と、基部１２０と、基部１２０に対する先端部１１０の位置及び姿勢を変更する多関節アーム１３０とを備える。基部１２０は、ロボット１００の作業エリアにおいて例えば床面に設置されている。なお、基部１２０が台車等の可動部に設置される場合もある。多関節アーム１３０は、基部１２０と先端部１１０とを接続し、第一座標系Ｃ１（ロボット座標系）における先端部１１０の位置及び姿勢を変更する。ロボット座標系は、ロボット１００の制御の基準となる座標系であり、例えば基部１２０に固定された座標系である。
【００１４】
例えば多関節アーム１３０は、旋回部１３１と、第一アーム１３２と、第二アーム１３３と、手首部１３４と、アクチュエータ１５１，１５２，１５３，１５４，１５５，１５６とを有する。旋回部１３１は、鉛直な軸線Ａｘ１まわりに旋回可能となるように、基部１２０の上部に設けられている。すなわち多関節アーム１３０は、軸線Ａｘ１まわりに旋回部１３１を旋回可能とする関節１４１を有する。
【００１５】
第一アーム１３２は、軸線Ａｘ１に交差（例えば直交）する軸線Ａｘ２まわりに揺動可能となるように旋回部１３１に接続されている。すなわち多関節アーム１３０は、軸線Ａｘ２まわりに第一アーム１３２を揺動可能とする関節１４２を有する。なお、ここでの交差とは、所謂立体交差のように、互いにねじれの関係にある場合も含む。以下においても同様である。
【００１６】
第二アーム１３３は、軸線Ａｘ１に交差する軸線Ａｘ３まわりに揺動可能となるように、第一アーム１３２の端部に接続されている。すなわち多関節アーム１３０は、軸線Ａｘ３まわりに第二アーム１３３を揺動可能とする関節１４３を有する。軸線Ａｘ３は軸線Ａｘ２に平行であってもよい。
【００１７】
手首部１３４は、旋回アーム１３５及び揺動アーム１３６を有する。旋回アーム１３５は、第二アーム１３３の中心に沿って第二アーム１３３の端部から延出しており、第二アーム１３３の中心に沿う軸線Ａｘ４まわりに旋回可能である。すなわち多関節アーム１３０は、軸線Ａｘ４まわりに旋回アーム１３５を旋回可能とする関節１４４を有する。
【００１８】
揺動アーム１３６は、軸線Ａｘ４に交差（例えば直交）する軸線Ａｘ５まわりに揺動可能となるように旋回アーム１３５の端部に接続されている。すなわち多関節アーム１３０は、軸線Ａｘ５まわりに揺動アーム１３６を揺動可能とする関節１４５を有する。
【００１９】
先端部１１０は、揺動アーム１３６の中心に沿う軸線Ａｘ６まわりに旋回可能となるように、揺動アーム１３６の端部に接続されている。すなわち多関節アーム１３０は、軸線Ａｘ６まわりに先端部１１０を旋回可能とする関節１４６を有する。
【００２０】
アクチュエータ１５１，１５２，１５３，１５４，１５５，１５６は、例えば電動モータを動力源とし、多関節アーム１３０の複数の関節１４１，１４２，１４３，１４４，１４５，１４６をそれぞれ駆動する。例えばアクチュエータ１５１は、軸線Ａｘ１まわりに旋回部１３１を旋回させ、アクチュエータ１５２は軸線Ａｘ２まわりに第一アーム１３２を揺動させ、アクチュエータ１５３は軸線Ａｘ３まわりに第二アーム１３３を揺動させ、アクチュエータ１５４は軸線Ａｘ４まわりに旋回アーム１３５を旋回させ、アクチュエータ１５５は軸線Ａｘ５まわりに揺動アーム１３６を揺動させ、アクチュエータ１５６は軸線Ａｘ６まわりに先端部１１０を旋回させる。すなわちアクチュエータ１５１〜１５６は、関節１４１〜１４６をそれぞれ駆動する。
【００２１】
先端部１１０には、ハンド１６０が設けられている。ハンド１６０は、ワークＷ等の把持対象物を把持するためのツールであり、先端部１１０に設けられている。ハンド１６０は、本体１６１と、複数の指部１６２とを有する。複数の指部１６２は、把持対象物の配置領域を囲む（又は挟む）ように配置され、それぞれ本体１６１に接続されている。本体１６１は先端部１１０に装着され、例えば電動モータを駆動源として複数の指部１６２を駆動する。本体１６１は、把持対象物を把持する際に複数の指部１６２を互いに近付け、把持対象物を解放する際に複数の指部１６２を互いに遠ざける。
【００２２】
ハンド１６０は、力センサ１７０を介して先端部１１０に取り付けられている。力センサ１７０は、ハンド１６０に作用する力を検出する。例えば力センサ１７０は、互いに直交する三軸線に沿った力と、当該三軸線まわりのトルクと、の６種類の力を検出する６軸型の力センサである。
【００２３】
上述したロボット１００の構成はあくまで一例である。ロボット１００は、基部１２０に対する基部１２０の位置及び姿勢を多関節アーム１３０により変更する限りいかに構成されていてもよい。例えばロボット１００は、上記６軸の垂直多関節ロボットに冗長軸を追加した７軸のロボットであってもよい。
【００２４】
（動作教示装置）
図１に戻り、動作教示装置３は、実演装置３０と、教示用コンピュータ４００とを有する。実演装置３０は、実演ツール３１と、教示動作検出部３２とを有する。実演ツール３１は、ロボット１００に対し、実演による動作教示を行うためのツールである。例えば実演ツール３１は、教示対象の作業における作業対象物に取り付けられ、当該作業対象物と共に動いて位置及び姿勢の計測ターゲットとなる。
【００２５】
教示動作検出部３２は、上記第一座標系Ｃ１と異なる第二座標系Ｃ２における実演ツール３１の位置及び姿勢を検出する。例えば教示動作検出部３２は、実演ツール３１に接続され、実演ツール３１の位置及び姿勢に応じて動作する受動型の多関節アーム３３と、多関節アーム３３の姿勢を検出するセンサ３４とを有する。なお、教示動作検出部３２は、第二座標系Ｃ２における実演ツール３１の位置及び姿勢を検出する限りいかに構成されていてもよい。例えば教示動作検出部３２は、画像情報等に基づいて実演ツール３１の位置及び姿勢を非接触で検出するものであってもよい。
【００２６】
教示用コンピュータ４００は、実演により示される動作のデータを実演装置３０から取得し、取得したデータに基づいてロボット１００の動作指令を生成する。以下、実演ツール３１の位置及び姿勢を接触式で検出する場合の一例として、上述したアーム式の実演装置３０の構成をより詳細に説明する。
【００２７】
図３に示すように、実演装置３０は、デジタイザ３００と、実演作業ツール３６０と、球ツール３７０と、球受けツール３８０とを有する。デジタイザ３００は、基部３１０と、先端部３２０と、多関節アーム３３０とを有する。基部３１０は、ロボット１００の作業エリアにおいて例えば床面に設置されている。なお、基部３１０は台車などの可動部に設置される場合もある。
【００２８】
多関節アーム３３０は、上記多関節アーム３３の一例である。多関節アーム３３０は、基部３１０と先端部３２０とを接続し、上記第二座標系Ｃ２（実演座標系）における先端部３２０の位置及び姿勢に応じて動作する。実演座標系は、実演ツール３１の位置及び姿勢の検出基準として予め設定された座標系であり、例えば基部３１０に固定された座標系である。
【００２９】
例えば多関節アーム３３０は、旋回部３３１と、第一アーム３３２と、第二アーム３３３と、手首部３３４と、角度センサ３５１，３５２，３５３，３５４，３５５，３５６とを有する。
【００３０】
旋回部３３１は、鉛直な軸線Ａｘ１１まわりに旋回可能となるように、基部３１０の上部に設けられている。すなわち多関節アーム３３０は、軸線Ａｘ１まわりに旋回部３３１を旋回可能とする関節３４１を有する。
【００３１】
第一アーム３３２は、軸線Ａｘ１１に交差（例えば直交）する軸線Ａｘ１２まわりに揺動可能となるように旋回部３３１に接続されている。すなわち多関節アーム３３０は、軸線Ａｘ１２まわりに第一アーム３３２を揺動可能とする関節３４２を有する。
【００３２】
第二アーム３３３は、軸線Ａｘ１１に交差する軸線Ａｘ１３まわりに揺動可能となるように、第一アーム３３２の端部に接続されている。すなわち多関節アーム３３０は、軸線Ａｘ１３まわりに第二アーム３３３を揺動可能とする関節３４３を有する。軸線Ａｘ１３は軸線Ａｘ１２に平行であってもよい。
【００３３】
手首部３３４は、旋回アーム３３５及び揺動アーム３３６を有する。旋回アーム３３５は、第二アーム３３３の中心に沿って第二アーム３３３の端部から延出しており、第二アーム３３３の中心に沿う軸線Ａｘ１４まわりに旋回可能である。すなわち多関節アーム３３０は、軸線Ａｘ１４まわりに旋回アーム３３５を旋回可能とする関節３４４を有する。
【００３４】
揺動アーム３３６は、軸線Ａｘ１４に交差（例えば直交）する軸線Ａｘ１５まわりに揺動可能となるように旋回アーム３３５の端部に接続されている。すなわち多関節アーム３３０は、軸線Ａｘ５まわりに揺動アーム３３６を揺動可能とする関節３４５を有する。
【００３５】
先端部３２０は、揺動アーム３３６の中心に沿う軸線Ａｘ１６まわりに旋回可能となるように、揺動アーム３３６の端部に接続されている。すなわち多関節アーム３３０は、軸線Ａｘ１６まわりに先端部３２０を旋回可能とする関節３４６を有する。
【００３６】
角度センサ３５１，３５２，３５３，３５４，３５５，３５６は、上記センサ３４の一例である。角度センサ３５１，３５２，３５３，３５４，３５５，３５６は、例えばロータリーエンコーダ又はポテンショメータ等の角度センサであり、多関節アーム３３０の複数の関節３４１，３４２，３４３，３４４，３４５，３４６の動作角度をそれぞれ検出する。例えば角度センサ３５１は、軸線Ａｘ１１まわりの旋回部１３１の旋回角度を検出し、角度センサ３５２は軸線Ａｘ１２まわりの第一アーム３３２の揺動角度を検出し、角度センサ３５３は軸線Ａｘ１３まわりの第二アーム３３３の揺動角度を検出し、角度センサ３５４は軸線Ａｘ１４まわりの旋回アーム３３５の旋回角度を検出し、角度センサ３５５は軸線Ａｘ１５まわりの揺動アーム３３６の揺動角度を検出し、角度センサ３５６は軸線Ａｘ１６まわりの先端部３２０の旋回角度を検出する。
【００３７】
実演作業ツール３６０、球ツール３７０及び球受けツール３８０は、いずれも先端部３２０に対して着脱可能なツールである。本構成において、上記実演ツール３１は、先端部３２０と、実演作業ツール３６０と、球ツール３７０と、球受けツール３８０とを含む。
【００３８】
実演作業ツール３６０は、ワークＷ等の把持対象物を把持するためのツールである。例えば実演作業ツール３６０は、装着部３６１と、ハンド３６２と、力センサ３６３とを有する。装着部３６１は、先端部３２０に対して着脱される。ハンド３６２は、上記把持対象物を把持する部分である。ハンド３６２は、本体３６４と、複数の指部３６５とを有する。複数の指部３６５は、把持対象物の配置領域を囲む（又は挟む）ように配置され、それぞれ本体３６４に接続されている。本体３６４は、例えば作業者の手動操作によって複数の指部３６５を動かす。本体３６４は、把持対象物を把持する際に複数の指部３６５を互いに近付け、把持対象物を解放する際に複数の指部３６５を互いに遠ざける。
【００３９】
ハンド３６２は、力センサ３６３を介して装着部３６１に取り付けられている。力センサ３６３は、実演ツール３１に作用する力の一例として、ハンド３６２に作用する力を検出する。例えば力センサ３６３は、互いに直交する三軸線に沿った力と、当該三軸線まわりのトルクと、の６種類の力を検出する６軸型の力センサである。
【００４０】
球ツール３７０は、実演ツール３１に第一のツール指標部を設けるためのツールである。例えば球ツール３７０は、装着部３７１と、球チップ３７２とを有する。装着部３７１は、先端部３２０に対して着脱される。球チップ３７２は、球状の外形を有し、装着部３７１に固定されている。装着部３７１が先端部３２０に装着されると、球チップ３７２が実演ツール３１に設けられた第一のツール指標部となる。
【００４１】
球受けツール３８０は、実演ツール３１に第二のツール指標部を設けるためのツールである。例えば球受けツール３８０は、把持対象部３８１と、球受け部３８２とを有する。把持対象部３８１は、ハンド３６２により把持可能な部分である。球受け部３８２は、把持対象部３８１に固定されている。球受けツール３８０は、把持対象部３８１をハンド３６２に把持させることにより、実演作業ツール３６０を介して先端部３２０に装着される。球受けツール３８０が先端部３２０に装着されると、球受け部３８２が実演ツール３１に設けられた第二のツール指標部となる。
【００４２】
球受け部３８２の端面には、窪み部３８３が形成されている。窪み部３８３には、上記球チップ３７２を嵌合させることが可能である。換言すると、球チップ３７２は、球受け部３８２に嵌合するように構成されている。球チップ３７２は、球受け部３８２に吸着するように構成されていてもよい。例えば、球受け部３８２が永久磁石を含み、球チップ３７２が鉄等の軟磁性材料を含んでいる。球チップ３７２が永久磁石を含み、球チップ３７２が鉄等の軟磁性材料を含んでいてもよい。球チップ３７２及び球受け部３８２の両方が永久磁石を含んでいてもよい。
【００４３】
なお、球受けツール３８０は、把持対象部３８１をハンド１６０に把持させることにより、ハンド１６０を介して先端部１１０にも装着される。球受けツール３８０が先端部１１０に装着されると、球受け部３８２がロボット１００に設けられたロボット指標部となる。また、ロボット指標部は、必ずしも球受けツール３８０により構成されていなくてもよく、ロボット１００の外表面の一部（例えば先端部１１０の外周面）等に設けられていてもよい。
【００４４】
（教示用コンピュータ）
続いて、教示用コンピュータ４００の構成を詳細に例示する。教示用コンピュータ４００は、実演ツール３１に設けられたツール指標部が、第一座標系Ｃ１における複数の位置に配置された状態にて教示動作検出部３２が検出する位置及び姿勢の情報を含む基準情報を取得することと、基準情報に基づいて、第一座標系Ｃ１と第二座標系Ｃ２との関係を示す座標関係情報を導出することと、実演ツールを用いた実演作業中に教示動作検出部が検出する位置及び姿勢の推移を示す情報を含む実演動作情報を取得することと、実演動作情報と座標関係情報とに基づいて先端部３２０の動作指令を生成することと、を実行するように構成されている。
【００４５】
例えば教示用コンピュータ４００は、図４に示すように、機能上の構成（以下、「機能モジュール」という。）として、角度情報取得部４１１と、角度情報取得部４１２と、モデル保持部４１３と、モデル保持部４１４と、基準情報取得部４１６と、座標キャリブレーション部４１７と、座標情報保持部４１８と、実演情報取得部４２５と、実演情報保持部４２６と、動作指令生成部４２７と、動作指令登録部４２８とを有する。
【００４６】
角度情報取得部４１１は、多関節アーム３３０の関節３４１，３４２，３４３，３４４，３４５，３４６の動作角度の情報を角度センサ３５１，３５２，３５３，３５４，３５５，３５６からそれぞれ取得する。角度情報取得部４１２は、多関節アーム１３０の関節１４１，１４２，１４３，１４４，１４５，１４６の動作角度の情報をロボット１００から取得する。
【００４７】
モデル保持部４１３は、実演装置３０のモデル情報を記憶する。モデル情報の具体例としては、実演装置３０の構造を複数のリンクと複数のノードとで表した場合の各リンクの長さ情報等が挙げられる。実演装置３０のモデル情報は、実演作業ツール３６０が先端部３２０に装着された状態、球ツール３７０が先端部３２０に装着された状態、球受けツール３８０が先端部３２０に装着された状態のそれぞれのモデル情報を含む。
【００４８】
モデル保持部４１４は、ロボット１００のモデル情報を記憶する。モデル情報の具体例としては、ロボット１００の構造を複数のリンクと複数のノードとで表した場合の各リンクの長さ情報等が挙げられる。
【００４９】
力情報取得部４４１は、実演ツール３１に作用する力の情報を力センサ３６３から取得する。基準情報取得部４１６は、実演ツールに設けられたツール指標部が、第一座標系Ｃ１における複数の位置に配置された状態にて教示動作検出部３２が検出する位置及び姿勢の情報を含む基準情報を取得する。実演ツール３１に設けられたツール指標部の具体例としては、球ツール３７０が先端部３２０に装着された状態における球チップ３７２が挙げられる。
【００５０】
例えば基準情報取得部４１６は、より細分化された機能モジュールとして、第一取得部４３１と、第二取得部４３２とを有する。第一取得部４３１は、ロボット１００に設けられたロボット指標部が複数の基準情報取得箇所に配置されたときのロボット１００の姿勢に基づいて、複数の基準情報取得箇所の第一座標系Ｃ１における位置の情報を導出する。ロボット１００に設けられたロボット指標部の具体例としては、球受けツール３８０が先端部１１０に装着された状態における球受け部３８２が挙げられる。例えば第一取得部４３１は、先端部１１０に装着された球受けツール３８０の球受け部３８２が複数の基準情報取得箇所に配置された状態にて、角度情報取得部４１２が取得する関節１４１，１４２，１４３，１４４，１４５，１４６の角度情報と、モデル保持部４１４が記憶するロボット１００のモデル情報とに基づく順運動学演算によって、第一座標系Ｃ１における球受け部３８２の位置情報を導出する。
【００５１】
第二取得部４３２は、上記複数の基準情報取得箇所にそれぞれに配置されたロボット指標部にツール指標部が接した状態にて教示動作検出部３２が検出する位置及び姿勢の情報を取得する。例えば第二取得部４３２は、上記複数の基準情報取得箇所にそれぞれに配置された球受け部３８２（先端部１１０に装着された球受けツール３８０の球受け部３８２）の窪み部３８３に球チップ３７２（先端部３２０に装着された球ツール３７０の球チップ３７２）が嵌合した状態にて、角度情報取得部４１１が取得する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報を取得する。
【００５２】
座標キャリブレーション部４１７は、上記基準情報に基づいて、第一座標系Ｃ１と第二座標系Ｃ２との関係を示す座標関係情報を導出する。座標変換情報は、第一座標系Ｃ１の原点と第二座標系Ｃ２の原点とのずれを示す座標間オフセット情報と、第一座標系Ｃ１と第二座標系Ｃ２との姿勢の差異を示す座標間角度情報とを含む。例えば座標キャリブレーション部４１７は、第二取得部４３２が取得する情報と、モデル保持部４１３が記憶する実演装置３０のモデル情報とに基づく順運動学演算により、上記複数の測定対象箇所の第二座標系Ｃ２における位置を導出する。これにより、複数の基準情報取得箇所のそれぞれについて、第一座標系Ｃ１における位置の情報（以下、「第一位置情報」という。）と、第二座標系Ｃ２における位置の情報（以下、「第二位置情報」という。）とが得られた状態となる。
【００５３】
第一位置情報と第二位置情報とは、上記座標間オフセット情報及び上記座標間角度情報を介して相関する。そこで座標キャリブレーション部４１７は、上記複数の基準情報取得箇所の第一位置情報と、当該複数の測定対象箇所の第二位置情報との間の相関関係を上記座標間オフセット情報及び上記座標間角度情報として導出する。なお、基準情報取得箇所の数は、上記座標間オフセット情報及び上記座標間角度情報が含む変数を全て導出可能な数以上であればよい。
【００５４】
座標情報保持部４１８は、座標キャリブレーション部４１７により導出された座標関係情報を記憶する。
【００５５】
実演情報取得部４２５は、実演ツール３１を用いた実演作業中に教示動作検出部３２が検出する位置及び姿勢の推移の情報を含む実演動作情報を取得する。実演ツール３１を用いた実演作業の具体例としては、実演ツール３１を介して実演作業対象物を保持し、実演ツール３１を動かすことで、先端部１１０が作業対象物を保持した状態でのロボット１００の動作を教示する作業が挙げられる。例えば、動作教示の作業者は、先端部３２０に実演作業ツール３６０を装着し、実演作業ツール３６０のハンド３６２によって実演作業対象物（例えばワークＷ）を保持させ、装着部３６１を握りながら実演作業を行う。実演情報取得部４２５が取得する実演動作情報は、実演作業中に実演ツール３１に作用する力の推移を示す情報（以下、「実演中の力情報」という。）を更に含んでいてもよい。実演作業中に実演ツール３１に作用する力は、例えば力センサ３６３により検出される。
【００５６】
例えば実演情報取得部４２５は、実演作業中に角度情報取得部４１１が取得する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報と、モデル保持部４１３が記憶する実演装置３０のモデル情報とに基づく順運動学演算により、実演作業中の実演ツール３１の位置及び姿勢の情報を導出する。また、実演情報取得部４２５は、実演作業中に力情報取得部４４１が力センサ３６３から取得する力の推移を示す情報を実演中の力情報として取得する。
【００５７】
実演情報保持部４２６は、実演情報取得部４２５により取得された実演動作情報を記憶する。動作指令生成部４２７は、実演情報保持部４２６が記憶する実演動作情報と、座標情報保持部４１８が記憶する座標関係情報とに基づいて、先端部１１０の動作指令を生成する。例えば動作指令生成部４２７は、座標情報保持部４１８が記憶する座標関係情報に基づく第二座標系Ｃ２から第一座標系Ｃ１への座標変換により、第一座標系Ｃ１における先端部１１０の動作指令を生成する。より具体的に、動作指令生成部４２７は、実演動作情報に対して、座標関係情報が含む上記座標間角度情報に基づく回転変換処理（例えば回転変換行列の乗算）と、上記座標間オフセット情報に基づくオフセット処理（例えばオフセットベクトルの加算）とを施して第一座標系Ｃ１における先端部１１０の動作指令を生成する。
【００５８】
先端部１１０の動作指令は、動作指令に従った動作中に先端部１１０に作用する力の目標推移を示す力指令を含んでいてもよい。例えば動作指令生成部４２７は、座標関係情報に基づく第二座標系Ｃ２から第一座標系Ｃ１への座標変換を上記実演中の力情報に施すことで力指令を導出する。
【００５９】
なお、第一座標系Ｃ１における先端部１１０の動作指令は、第一座標系Ｃ１における先端部１１０の位置及び姿勢の推移を特定し得る限り、いかなる形式の情報であってもよい。例えば、先端部１１０の動作指令は、第一座標系Ｃ１における先端部１１０の位置及び姿勢を直接的に示す情報であってもよいし、第一座標系Ｃ１における先端部１１０の位置及び姿勢を間接的に示す情報であってもよい。
【００６０】
第一座標系Ｃ１における先端部１１０の位置及び姿勢を直接的に示す情報の具体例としては、先端部１１０の位置の推移を第一座標系Ｃ１の座標軸ごとの数値で表した情報と、先端部１１０の姿勢の推移を第一座標系Ｃ１の座標軸まわりの角度で表した情報とを含む。第一座標系Ｃ１における先端部１１０の位置及び姿勢を間接的に示す情報は、例えば、第一座標系Ｃ１とは異なるが第一座標系Ｃ１との関係が既知の座標系における先端部１１０の位置及び姿勢を示す情報である。
【００６１】
動作指令登録部４２８は、動作指令生成部４２７により生成された先端部１１０の動作指令をロボットコントローラ２００に送信する。
【００６２】
上述した機能モジュールに加え、教示用コンピュータ４００は、指標キャリブレーション部４１５を更に有してもよい。指標キャリブレーション部４１５は、実演ツール３１におけるツール指標部の位置を示す指標位置情報を導出する。例えば指標キャリブレーション部４１５は、上記先端部３２０に球ツール３７０が装着された状態で、実演ツール３１における球チップ３７２の位置を示す第一指標位置情報を導出する。球チップ３７２の位置の情報は、例えば先端部３２０に固定された座標系での球チップ３７２の位置の情報である。
【００６３】
例えば指標キャリブレーション部４１５は、球チップ３７２の位置が固定された状態で教示動作検出部３２が検出する実演ツール３１の複数の位置及び姿勢に基づいて、第一指標位置情報を導出する。より具体的に、指標キャリブレーション部４１５は、球チップ３７２の位置を一定にしながら実演ツール３１の姿勢が複数の指標情報取得姿勢とされた状態にて角度センサ３５１，３５２，３５３，３５４，３５５，３５６が検出する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報を取得する。指標キャリブレーション部４１５は、複数の指標情報取得姿勢のいずれにおいても、関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報と、モデル保持部４１３が記憶する実演装置３０のモデル情報と、第一指標位置情報とに基づいて導出される球チップ３７２の第二座標系Ｃ２における位置が同じになるように、第一指標位置情報を導出する。指標情報取得姿勢の数は、第一指標位置情報が含む変数を全て導出可能な数以上であればよい。指標キャリブレーション部４１５は、導出した第一指標位置情報を、球ツール３７０が先端部３２０に装着された状態の実演装置３０のモデル情報としてモデル保持部４１３に登録する。
【００６４】
指標キャリブレーション部４１５は、先端部３２０に球受けツール３８０が装着された状態で、実演ツール３１に対する球受け部３８２の位置を示す第二指標位置情報を更に導出してもよい。球受け部３８２の位置の情報は、例えば先端部３２０に固定された座標系での球受け部３８２の窪み部３８３の位置情報である。
【００６５】
例えば指標キャリブレーション部４１５は、球受け部３８２の位置が固定された状態で教示動作検出部３２が検出する実演ツール３１の複数の位置及び姿勢に基づいて、第二指標位置情報を導出する。より具体的に、指標キャリブレーション部４１５は、球受け部３８２の位置を一定にしながら実演ツール３１の姿勢が複数の指標情報取得姿勢とされた状態にて角度センサ３５１，３５２，３５３，３５４，３５５，３５６が検出する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報を取得する。指標キャリブレーション部４１５は、複数の指標情報取得姿勢のいずれにおいても、関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報と、モデル保持部４１３が記憶する実演装置３０のモデル情報と、第二指標位置情報とに基づいて導出される窪み部３８３の位置が同じになるように、第二指標位置情報を導出する。測定対象姿勢の数は、第二指標位置情報が含む変数を全て導出可能な数以上であればよい。指標キャリブレーション部４１５は、導出した第二指標位置情報を、球受けツール３８０が先端部３２０に装着された状態の実演装置３０のモデル情報としてモデル保持部４１３に登録する。
【００６６】
更に指標キャリブレーション部４１５は、ロボット１００の先端部１１０に球受けツール３８０が装着された状態で、先端部１１０に対する球受け部３８２の位置を示す第三指標位置情報を更に導出してもよい。球受け部３８２の位置の情報は、例えば先端部１１０に固定された座標系での球受け部３８２の窪み部３８３の位置情報である。
【００６７】
例えば指標キャリブレーション部４１５は、ロボット１００の先端部１１０の姿勢変更に応じた窪み部３８３の移動量に基づいて、第三指標位置情報を導出する。指標キャリブレーション部４１５は、導出した第三指標位置情報を、球受けツール３８０が先端部１１０に装着された状態のロボット１００のモデル情報としてモデル保持部４１４に登録する。
【００６８】
指標キャリブレーション部４１５は、窪み部３８３の移動量の情報を教示動作検出部３２から取得してもよい。例えば指標キャリブレーション部４１５は、先端部３２０に装着された球ツール３７０の球チップ３７２が窪み部３８３に嵌合した状態にて、角度センサ３５１，３５２，３５３，３５４，３５５，３５６が検出する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報を取得し、当該角度情報と、モデル保持部４１３が記憶する実演装置３０のモデル情報とに基づいて球チップ３７２の移動量を導出する。
【００６９】
教示用コンピュータ４００が指標キャリブレーション部４１５を有する場合、座標キャリブレーション部４１７は、基準情報取得部４１６が取得する基準情報と、指標キャリブレーション部４１５が導出する指標位置情報とに基づいて座標関係情報を導出する。
【００７０】
教示用コンピュータ４００は、姿勢キャリブレーション部４２３と、姿勢情報保持部４２４とを更に有してもよい。姿勢キャリブレーション部４２３は、実演ツール３１が実演作業対象物（例えばワークＷ）を保持した状態での実演により、先端部１１０が作業対象物（例えばワークＷ）を保持した状態でのロボット１００の動作が教示される場合に、実演作業対象物を予め定められた位置及び姿勢に配置するための実演ツール３１の位置及び姿勢に基づいて、実演ツール３１による実演対象物の保持姿勢を示す姿勢情報を導出する。
【００７１】
例えば姿勢キャリブレーション部４２３は、先端部３２０に装着された実演作業ツール３６０がワークＷを保持し、当該ワークＷが予め定められた位置及び姿勢に配置された状態にて、角度センサ３５１，３５２，３５３，３５４，３５５，３５６が検出する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報を取得し、当該角度情報とモデル保持部４１３が記憶するモデル情報とに基づいて実演作業ツール３６０の位置及び姿勢の情報を導出する。予め定められた位置及び姿勢へのワークＷの配置は、例えば予め所定の位置に設置された位置決め治具にワークＷの位置及び姿勢を合わせることにより行われる。姿勢キャリブレーション部４２３は、ワークＷが配置された位置及び姿勢と、導出した実演作業ツール３６０の位置及び姿勢とに基づいて、実演作業ツール３６０によるワークＷの保持姿勢を導出する。
【００７２】
姿勢情報保持部４２４は、姿勢キャリブレーション部４２３により導出された姿勢情報を記憶する。
【００７３】
教示用コンピュータ４００が姿勢キャリブレーション部４２３と姿勢情報保持部４２４とを更に有する場合、動作指令生成部４２７は、実演情報保持部４２６が記憶する実演動作情報と、座標情報保持部４１８が記憶する座標関係情報と、姿勢情報保持部４２４が記憶する姿勢情報とに基づいて先端部１１０の動作指令を生成する。
【００７４】
教示用コンピュータ４００は、座標指定取得部４１９と、座標設定部４２１と、ユーザ座標登録部４２２とを更に有してもよい。座標指定取得部４１９は、複数の座標指定箇所にツール指標部が配置されたときに教示動作検出部３２が検出する位置及び姿勢の情報を含む座標指定情報を取得する。例えば座標指定取得部４１９は、先端部３２０に装着された球ツール３７０の球チップ３７２が複数の座標指定箇所に配置されたときに、角度センサ３５１，３５２，３５３，３５４，３５５，３５６が検出する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報を取得する。複数の座標指定箇所は、例えば設定対象の座標のいずれかの座標軸上に位置するように指定される。
【００７５】
座標設定部４２１は、座標指定取得部４１９が取得する座標指定情報に基づいて、第一座標系Ｃ１及び第二座標系Ｃ２と異なる第三座標系（ユーザ座標）を設定する。例えば座標設定部４２１は、関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報と、モデル保持部４１３が記憶するモデル情報とに基づいて、複数の座標指定箇所の第二座標系Ｃ２における位置を導出し、導出した位置に基づいて第二座標系Ｃ２における第三座標系の定義情報（第三座標系を定義する情報）を導出する。第三座標系の定義情報は、第三座標系の原点の位置情報と、第三座標系の座標軸の方向ベクトルの情報を含む。座標設定部４２１は、第三座標系の定義情報を座標情報保持部４１８に登録する。
【００７６】
ユーザ座標登録部４２２は、座標情報保持部４１８が記憶する第三座標系の定義情報をロボットコントローラ２００に送信する。ユーザ座標登録部４２２は、座標情報保持部４１８が保持する座標関係情報に基づいて、第二座標系Ｃ２における第三座標系の定義情報を、第一座標系Ｃ１における第三座標系の定義情報に変換してロボットコントローラ２００に送信してもよい。
【００７７】
（ロボットコントローラ）
図５に示すように、ロボットコントローラ２００は、機能モジュールとして、モデル保持部２１１と、角度目標値算出部２１２と、関節制御部２１３と、キャリブレーション制御部２１４と、ユーザ座標保持部２１５と、動作指令保持部２１６と、再生処理部２１７と、力データ取得部２２１と、学習処理部２２２とを有する。
【００７８】
モデル保持部２１１は、モデル保持部４１４が記憶する情報と同様のロボット１００のモデル情報を記憶する。角度目標値算出部２１２は、先端部１１０の目標位置及び目標姿勢と、モデル保持部４１４が記憶するロボット１００のモデル情報とに基づく逆運動学演算により、関節１４１，１４２，１４３，１４４，１４５，１４６の動作角度の目標値（以下、「角度目標値」という。）を導出する。
【００７９】
関節制御部２１３は、関節１４１，１４２，１４３，１４４，１４５，１４６の動作角度を角度目標値算出部２１２が導出する角度目標値に追従させるようにアクチュエータ１５１，１５２，１５３，１５４，１５５，１５６を制御する。
【００８０】
キャリブレーション制御部２１４は、基準情報取得部４１６が基準情報を取得する際に、先端部１１０に装着された球受けツール３８０の窪み部３８３を複数の基準情報取得箇所に配置するようにロボット１００を制御する。例えばキャリブレーション制御部２１４は、窪み部３８３を複数の基準情報取得箇所に配置させるための先端部１１０の目標位置及び目標姿勢を角度目標値算出部２１２に出力する。キャリブレーション制御部２１４は、指標キャリブレーション部４１５が上記指標位置情報を導出する際に、先端部１１０の姿勢を変更するようにロボット１００を制御してもよい。例えばキャリブレーション制御部２１４は、先端部１１０の姿勢を変更させるための先端部１１０の目標位置及び目標姿勢を角度目標値算出部２１２に出力する。
【００８１】
ユーザ座標保持部２１５は、ユーザ座標登録部４２２から送信された第三座標系の定義情報を記憶する。動作指令保持部２１６は、動作指令登録部４２８から送信された先端部１１０の動作指令を記憶する。
【００８２】
再生処理部２１７は、動作指令保持部２１６が記憶する先端部１１０の動作指令に従って動作するようにロボット１００を制御する。例えば再生処理部２１７は、動作指令保持部２１６が記憶する先端部１１０の動作指令が含む先端部１１０の目標位置及び目標姿勢を順次角度目標値算出部２１２に出力する処理（以下、「再生処理」という。）を行う。
【００８３】
力データ取得部２２１は、動作指令保持部２１６が記憶する先端部１１０の動作指令に従ってロボット１００が動作する際に力センサ１７０が検出する力の推移を示す情報（以下、「再生中の力情報」という。）を取得する。
【００８４】
学習処理部２２２は、力データ取得部２２１が取得する再生中の力情報を上記力指令に近付けるように先端部１１０の動作指令が含む先端部１１０の目標位置及び目標姿勢を補正する。例えば学習処理部２２２は、再生処理部２１７による再生処理を実行させることと、力データ取得部２２１から再生中の力情報を取得することとを、再生中の力情報を上記力指令に近付けるように、動作指令保持部２１６が記憶する先端部１１０の動作指令を微調整することと、を再生中の力情報と力指令との差異が許容範囲内となるまで繰り返す。許容範囲は予め設定されている。
【００８５】
（教示用コンピュータ及びロボットコントローラのハードウェア構成）
図６に示すように、教示用コンピュータ４００は、本体４８１と、表示デバイス４８２及び入力デバイス４８３と、を備える。表示デバイス４８２及び入力デバイス４８３は、教示用コンピュータ４００のユーザインタフェースとして機能する。表示デバイス４８２は、例えば液晶モニタ等を含み、ユーザに対する情報表示に用いられる。入力デバイス４８３は、例えばフットスイッチ又はキーボード等であり、ユーザによる入力情報を取得する。表示デバイス４８２及び入力デバイス４８３は、所謂タッチパネルのように一体化されていてもよい。
【００８６】
本体４８１は、回路４９０を含む。回路４９０は、少なくとも一つのプロセッサ４９１と、メモリ４９２と、ストレージ４９３と、入出力ポート４９４と、通信ポート４９５とを含む。ストレージ４９３は、コンピュータによって読み取り可能な不揮発型の記憶媒体（例えばフラッシュメモリ）である。
【００８７】
ストレージ４９３は、実演ツール３１に設けられたツール指標部が第一座標系Ｃ１における複数の位置に配置された状態にて教示動作検出部３２が検出する位置及び姿勢の情報を含む基準情報を取得することと、基準情報に基づいて、第一座標系Ｃ１と第二座標系Ｃ２との関係を示す座標関係情報を導出することと、実演ツール３１を用いた実演作業中に教示動作検出部３２が検出する位置及び姿勢の推移を示す情報を含む実演動作情報を取得することと、実演動作情報と座標関係情報とに基づいて先端部１１０の動作指令を生成することと、を含む動作教示方法を教示用コンピュータに実行させるためのプログラムを記憶する。例えばストレージ４９３は、上述の機能モジュールを構成するための記憶領域と、モデル保持部４１３、モデル保持部４１４、座標情報保持部４１８、姿勢情報保持部４２４及び実演情報保持部４２６に割り当てられる記憶領域とを含む。
【００８８】
メモリ４９２は、ストレージ４９３からロードしたプログラム及びプロセッサ４９１による演算結果等を一時的に記憶する。プロセッサ４９１は、メモリ４９２と協働して上記プログラムを実行することで、教示用コンピュータ４００の各機能モジュールを構成する。入出力ポート４９４は、プロセッサ４９１からの指令に応じて角度センサ３５１，３５２，３５３，３５４，３５５，３５６、力センサ３６３及び入力デバイス４８３からの信号を取得し、また、表示デバイス４８２へ信号を出力する。通信ポート３９５は、プロセッサ２９１からの指令に応じ、ロボットコントローラ２００との間でネットワーク通信を行う。
【００８９】
ロボットコントローラ２００は、回路２９０を備える。回路２９０は、少なくとも一つのプロセッサ２９１と、メモリ２９２と、ストレージ２９３と、入出力ポート２９４と、ドライバ２９５と、通信ポート２９６とを含む。ストレージ２９３は、コンピュータによって読み取り可能な不揮発型の記憶媒体（例えばフラッシュメモリ）である。ストレージ２９３は、上述の機能モジュールを構成するための記憶領域と、モデル保持部２１１、ユーザ座標保持部２１５及び動作指令保持部２１６に割り当てられる記憶領域を含む。
【００９０】
メモリ２９２は、ストレージ２９３からロードしたプログラム及びプロセッサ２９１による演算結果等を一時的に記憶する。プロセッサ２９１は、メモリ２９２と協働して上記プログラムを実行することで、ロボットコントローラ２００の各機能モジュールを構成する。入出力ポート２９４は、プロセッサ２９１からの指令に応じて力センサ１７０からの信号を取得する。ドライバ２９５は、プロセッサ２９１からの指令に応じてアクチュエータ１５１，１５２，１５３，１５４，１５５，１５６に駆動電力を出力する。通信ポート２９６は、プロセッサ２９１からの指令に応じ、教示用コンピュータ４００との間でネットワーク通信を行う。
【００９１】
〔動作教示手順〕
続いて、動作教示方法の一例として、ロボットシステム１が実行する動作教示手順を例示する。この手順は、実演ツール３１に設けられたツール指標部が第一座標系Ｃ１における複数の位置に配置された状態にて教示動作検出部３２が検出する位置及び姿勢の情報を含む基準情報を取得することと、基準情報に基づいて、第一座標系Ｃ１と第二座標系Ｃ２との関係を示す座標関係情報を導出することと、実演ツール３１を用いた実演作業中に教示動作検出部３２が検出する位置及び姿勢の推移を示す情報を含む実演動作情報を取得することと、実演動作情報と座標関係情報とに基づいて先端部１１０の動作指令を生成することと、を含む。
【００９２】
図７に示すように、教示用コンピュータ４００は、ステップＳ０１，Ｓ０２，Ｓ０３，Ｓ０４，Ｓ０５を実行する。ステップＳ０１は、上記第一指標位置情報（先端部３２０に球ツール３７０が装着された実演ツール３１における球チップ３７２の位置を示す情報）と、上記第二指標位置情報（先端部３２０に球受けツール３８０が装着された実演ツール３１における窪み部３８３の位置を示す情報）とを取得することを含む。ステップＳ０２は、上記第三指標位置情報（球受けツール３８０が装着された先端部１１０における窪み部３８３の位置を示す情報）を取得することを含む。ステップＳ０３は、第一座標系Ｃ１と第二座標系Ｃ２との関係を示す座標関係情報を導出することを含む。ステップＳ０４は、上記座標指定情報に基づいて、第一座標系Ｃ１及び第二座標系Ｃ２と異なる第三座標系（ユーザ座標系）を設定することを含む。ステップＳ０５は、実演ツール３１による実演対象物の保持姿勢を示す姿勢情報を導出することを含む。
【００９３】
次に、教示用コンピュータ４００は、ステップＳ０６，Ｓ０７，Ｓ０８を実行する。ステップＳ０６では、実演情報取得部４２５が、実演ツール３１を用いた実演作業中に教示動作検出部３２が検出する位置及び姿勢の推移の情報と、実演作業中に実演ツール３１に作用する力の推移を示す情報（上記実演中の力情報）とを含む実演動作情報を取得する。ステップＳ０７では、動作指令生成部４２７が、実演情報保持部４２６が記憶する実演動作情報と、座標情報保持部４１８が記憶する座標関係情報とに基づいて、先端部１１０の動作指令を生成する。先端部１１０の動作指令は、動作指令に従った動作中に先端部１１０に作用する力の目標推移を示す力指令を含む。ステップＳ０８では、動作指令登録部４２８が、動作指令生成部４２７により生成された先端部１１０の動作指令をロボットコントローラ２００の動作指令保持部２１６に登録する。
【００９４】
次に、ロボットコントローラ２００がステップＳ０９を実行する。ステップＳ０９は、力データ取得部２２１が取得する再生中の力情報を上記力指令に近付けるように先端部１１０の動作指令を補正することを含む。
【００９５】
以下、ステップＳ０１の手順（実演装置の指標キャリブレーション手順）と、ステップＳ０２の手順（ロボットの指標キャリブレーション手順）と、ステップＳ０３の手順（座標キャリブレーション手順）と、ステップＳ０４の手順（ユーザ座標設定手順）と、ステップＳ０５の手順（姿勢キャリブレーション手順）と、ステップＳ０９の手順（動作指令補正手順）との具体的内容を例示する。
（実演装置の指標キャリブレーション手順）
【００９６】
図８に示すように、教示用コンピュータ４００は、ステップＳ１１，Ｓ１２を実行する。ステップＳ１１では、指標キャリブレーション部４１５が、先端部１１０に球受けツール３８０が装着された状態にて、所定の位置に窪み部３８３を配置するようにロボット１００を制御することをキャリブレーション制御部２１４に要求する。キャリブレーション制御部２１４は、アクチュエータ１５１，１５２，１５３，１５４，１５５，１５６によって関節１４１，１４２，１４３，１４４，１４５，１４６をそれぞれ駆動して窪み部３８３を上記所定の位置に配置するようにロボット１００を制御する。ステップＳ１２では、指標キャリブレーション部４１５が、先端部３２０に球ツール３７０が装着された状態にて、球チップ３７２を上記所定の位置に配置することを指示する情報（例えば画像情報）を表示（例えば上記表示デバイス４８２に表示）する。例えば指標キャリブレーション部４１５は、上記所定の位置に配置された窪み部３８３に球チップ３７２を嵌合させることを指示する情報を表示する。これに応じ、動作教示の作業者が、球チップ３７２を窪み部３８３に嵌合させる（図９参照）。
【００９７】
次に、教示用コンピュータ４００は、ステップＳ１３，Ｓ１４，Ｓ１５を実行する。ステップＳ１３では、指標キャリブレーション部４１５が、実演ツール３１の位置・姿勢情報の登録要求の入力を待機する。実演ツール３１の位置・姿勢情報の登録要求は、例えば動作教示の作業者によって入力デバイス４８３（例えばフットスイッチ）に入力される。ステップＳ１４では、指標キャリブレーション部４１５が、角度センサ３５１，３５２，３５３，３５４，３５５，３５６が検出する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報を取得する。ステップＳ１５では、指標キャリブレーション部４１５が、第一指標位置情報の導出に必要な全ての情報が取得されたか否かを確認する。例えば指標キャリブレーション部４１５は、第一指標位置情報が含む変数を全て導出可能な数以上に予め設定された数の指標情報取得姿勢にて実演ツール３１の位置・姿勢情報が取得されたか否かを確認する。
【００９８】
ステップＳ１５において第一指標位置情報の導出に必要な全ての情報が取得されていないと判定した場合、教示用コンピュータ４００は処理をステップＳ０２に戻す。以後、第一指標位置情報の導出に必要な全ての情報が取得されるまで、実演ツール３１の位置・姿勢情報の取得が繰り返される。
【００９９】
ステップＳ１５において第一指標位置情報の導出に必要な全ての情報が取得されていると判定した場合、教示用コンピュータ４００は、ステップＳ１６を実行する。ステップＳ１６では、指標キャリブレーション部４１５が、複数の指標情報取得姿勢のいずれにおいても、関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報と、モデル保持部４１３が記憶する実演装置３０のモデル情報と、第一指標位置情報とに基づいて導出される球チップ３７２の第二座標系Ｃ２における位置が同じになるように、第一指標位置情報を導出する。指標キャリブレーション部４１５は、導出した第一指標位置情報を、球ツール３７０が先端部３２０に装着された状態の実演装置３０のモデル情報としてモデル保持部４１３に登録する。
【０１００】
次に、教示用コンピュータ４００は、ステップＳ１７を実行する。ステップＳ１７では、指標キャリブレーション部４１５が、先端部３２０に球受けツール３８０が装着された状態にて、窪み部３８３を所定の位置に配置することを指示する情報（例えば画像情報）を表示（例えば上記表示デバイス４８２に表示）する。例えば指標キャリブレーション部４１５は、先端部３２０から取り外された球ツール３７０を所定の位置に固定し、当該球ツール３７０の球チップ３７２に窪み部３８３を嵌合させることを指示する情報を表示する。これに応じ、動作教示の作業者が、窪み部３８３を球チップ３７２に嵌合させる（図１０参照）。
【０１０１】
次に、教示用コンピュータ４００は、ステップＳ１８，Ｓ１９，Ｓ２１を実行する。ステップＳ１８では、指標キャリブレーション部４１５が、実演ツール３１の位置・姿勢情報の登録要求の入力を待機する。実演ツール３１の位置・姿勢情報の登録要求は、例えば動作教示の作業者によって入力デバイス４８３（例えばフットスイッチ）に入力される。ステップＳ１９では、指標キャリブレーション部４１５が、角度センサ３５１，３５２，３５３，３５４，３５５，３５６が検出する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報を取得する。ステップＳ２１では、指標キャリブレーション部４１５が、第二指標位置情報の導出に必要な全ての情報が取得されたか否かを確認する。例えば指標キャリブレーション部４１５は、第二指標位置情報が含む変数を全て導出可能な数以上に予め設定された数の指標情報取得姿勢にて実演ツール３１の位置・姿勢情報が取得されたか否かを確認する。
【０１０２】
ステップＳ２１において第二指標位置情報の導出に必要な全ての情報が取得されていないと判定した場合、教示用コンピュータ４００は処理をステップＳ１７に戻す。以後、第二指標位置情報の導出に必要な全ての情報が取得されるまで、実演ツール３１の位置・姿勢情報の取得が繰り返される。
【０１０３】
ステップＳ２１において第二指標位置情報の導出に必要な全ての情報が取得されていると判定した場合、教示用コンピュータ４００はステップＳ２２を実行する。ステップＳ２２では、指標キャリブレーション部４１５が、複数の指標情報取得姿勢のいずれにおいても、関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報と、モデル保持部４１３が記憶する実演装置３０のモデル情報と、第二指標位置情報とに基づいて導出される窪み部３８３の位置が同じになるように、第二指標位置情報を導出する。指標キャリブレーション部４１５は、導出した第二指標位置情報を、球受けツール３８０が先端部３２０に装着された状態の実演装置３０のモデル情報としてモデル保持部４１３に登録する。以上で実演装置３０の指標キャリブレーション手順が完了する。
【０１０４】
（ロボットの指標キャリブレーション手順）
図１１に示すように、教示用コンピュータ４００は、ステップＳ３１，Ｓ３２を実行する。ステップＳ３１では、指標キャリブレーション部４１５が、先端部１１０に球受けツール３８０が装着された状態にて、予め設定された位置・姿勢に先端部１１０を配置するようにロボット１００を制御することをキャリブレーション制御部２１４に要求する。キャリブレーション制御部２１４は、アクチュエータ１５１，１５２，１５３，１５４，１５５，１５６によって関節１４１，１４２，１４３，１４４，１４５，１４６をそれぞれ駆動して先端部１１０を上記位置・姿勢に配置するようにロボット１００を制御する。ステップＳ３２では、指標キャリブレーション部４１５が、先端部３２０に球ツール３７０が装着された状態にて、球チップ３７２を窪み部３８３に嵌合させることを指示する情報を表示（例えば表示デバイス４８２に表示）する。これに応じ、動作教示の作業者が、球チップ３７２を窪み部３８３に嵌合させる（図９参照）。
【０１０５】
次に、教示用コンピュータ４００は、ステップＳ３３，Ｓ３４，Ｓ３５を実行する。ステップＳ３３では、指標キャリブレーション部４１５が、球チップ３７２の位置情報の登録要求の入力を待機する。球チップ３７２の位置情報の登録要求は、例えば動作教示の作業者によって入力デバイス４８３（例えばフットスイッチ）に入力される。ステップＳ３４では、指標キャリブレーション部４１５が、球チップ３７２が窪み部３８３に嵌合した状態にて、角度センサ３５１，３５２，３５３，３５４，３５５，３５６が検出する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報を取得し、当該角度情報と、モデル保持部４１３が記憶する実演装置３０のモデル情報とに基づいて球チップ３７２の位置情報（第二座標系における位置情報）を導出する。ステップＳ３５では、指標キャリブレーション部４１５が、第三指標位置情報の導出に必要な全ての情報が取得されたか否かを確認する。例えば指標キャリブレーション部４１５は、第三指標位置情報が含む変数を全て導出可能な球チップ３７２の移動量の情報が全て取得されたか否かを確認する。
【０１０６】
ステップＳ３５において第三指標位置情報の導出に必要な全ての情報が取得されていないと判定した場合、教示用コンピュータ４００は処理をステップＳ３１に戻す。以後、第三指標位置情報の導出に必要な全ての情報が取得されるまで、球チップ３７２の位置情報の取得が繰り返される。
【０１０７】
ステップＳ３５において第三指標位置情報の導出に必要な全ての情報が取得されていると判定した場合、教示用コンピュータ４００はステップＳ３６を実行する。ステップＳ３６では、指標キャリブレーション部４１５が、ロボット１００の先端部１１０の姿勢変更に応じた窪み部３８３の移動量に基づいて、第三指標位置情報を導出する。指標キャリブレーション部４１５は、導出した第三指標位置情報を、球受けツール３８０が先端部１１０に装着された状態のロボット１００のモデル情報としてモデル保持部４１４に登録する。以上でロボット１００の指標キャリブレーション手順が完了する。
【０１０８】
（座標キャリブレーション手順）
図１２に示すように、教示用コンピュータ４００は、ステップＳ４１，Ｓ４２を実行する。ステップＳ４１では、第一取得部４３１が、先端部１１０に球受けツール３８０が装着された状態にて、予め設定された基準情報取得箇所に窪み部３８３を配置するようにロボット１００を制御することをキャリブレーション制御部２１４に要求する。キャリブレーション制御部２１４は、アクチュエータ１５１，１５２，１５３，１５４，１５５，１５６によって関節１４１，１４２，１４３，１４４，１４５，１４６をそれぞれ駆動して窪み部３８３を上記基準情報取得箇所に配置するようにロボット１００を制御する。ステップＳ４２では、第二取得部４３２が、先端部３２０に球ツール３７０が装着された状態にて、球チップ３７２を上記基準情報取得箇所に配置することを指示する情報（例えば画像情報）を表示（例えば上記表示デバイス４８２に表示）する。例えば指標キャリブレーション部４１５は、上記基準情報取得箇所に配置された窪み部３８３に球チップ３７２を嵌合させることを指示する情報を表示する。これに応じ、動作教示の作業者が、球チップ３７２を窪み部３８３に嵌合させる（図９参照）。
【０１０９】
次に、教示用コンピュータ４００は、ステップＳ４３，Ｓ４４，Ｓ４５を実行する。ステップＳ４３では、基準情報取得部４１６が、上記基準情報の登録要求の入力を待機する。基準情報の登録要求は、例えば動作教示の作業者によって入力デバイス４８３（例えばフットスイッチ）に入力される。ステップＳ４４では、基準情報取得部４１６が、上記基準情報を取得する。例えば第一取得部４３１は、角度情報取得部４１２が取得する関節１４１，１４２，１４３，１４４，１４５，１４６の角度情報と、モデル保持部４１４が記憶するロボット１００のモデル情報とに基づく順運動学演算によって、第一座標系Ｃ１における球受け部３８２の位置情報を導出する。第二取得部４３２は、球受け部３８２の窪み部３８３に球チップ３７２が嵌合した状態にて、角度情報取得部４１１が取得する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報を取得する。ステップＳ４５では、基準情報取得部４１６が、座標関係情報の導出に必要な全ての情報が取得されたか否かを確認する。例えば基準情報取得部４１６は、座標関係情報が含む変数を全て導出可能な数以上に予め設定された数の基準情報取得箇所にて基準情報が取得されたか否かを確認する。
【０１１０】
ステップＳ４５において座標関係情報の導出に必要な全ての情報が取得されていないと判定した場合、教示用コンピュータ４００は処理をステップＳ４１に戻す。以後、座標関係情報の導出に必要な全ての情報が取得されるまで、基準情報取得箇所への窪み部３８３の移動と、基準情報の取得とが繰り返される。
【０１１１】
ステップＳ４５において座標関係情報の導出に必要な全ての情報が取得されていると判定した場合、教示用コンピュータ４００はステップＳ４６を実行する。
ステップＳ４６では、座標キャリブレーション部４１７が、上記基準情報に基づいて、第一座標系Ｃ１と第二座標系Ｃ２との関係を示す座標関係情報を導出し、座標情報保持部４１８に登録する。以上で座標キャリブレーション手順が完了する。
【０１１２】
（ユーザ座標設定手順）
図１３に示すように、教示用コンピュータ４００は、ステップＳ５１を実行する。ステップＳ５１では、座標指定取得部４１９が、先端部３２０に球ツール３７０が装着された状態にて、球チップ３７２を上記複数の座標指定箇所に配置することを指示する情報（例えば画像情報）を表示（例えば上記表示デバイス４８２に表示）する。これに応じ、動作教示の作業者が、球チップ３７２を複数の座標指定箇所に配置する（図１４参照）。複数の座標指定箇所（例えば図１４中の座標指定箇所Ｐ１，Ｐ２，Ｐ３，Ｐ４）は、例えば設定対象の第三座標系Ｃ３のいずれかの座標軸Ｘ３，Ｙ３，Ｚ３上に位置するように指定される。
【０１１３】
次に、教示用コンピュータ４００は、ステップＳ５２，Ｓ５３，Ｓ５４を実行する。ステップＳ５２では、座標指定取得部４１９が、上記座標指定情報の登録要求の入力を待機する。座標指定情報の登録要求は、例えば動作教示の作業者によって入力デバイス４８３（例えばフットスイッチ）に入力される。ステップＳ５３では、座標指定取得部４１９が、球チップ３７２が複数の座標指定箇所に配置されたときに、角度センサ３５１，３５２，３５３，３５４，３５５，３５６が検出する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報を取得する。ステップＳ５４では、座標指定取得部４１９が、第三座標系Ｃ３（ユーザ座標系）の設定に必要な全ての情報が取得されたか否かを確認する。例えば座標指定取得部４１９は、第三座標系Ｃ３の全ての定義情報を導出可能な数以上の座標指定箇所の座標指定情報が取得されたか否かを確認する。
【０１１４】
ステップＳ５４において第三座標系Ｃ３の設定に必要な全ての情報が取得されていないと判定した場合、教示用コンピュータ４００は処理をステップＳ５１に戻す。以後、第三座標系Ｃ３の設定に必要な全ての情報が取得されるまで、座標指定情報の取得が繰り返される。
【０１１５】
ステップＳ５４において第三座標系Ｃ３の設定に必要な全ての情報が取得されていると判定した場合、教示用コンピュータ４００はステップＳ５５，Ｓ５６を実行する。ステップＳ５５では、座標設定部４２１は、座標指定取得部４１９が取得する座標指定情報に基づいて、第三座標系Ｃ３を設定する。例えば座標設定部４２１は、関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報と、モデル保持部４１３が記憶するモデル情報とに基づいて、複数の座標指定箇所の第二座標系Ｃ２における位置を導出し、導出した位置に基づいて第二座標系Ｃ２における第三座標系の定義情報（第三座標系を定義する情報）を導出する。ステップＳ５６では、ユーザ座標登録部４２２が、座標設定部４２１が設定した第三座標系Ｃ３の定義情報をロボットコントローラ２００のユーザ座標保持部２１５に登録する。ユーザ座標登録部４２２は、上記座標関係情報に基づいて、第二座標系Ｃ２における第三座標系Ｃ３の定義情報を、第一座標系Ｃ１における第三座標系Ｃ３の定義情報に変換してユーザ座標保持部２１５に登録してもよい。以上でユーザ座標設定手順が完了する。
【０１１６】
（姿勢キャリブレーション手順）
図１５に示すように、教示用コンピュータ４００は、ステップＳ６１を実行する。ステップＳ６１では、先端部３２０に装着された実演作業ツール３６０がワークＷを保持した状態で、当該ワークＷを予め定められた位置及び姿勢に配置することを指示する情報（例えば画像情報）を姿勢キャリブレーション部４２３が表示（例えば上記表示デバイス４８２に表示）する。これに応じ、動作教示の作業者が、ワークＷを予め定められた位置及び姿勢に配置する。例えば作業者は、予め所定の位置に設置された位置決め治具ＪにワークＷの位置及び姿勢を合わせる（図１６参照）。
【０１１７】
次に、教示用コンピュータ４００は、ステップＳ６２，Ｓ６３，Ｓ６４を実行する。ステップＳ６２では、姿勢キャリブレーション部４２３が、上記姿勢情報の導出要求の入力を待機する。座標指定情報の導出要求は、例えば動作教示の作業者によって入力デバイス４８３（例えばフットスイッチ）に入力される。ステップＳ６３では、先端部３２０に装着された実演作業ツール３６０がワークＷを保持し、当該ワークＷが予め定められた位置及び姿勢に配置された状態にて、角度センサ３５１，３５２，３５３，３５４，３５５，３５６が検出する関節３４１，３４２，３４３，３４４，３４５，３４６の角度情報を姿勢キャリブレーション部４２３が取得する。その後、姿勢キャリブレーション部４２３は、取得した角度情報とモデル保持部４１３が記憶するモデル情報とに基づいて実演作業ツール３６０の位置及び姿勢の情報を導出する。ステップＳ６４では、姿勢キャリブレーション部４２３が、ワークＷが配置された位置及び姿勢と、導出した実演作業ツール３６０の位置及び姿勢とに基づいて、実演作業ツール３６０によるワークＷの保持姿勢を導出する。その後、姿勢キャリブレーション部４２３は導出した姿勢情報を姿勢情報保持部４２４に登録する。以上で姿勢キャリブレーション手順が完了する。
【０１１８】
（動作指令補正手順）
図１７に示すように、ロボットコントローラ２００は、ステップＳ７１，Ｓ７２，Ｓ７３を実行する。ステップＳ７１では、学習処理部２２２が、動作指令保持部２１６が記憶する動作指令の再生処理を再生処理部２１７に実行させる。ステップＳ７２では、学習処理部２２２が、動作指令に応じたロボットの動作中における力情報（上記再生中の力情報）を力データ取得部２２１から取得する。ステップＳ７３では、学習処理部２２２が、再生中の力情報と力指令との差異が許容範囲内であるか否かを確認する。
【０１１９】
ステップＳ７３において再生中の力情報と力指令との差異が許容範囲内でないと判定した場合、ロボットコントローラ２００はステップＳ７４を実行する。ステップＳ７４では、学習処理部２２２が、再生中の力情報を上記力指令に近付けるように、動作指令保持部２１６が記憶する先端部１１０の目標位置及び目標姿勢を微調整する。その後、ロボットコントローラ２００は処理をステップＳ７１に戻す。以後、再生中の力情報と力指令との差異が許容範囲内となるまで、先端部１１０の目標位置及び目標姿勢の微調整が繰り返される。
【０１２０】
ステップＳ７３において再生中の力情報と力指令との差異が許容範囲内であると判定した場合、ロボットコントローラ２００は処理を終了する。以上で動作指令補正手順が完了する。
【０１２１】
〔本実施形態の効果〕
以上に説明したように、動作教示装置３は、ロボット１００に対し、実演による動作教示を行うための実演ツール３１と、第一座標系Ｃ１（ロボット座標系）と異なる第二座標系Ｃ２（実演座標系）における実演ツール３１の位置及び姿勢を検出する教示動作検出部３２とを有する実演装置３０と、実演ツール３１に設けられたツール指標部（球チップ３７２）が、第一座標系Ｃ１における複数の位置に配置された状態にて教示動作検出部３２が検出する位置及び姿勢の情報を取得する基準情報取得部４１６と、基準情報取得部４１６が取得する情報に基づいて、第一座標系Ｃ１と第二座標系Ｃ２との関係を示す座標関係情報を導出する座標キャリブレーション部４１７と、実演ツール３１を用いた実演作業中に教示動作検出部３２が検出する位置及び姿勢の推移を示す情報を取得する実演情報取得部４２５と、実演情報取得部４２５が取得する情報と座標関係情報とに基づいてロボット１００の先端部１１０の動作指令を生成する動作指令生成部４２７と、を備える。
【０１２２】
この動作教示装置３によれば、ツール指標部を第一座標系Ｃ１における複数の位置に配置する簡単な作業を行えば、基準情報取得部４１６及び座標キャリブレーション部４１７によって第一座標系Ｃ１と第二座標系Ｃ２との関係を示す座標関係情報が導出される。その後、実演ツール３１を動かす実演作業によって得られた情報と座標関係情報とに基づいて先端部１１０の動作指令が生成されるので、容易な動作教示が可能となる。従ってロボット１００に対する動作教示をより簡単にするのに有効である。
【０１２３】
実演ツール３１が実演作業対象物を保持した状態での実演により、先端部１１０が作業対象物を保持した状態でのロボット１００の動作が教示される場合に、実演作業対象物を予め定められた位置及び姿勢に配置するための実演ツール３１の位置及び姿勢に基づいて、実演ツール３１による実演作業対象物の保持姿勢を示す姿勢情報を導出する姿勢キャリブレーション部を更に備えてもよく、動作指令生成部４２７は、実演動作情報と座標関係情報と姿勢情報とに基づいて先端部１１０の動作指令を生成してもよい。この場合、実演ツール３１による実演作業対象物の保持姿勢をも加味した動作教示を容易に行うことができる。
【０１２４】
ツール指標部の位置を固定した状態で教示動作検出部３２が検出する実演ツール３１の複数の位置及び姿勢に基づいて、実演ツール３１におけるツール指標部の位置を示す指標位置情報を導出する指標キャリブレーション部４１５を更に備えてもよく、座標キャリブレーション部４１７は、基準情報取得部４１６が取得する情報と、指標位置情報とに基づいて座標関係情報を導出してもよい。この場合、実演ツール３１におけるツール指標部の位置の誤差をも加味した動作教示を容易に行うことができる。
【０１２５】
基準情報取得部４１６は、ロボット１００に設けられたロボット指標部（球受け部３８２）が複数の基準情報取得箇所に配置されたときのロボット１００の姿勢に基づいて複数の基準情報取得箇所の第一座標系Ｃ１における位置の情報を導出する第一取得部４３１と、複数の基準情報取得箇所のそれぞれに配置されたロボット指標部にツール指標部が接した状態にて教示動作検出部３２が検出する位置及び姿勢の情報を取得する第二取得部４３２と、を有してもよい。この場合、ロボット指標部が配置される複数の基準情報取得箇所の第一座標系Ｃ１における位置がロボット１００の姿勢に基づいて容易に導出される。また、教示動作検出部３２が検出する位置及び姿勢の情報の取得は、複数の基準情報取得箇所のそれぞれに配置されたロボット指標部にツール指標部が接した状態で行われる。このため、ロボット指標部が第一座標系Ｃ１における複数の位置の目印となるので、第一座標系Ｃ１における複数の位置にツール指標部を配置する作業が更に容易になる。従って、更に容易な動作教示が可能となる。
【０１２６】
ツール指標部は、ロボット指標部に嵌合するように構成されていてもよい。この場合、第一座標系Ｃ１における複数の位置にツール指標部を配置する作業が更に容易になる。
【０１２７】
ツール指標部は、ロボット指標部を吸着するように構成されていてもよい。この場合、第一座標系Ｃ１における複数の位置にツール指標部を配置する作業が更に容易になる。
【０１２８】
教示動作検出部３２は、実演ツール３１に接続され、教示動作検出部３２の位置及び姿勢に応じて動作する受動型の多関節アーム３３と、受動型の多関節アーム３３の姿勢を検出するセンサ３４とを有してもよい。この場合、接触型のセンシングによって実演ツール３１の位置及び姿勢を高い精度で検出し、より信頼性の高い動作教示が可能となる。なお、教示動作検出部３２が受動型の多関節アーム３３を備える場合、動作教示後には受動型の多関節アーム３３が邪魔になる可能性があるが、受動型の多関節アーム３３を移動させると、第一座標系Ｃ１及び第二座標系Ｃ２の関係も変わってしまうこととなる。このような場合に、第一座標系Ｃ１と第二座標系Ｃ２との関係を容易に導出できる上述の効果がより有効となる。
【０１２９】
複数の座標指定箇所にツール指標部が配置されたときに教示動作検出部３２が検出する位置及び姿勢の情報を取得する座標指定取得部４１９と、座標指定取得部４１９が取得する情報に基づいて、第一座標系Ｃ１及び第二座標系Ｃ２と異なる第三座標系（ユーザ座標系）を設定する座標設定部４２１とを更に備えてもよい。この場合、任意の座標系の設定に動作教示装置３を有効活用することができる。
【０１３０】
ツール指標部は、実演ツール３１に対して着脱可能であってもよい。この場合、ツール指標部を取り外すことで、実演作業が更に容易になる。
【０１３１】
以上、実施形態について説明したが、本発明は必ずしも上述した形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変形が可能である。例えば、上述の説明においては、先端部３２０に装着された球ツール３７０の球チップ３７２を、先端部１１０に装着された球受けツール３８０の窪み部３８３に勘合させた状態で基準情報を取得する場合を例示したが、必ずしもこれに限定されない。
【０１３２】
基準情報の取得に際して用いられる基準情報取得箇所は、第一座標系Ｃ１における位置が特定可能である限りいかようにも設定可能である。例えば、基準情報取得箇所は、第一座標系Ｃ１における位置が特定可能であればロボット１００から離れた位置（例えば上記研磨機４の表面）に設定されていてもよい。これによれば、実演装置３０がロボット１００から離れているために、先端部３２０に装着された球ツール３７０の球チップ３７２と、先端部１１０に装着された球受け部３８２とを接触させることが不可能である場合であっても、実演による動作教示を行うことが可能である。基準情報取得箇所がロボット１００から大きく離れた遠隔エリアに設定される場合であっても、当該基準情報取得箇所の第一座標系Ｃ１における位置を特定可能であれば、当該基準情報取得箇所を用いて座標関係情報を導出することが可能である。ロボット１００の作業に用いられる研磨機４から離れた位置に動作教示用の研磨機４を設置し、動作教示用の研磨機４における実演によって動作教示を行う場合であっても、動作教示用の研磨機４の第一座標系Ｃ１における位置が特定されるならば、研磨機４の表面に基準情報取得箇所を設定して座標関係情報を導出することが可能である。
【符号の説明】
【０１３３】
３…動作教示装置、３１…実演ツール、３２…教示動作検出部、３３…受動型の多関節アーム、１００…ロボット、１１０…先端部、１３０…多関節アーム、３７２…球チップ（ツール指標部）、３８２…球受け部（ロボット指標部）、４１５…指標キャリブレーション部、４１６…基準情報取得部、４１７…座標キャリブレーション部、４１９…座標指定取得部、４２１…座標設定部、４２３…姿勢キャリブレーション部、４２５…実演情報取得部、４２７…動作指令生成部、４３１…第一取得部、４３２…第二取得部、Ｃ１…第一座標系、Ｃ２…第二座標系。
【図１】
2020006445.tif 000003
【図２】
2020006445.tif 000004
【図３】
2020006445.tif 000005
【図４】
2020006445.tif 000006
【図５】
2020006445.tif 000007
【図６】
2020006445.tif 000008
【図７】
2020006445.tif 000009
【図８】
2020006445.tif 000010
【図９】
2020006445.tif 000011
【図１０】
2020006445.tif 000012
【図１１】
2020006445.tif 000013
【図１２】
2020006445.tif 000014
【図１３】
2020006445.tif 000015
【図１４】
2020006445.tif 000016
【図１５】
2020006445.tif 000017
【図１６】
2020006445.tif 000018
【図１７】
2020006445.tif 000019
【手続補正書】
【提出日】令和1年8月5日(2019.8.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
先端部と、第一座標系における前記先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、前記第一座標系と異なる第二座標系における前記実演ツールの位置を検出する教示動作検出部とを有する実演装置と、
少なくとも一箇所の前記第一座標系における位置と、前記少なくとも一箇所に前記実演ツールが配置された状態で前記教示動作検出部により検出された前記第二座標系における前記実演ツールの位置とに基づいて、前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出する座標キャリブレーション部と、
前記実演ツールを用いた実演作業中に前記教示動作検出部が検出する位置の推移を取得する実演情報取得部と、
前記推移と前記座標関係情報とに基づいて前記先端部の動作指令を生成する動作指令生成部と、を備える動作教示装置。
【請求項２】
前記実演ツールが実演作業対象物を保持した状態での実演により、前記先端部が作業対象物を保持した状態での前記ロボットの動作が教示される場合に、前記実演作業対象物を予め定められた姿勢に配置するための前記実演ツールの姿勢に基づいて、前記実演ツールによる前記実演作業対象物の保持姿勢を示す姿勢情報を導出する姿勢キャリブレーション部を更に備え、
前記動作指令生成部は、前記座標関係情報と前記姿勢情報とに基づいて前記先端部の動作指令を生成する、請求項１記載の動作教示装置。
【請求項３】
前記教示動作検出部は、
前記実演ツールに接続され、前記実演ツールの位置及び姿勢に応じて動作する受動型の多関節アームと、
前記受動型の多関節アームの姿勢を検出するセンサとを有する、請求項２記載の動作教示装置。
【請求項４】
前記ロボットに設けられたロボット指標部が複数の基準情報取得箇所に配置されたときの前記ロボットの姿勢に基づいて前記複数の基準情報取得箇所の前記第一座標系における位置の情報を導出する第一取得部と、
前記複数の基準情報取得箇所のそれぞれに配置された前記ロボット指標部に前記実演ツールのツール指標部が接した状態にて前記教示動作検出部が検出する位置及び姿勢の情報を取得する第二取得部と、を更に備え、
前記座標キャリブレーション部は、前記第一取得部が導出する情報と、前記第二取得部が取得する情報とに基づいて前記座標関係情報を導出する、請求項２又は３記載の動作教示装置。
【請求項５】
前記ツール指標部は、前記ロボット指標部に嵌合するように構成されている、請求項４記載の動作教示装置。
【請求項６】
前記ツール指標部は、前記ロボット指標部を吸着するように構成されている、請求項４又は５記載の動作教示装置。
【請求項７】
前記ツール指標部の位置を固定した状態で前記教示動作検出部が検出する前記実演ツールの複数の位置及び姿勢に基づいて、前記実演ツールにおける前記ツール指標部の位置を示す指標位置情報を導出する指標キャリブレーション部を更に備え、
前記座標キャリブレーション部は、前記第一取得部が導出する情報と、前記第二取得部が取得する情報と、前記指標位置情報とに基づいて前記座標関係情報を導出する、請求項４〜６のいずれか一項記載の動作教示装置。
【請求項８】
複数の座標指定箇所に前記ツール指標部が配置されたときに前記教示動作検出部が検出する位置及び姿勢の情報を取得する座標指定取得部と、
前記座標指定取得部が取得する情報に基づいて、前記第一座標系及び前記第二座標系と異なる第三座標系を設定する座標設定部とを更に備える、請求項４〜７のいずれか一項記載の動作教示装置。
【請求項９】
前記ツール指標部は、前記実演ツールに対して着脱可能である、請求項４〜８のいずれか一項記載の動作教示装置。
【請求項１０】
請求項１〜９のいずれか一項記載の前記動作教示装置と、
前記ロボットと、を備えるロボットシステム。
【請求項１１】
先端部と、第一座標系における前記先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、前記第一座標系と異なる第二座標系における前記実演ツールの位置を検出する教示動作検出部とを有する実演装置において、少なくとも一箇所の前記第一座標系における位置と、前記少なくとも一箇所に前記実演ツールが配置された状態で前記教示動作検出部により検出された前記第二座標系における前記実演ツールの位置とに基づいて、前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出することと、
前記実演ツールを用いた実演作業中に前記教示動作検出部が検出する位置の推移を取得することと、
前記推移と前記座標関係情報とに基づいて前記先端部の動作指令を生成することと、を含む動作教示方法。
【手続補正書】
【提出日】令和1年10月25日(2019.10.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
先端部と、第一座標系における前記先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、前記第一座標系と異なる第二座標系における前記実演ツールの位置を検出する教示動作検出部とを有する実演装置と、
少なくとも一箇所の前記第一座標系における位置と、前記少なくとも一箇所に前記実演ツールが配置された状態で前記教示動作検出部により検出された前記第二座標系における前記実演ツールの位置とに基づいて、前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出する座標キャリブレーション部と、
実演作業対象物を保持した前記実演ツールを用いた実演作業中に前記教示動作検出部が検出する位置の推移を取得する実演情報取得部と、
前記推移と前記座標関係情報とに基づいて前記先端部の動作指令を生成する動作指令生成部と、
前記実演ツールが前記実演作業対象物を保持した状態で、前記実演作業対象物を予め定められた姿勢に配置するための前記実演ツールの姿勢に基づいて、前記実演ツールによる前記実演作業対象物の保持姿勢を示す姿勢情報を導出する姿勢キャリブレーション部と、を備え、
前記動作指令生成部は、前記座標関係情報と前記姿勢情報とに基づいて前記先端部の動作指令を生成する動作教示装置。
【請求項２】
前記教示動作検出部は、
前記実演ツールに接続され、前記実演ツールの位置及び姿勢に応じて動作する受動型の多関節アームと、
前記受動型の多関節アームの姿勢を検出するセンサとを有する、請求項１記載の動作教示装置。
【請求項３】
前記ロボットに設けられたロボット指標部が複数の基準情報取得箇所に配置されたときの前記ロボットの姿勢に基づいて前記複数の基準情報取得箇所の前記第一座標系における位置の情報を導出する第一取得部と、
前記複数の基準情報取得箇所のそれぞれに配置された前記ロボット指標部に前記実演ツールのツール指標部が接した状態にて前記教示動作検出部が検出する位置及び姿勢の情報を取得する第二取得部と、を更に備え、
前記座標キャリブレーション部は、前記第一取得部が導出する情報と、前記第二取得部が取得する情報とに基づいて前記座標関係情報を導出する、請求項１又は２記載の動作教示装置。
【請求項４】
前記ツール指標部は、前記ロボット指標部に嵌合するように構成されている、請求項３記載の動作教示装置。
【請求項５】
前記ツール指標部は、前記ロボット指標部を吸着するように構成されている、請求項３又は４記載の動作教示装置。
【請求項６】
前記ツール指標部の位置を固定した状態で前記教示動作検出部が検出する前記実演ツールの複数の位置及び姿勢に基づいて、前記実演ツールにおける前記ツール指標部の位置を示す指標位置情報を導出する指標キャリブレーション部を更に備え、
前記座標キャリブレーション部は、前記第一取得部が導出する情報と、前記第二取得部が取得する情報と、前記指標位置情報とに基づいて前記座標関係情報を導出する、請求項３〜５のいずれか一項記載の動作教示装置。
【請求項７】
複数の座標指定箇所に前記ツール指標部が配置されたときに前記教示動作検出部が検出する位置及び姿勢の情報を取得する座標指定取得部と、
前記座標指定取得部が取得する情報に基づいて、前記第一座標系及び前記第二座標系と異なる第三座標系を設定する座標設定部とを更に備える、請求項３〜６のいずれか一項記載の動作教示装置。
【請求項８】
前記ツール指標部は、前記実演ツールに対して着脱可能である、請求項３〜７のいずれか一項記載の動作教示装置。
【請求項９】
先端部と、第一座標系における前記先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、前記第一座標系と異なる第二座標系における前記実演ツールの位置を検出する教示動作検出部とを有する実演装置と、
少なくとも一箇所の前記第一座標系における位置と、前記少なくとも一箇所に前記実演ツールが配置された状態で前記教示動作検出部により検出された前記第二座標系における前記実演ツールの位置とに基づいて、前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出する座標キャリブレーション部と、
前記実演ツールを用いた実演作業中に前記教示動作検出部が検出する位置の推移を取得する実演情報取得部と、
前記推移と前記座標関係情報とに基づいて前記先端部の動作指令を生成する動作指令生成部と、
前記ロボットに設けられたロボット指標部が複数の基準情報取得箇所に配置されたときの前記ロボットの姿勢に基づいて前記複数の基準情報取得箇所の前記第一座標系における位置の情報を導出する第一取得部と、
前記複数の基準情報取得箇所のそれぞれに配置された前記ロボット指標部に前記実演ツールのツール指標部が接した状態にて前記教示動作検出部が検出する位置及び姿勢の情報を取得する第二取得部と、を備え、
前記座標キャリブレーション部は、前記第一取得部が導出する情報と、前記第二取得部が取得する情報とに基づいて前記座標関係情報を導出し、
前記ツール指標部は、前記ロボット指標部に嵌合するように構成されている動作教示装置。
【請求項１０】
先端部と、第一座標系における前記先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、前記第一座標系と異なる第二座標系における前記実演ツールの位置を検出する教示動作検出部とを有する実演装置と、
少なくとも一箇所の前記第一座標系における位置と、前記少なくとも一箇所に前記実演ツールが配置された状態で前記教示動作検出部により検出された前記第二座標系における前記実演ツールの位置とに基づいて、前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出する座標キャリブレーション部と、
前記実演ツールを用いた実演作業中に前記教示動作検出部が検出する位置の推移を取得する実演情報取得部と、
前記推移と前記座標関係情報とに基づいて前記先端部の動作指令を生成する動作指令生成部と、
前記実演ツールのツール指標部の位置を固定した状態で前記教示動作検出部が検出する前記実演ツールの複数の位置及び姿勢に基づいて、前記実演ツールにおける前記ツール指標部の位置を示す指標位置情報を導出する指標キャリブレーション部と、を備え、
前記座標キャリブレーション部は、少なくとも一箇所の前記第一座標系における位置と、前記少なくとも一箇所に前記ツール指標部が配置された状態で前記教示動作検出部により検出された前記第二座標系における前記実演ツールの位置と、前記指標位置情報とに基づいて前記座標関係情報を導出する動作教示装置。
【請求項１１】
先端部と、第一座標系における前記先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、前記第一座標系と異なる第二座標系における前記実演ツールの位置を検出する教示動作検出部とを有する実演装置と、
少なくとも一箇所の前記第一座標系における位置と、前記少なくとも一箇所に前記実演ツールが配置された状態で前記教示動作検出部により検出された前記第二座標系における前記実演ツールの位置とに基づいて、前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出する座標キャリブレーション部と、
前記実演ツールを用いた実演作業中に前記教示動作検出部が検出する位置の推移を取得する実演情報取得部と、
前記推移と前記座標関係情報とに基づいて前記先端部の動作指令を生成する動作指令生成部と、
複数の座標指定箇所に前記実演ツールが配置されたときに前記教示動作検出部が検出する位置の情報を取得する座標指定取得部と、
前記座標指定取得部が取得する情報に基づいて、前記第一座標系及び前記第二座標系と異なる第三座標系を設定する座標設定部とを備える動作教示装置。
【請求項１２】
請求項１〜１１のいずれか一項記載の前記動作教示装置と、
前記ロボットと、を備えるロボットシステム。
【請求項１３】
先端部と、第一座標系における前記先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、前記第一座標系と異なる第二座標系における前記実演ツールの位置を検出する教示動作検出部とを有する実演装置において、少なくとも一箇所の前記第一座標系における位置と、前記少なくとも一箇所に前記実演ツールが配置された状態で前記教示動作検出部により検出された前記第二座標系における前記実演ツールの位置とに基づいて、前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出することと、
実演作業対象物を保持した前記実演ツールを用いた実演作業中に前記教示動作検出部が検出する位置の推移を取得することと、
前記推移と前記座標関係情報とに基づいて前記先端部の動作指令を生成することと、
前記実演ツールが前記実演作業対象物を保持した状態で、前記実演作業対象物を予め定められた姿勢に配置するための前記実演ツールの姿勢に基づいて、前記実演ツールによる前記実演作業対象物の保持姿勢を示す姿勢情報を導出することと、を含み、
前記先端部の動作指令を生成することは、前記座標関係情報と前記姿勢情報とに基づいて前記先端部の動作指令を生成することを含む動作教示方法。
【請求項１４】
先端部と、第一座標系における前記先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、前記第一座標系と異なる第二座標系における前記実演ツールの位置を検出する教示動作検出部とを有する実演装置において、少なくとも一箇所の前記第一座標系における位置と、前記少なくとも一箇所に前記実演ツールが配置された状態で前記教示動作検出部により検出された前記第二座標系における前記実演ツールの位置とに基づいて、前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出することと、
前記実演ツールを用いた実演作業中に前記教示動作検出部が検出する位置の推移を取得することと、
前記推移と前記座標関係情報とに基づいて前記先端部の動作指令を生成することと、
前記ロボットに設けられたロボット指標部が複数の基準情報取得箇所に配置されたときの前記ロボットの姿勢に基づいて前記複数の基準情報取得箇所の前記第一座標系における位置の情報を導出することと、
前記複数の基準情報取得箇所のそれぞれに配置された前記ロボット指標部に前記実演ツールのツール指標部が接した状態にて第二座標系における前記実演ツールの位置及び姿勢の情報を前記教示動作検出部から取得することと、
前記複数の基準情報取得箇所の前記第一座標系における位置の情報と、前記教示動作検出部から取得した前記位置及び姿勢の情報とに基づいて前記座標関係情報を導出することと、を含み、
前記ツール指標部は、前記ロボット指標部に嵌合するように構成されている動作教示方法。
【請求項１５】
先端部と、第一座標系における前記先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、前記第一座標系と異なる第二座標系における前記実演ツールの位置を検出する教示動作検出部とを有する実演装置において、少なくとも一箇所の前記第一座標系における位置と、前記少なくとも一箇所に前記実演ツールが配置された状態で前記教示動作検出部により検出された前記第二座標系における前記実演ツールの位置とに基づいて、前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出することと、
前記実演ツールを用いた実演作業中に前記教示動作検出部が検出する位置の推移を取得することと、
前記推移と前記座標関係情報とに基づいて前記先端部の動作指令を生成することと、
前記実演ツールのツール指標部の位置を固定した状態で前記教示動作検出部が検出する前記実演ツールの複数の位置及び姿勢に基づいて、前記実演ツールにおける前記ツール指標部の位置を示す指標位置情報を導出することと、を含み、
前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出することは、少なくとも一箇所の前記第一座標系における位置と、前記少なくとも一箇所に前記ツール指標部が配置された状態で前記教示動作検出部により検出された前記第二座標系における前記実演ツールの位置と、前記指標位置情報とに基づいて前記座標関係情報を導出することを含む、動作教示方法。
【請求項１６】
先端部と、第一座標系における前記先端部の位置及び姿勢を変更する多関節アームとを備えるロボットに対し、実演による動作教示を行うための実演ツールと、前記第一座標系と異なる第二座標系における前記実演ツールの位置を検出する教示動作検出部とを有する実演装置において、少なくとも一箇所の前記第一座標系における位置と、前記少なくとも一箇所に前記実演ツールが配置された状態で前記教示動作検出部により検出された前記第二座標系における前記実演ツールの位置とに基づいて、前記第一座標系と前記第二座標系との関係を示す座標関係情報を導出することと、
前記実演ツールを用いた実演作業中に前記教示動作検出部が検出する位置の推移を取得することと、
前記推移と前記座標関係情報とに基づいて前記先端部の動作指令を生成することと、
複数の座標指定箇所に前記実演ツールが配置された状態にて前記第二座標系における前記実演ツールの位置の情報を前記教示動作検出部から取得することと、
前記教示動作検出部から取得した前記位置の情報に基づいて、前記第一座標系及び前記第二座標系と異なる第三座標系を設定する座標設定部動作教示方法。