(57)【特許請求の範囲】
【請求項１】
力検出部を備えたロボットを所定の設定値に基づいて動作させた場合の前記力検出部の出力値を取得する取得部と、
前記設定値に基づいて前記ロボットに所定の第１動作を行わせるロボット制御部と、
ユーザーからの操作を受け付ける受付部と、
前記出力値の時間応答波形のうちの前記受付部が受け付けた前記操作に応じた前記時間応答波形を表示部に複数表示させる表示制御部と、を備え、
前記表示制御部は、前記受付部が受け付けた前記操作に基づいて、予め記憶部に記憶された前記時間応答波形の一部又は全部を前記表示部に表示させる、制御装置。
【請求項２】
前記ロボット制御部は、前記受付部が受け付けた前記操作に基づいて前記設定値を特定し、特定した前記設定値と前記出力値とに基づくコンプライアントモーション制御を行う、
請求項１に記載の制御装置。
【請求項３】
前記コンプライアントモーション制御は、インピーダンス制御であり、
前記設定値には、仮想弾性パラメーター又は仮想慣性パラメーター又は仮想粘性パラメーターが含まれる、
請求項２に記載の制御装置。
【請求項４】
前記受付部が受け付けた前記操作に応じた前記時間応答波形に対応付けられた前記設定値を前記ロボット制御部に設定する設定部を備え、
前記ロボット制御部は、前記設定部により設定された前記設定値に基づいて前記ロボットに所定の第２動作を行わせる、
請求項１から３のうちいずれか一項に記載の制御装置。
【請求項５】
請求項１から４のうちいずれか一項に記載の制御装置と、
前記制御装置に制御されるロボットと、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御装置、及びロボットシステムに関する。
【背景技術】
【０００２】
ロボットの制御パラメーターを調整する技術の研究や開発が行われている。
【０００３】
これに関し、エンドエフェクターに加わる力を力センサーによって計測し、教示者へ向けたガイダンス情報を含む教示操作画面を生成し、教示操作画面に入力された教示者の指定値、および、力センサーによって計測された計測値に基づいてロボットの動作を修正する内容を含む所定の作業を行わせる場合の動作指令を定義するジョブ生成のためのパラメーターを調整し、調整された当該パラメーターを反映させたジョブを生成するロボット教示システムが知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１２８８５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなロボット教示システムでは、ロボット教示システムが調整したパラメーターが、ユーザーが所望するパラメーターと一致しない場合があり、ユーザーが所望する動作をロボットに行わせることができない場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、力検出部を備えたロボットを所定の設定値に基づいて動作させた場合の前記力検出部の出力値を取得する取得部と、複数の前記設定値毎に前記設定値に基づいて前記ロボットに所定の第１動作を行わせるロボット制御部と、ユーザーからの操作を受け付ける受付部と、前記取得部が取得した前記出力値の時間応答波形であって前記設定値毎の前記時間応答波形のうちの前記受付部が受け付けた前記操作に応じた前記時間応答波形を表示部に表示させる表示制御部と、を備える制御装置である。
この構成により、制御装置は、力検出部を備えたロボットを所定の設定値に基づいて動作させた場合の力検出部の出力値を取得部により取得し、複数の設定値毎に設定値に基づいてロボットに所定の第１動作を行わせ、ユーザーからの操作を受け付け、取得部が取得した当該出力値の時間応答波形であって設定値毎の時間応答波形のうちのユーザーから受け付けた操作に応じた時間応答波形を表示部に表示させる。これにより、制御装置は、ユーザーが所望する時間応答波形に対応する設定値に基づいてロボットを動作させることができる。
【０００７】
また、本発明の他の態様は、制御装置において、前記表示制御部は、前記受付部が受け付けた前記操作に基づいて、前記設定値毎の前記時間応答波形のうちの一部又は全部を前記表示部に表示させる、構成が用いられてもよい。
この構成により、制御装置は、受付部が受け付けた操作に基づいて、設定値毎の時間応答波形のうちの一部又は全部を表示部に表示させる。これにより、制御装置は、設定値毎の時間応答波形のうちの一部又は全部の中からユーザーが所望する時間応答波形に対応する設定値をユーザーに選択させることができる。
【０００８】
また、本発明の他の態様は、制御装置において、前記表示制御部は、前記受付部が受け付けた前記操作に基づいて、予め記憶部に記憶された時間応答波形の一部又は全部を前記表示部に表示させる、構成が用いられてもよい。
この構成により、制御装置は、受付部が受け付けた操作に基づいて、予め記憶部に記憶された時間応答波形の一部又は全部を表示部に表示させる。これにより、制御装置は、記憶部に記憶された時間応答波形のうちの一部又は全部の中からユーザーが所望する時間応答波形に対応する設定値をユーザーに選択させることができる。
【０００９】
また、本発明の他の態様は、制御装置において、前記ロボット制御部は、前記受付部が受け付けた前記操作に基づいて複数の前記設定値のそれぞれを特定し、特定した前記設定値毎に、前記設定値と前記出力値とに基づくコンプライアントモーション制御を行う、構成が用いられてもよい。
この構成により、制御装置は、受付部が受け付けた操作に基づいて複数の設定値のそれぞれを特定し、特定した設定値毎に、設定値と力検出部の出力値とに基づくコンプライアントモーション制御を行う。これにより、制御装置は、特定した設定値毎に行われたコンプライアントモーション制御の結果である力検出部の出力値の時間応答波形のうちのユーザーが所望する時間応答波形に対応する設定値に基づいてロボットを動作させることができる。
【００１０】
また、本発明の他の態様は、制御装置において、前記コンプライアントモーション制御は、インピーダンス制御であり、前記設定値には、仮想慣性パラメーターと、仮想弾性パラメーターと、仮想粘性パラメーターとのうちの少なくとも一部が含まれる、構成が用いられてもよい。
この構成により、制御装置は、ユーザーから受け付けた操作に基づいて複数の設定値であって仮想慣性パラメーターと仮想弾性パラメーターと仮想粘性パラメーターとのうちの少なくとも一部が含まれる設定値のそれぞれを特定し、特定した設定値毎に、設定値と力検出部の出力値とに基づくインピーダンス制御を行う。これにより、制御装置は、特定した設定値毎に行われたインピーダンス制御における力検出部の出力値の時間応答波形のうちのユーザーが所望する時間応答波形に対応する設定値に基づいてロボットを動作させることができる。
【００１１】
また、本発明の他の態様は、制御装置において、前記設定値の数は、予め決められている、又はユーザーにより入力される、構成が用いられてもよい。
この構成により、制御装置は、予め決められている数、又はユーザーにより入力される数の設定値毎に設定値に基づいてロボットに所定の第１動作を行わせる。これにより、制御装置は、予め決められている数、又はユーザーにより入力される数の設定値毎の時間応答波形の中からユーザーが所望する時間応答波形に対応する設定値をユーザーに選択させることができる。
【００１２】
また、本発明の他の態様は、制御装置において、前記受付部が受け付けた前記操作に応じた前記時間応答波形に対応付けられた前記設定値を前記ロボット制御部に設定する設定部を備え、前記ロボット制御部は、前記設定部により設定された前記設定値に基づいて前記ロボットに所定の第２動作を行わせる、構成が用いられてもよい。
この構成により、制御装置は、受け付けた操作に応じた時間応答波形に対応付けられた設定値を設定し、設定した設定値に基づいてロボットに所定の第２動作を行わせる。これにより、制御装置は、ユーザーが所望する動作である第２動作を含む作業をロボットに行わせることができる。
【００１３】
また、本発明の他の態様は、上記に記載の制御装置と、前記制御装置に制御されるロボットと、を備えるロボットシステムである。
この構成により、ロボットシステムは、力検出部を備えたロボットを所定の設定値に基づいて動作させた場合の力検出部の出力値を取得部により取得し、複数の設定値毎に設定値に基づいてロボットに所定の第１動作を行わせ、ユーザーからの操作を受け付け、取得部が取得した当該出力値の時間応答波形であって設定値毎の時間応答波形のうちのユーザーから受け付けた操作に応じた時間応答波形を表示部に表示させる。これにより、ロボットシステムは、ユーザーが所望する時間応答波形に対応する設定値に基づいてロボットを動作させることができる。
【００１４】
以上により、制御装置、及びロボットシステムは、力検出部を備えたロボットを所定の設定値に基づいて動作させた場合の力検出部の出力値を取得部により取得し、複数の設定値毎に設定値に基づいてロボットに所定の第１動作を行わせ、ユーザーからの操作を受け付け、取得部が取得した当該出力値の時間応答波形であって設定値毎の時間応答波形のうちのユーザーから受け付けた操作に応じた時間応答波形を表示部に表示させる。これにより、制御装置、及びロボットシステムは、ユーザーが所望する時間応答波形に対応する設定値に基づいてロボットを動作させることができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】ロボット２０と、ロボット制御装置３０と、教示装置５０とのそれぞれのハードウェア構成及び機能構成の一例を示す図である。
【図３】教示処理の流れの一例を示すフローチャートである。
【図４】メイン画面の一例を示す図である。
【発明を実施するための形態】
【００１６】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００１７】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、本実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット２０と、制御装置２５を備える。制御装置２５は、ロボット制御装置３０と、ロボット制御装置３０と別体の教示装置５０とによって構成される。なお、制御装置２５は、これに代えて、ロボット制御装置３０と教示装置５０とが一体となって構成されてもよい。この場合、制御装置２５は、以下で説明するロボット制御装置３０及び教示装置５０の機能を有する。
【００１８】
ロボット２０は、アームＡと、アームＡを支持する支持台Ｂを備える単腕ロボットである。単腕ロボットは、この一例におけるアームＡのような１本のアーム（腕）を備えるロボットである。なお、ロボット２０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２本以上のアーム（例えば、２本以上のアームＡ）を備えるロボットである。なお、複腕ロボットのうち、２本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット２０は、２本のアームを備える双腕ロボットであってもよく、３本以上のアーム（例えば、３本以上のアームＡ）を備える複腕ロボットであってもよい。また、ロボット２０は、スカラロボットや、直角座標ロボット等の他のロボットであってもよい。直角座標ロボットは、例えば、ガントリロボットである。
【００１９】
アームＡは、エンドエフェクターＥと、マニピュレーターＭと、力検出部２１を備える。
エンドエフェクターＥは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
【００２０】
マニピュレーターＭは、５個のアーム部材であるリンクＬ１〜リンクＬ５と、６つの関節である関節Ｊ１〜関節Ｊ６を備える。支持台ＢとリンクＬ１は、関節Ｊ１によって連結される。リンクＬ１とリンクＬ２は、関節Ｊ２によって連結される。リンクＬ２とリンクＬ３は、関節Ｊ３によって連結される。リンクＬ３とリンクＬ４は、関節Ｊ４によって連結される。リンクＬ４とリンクＬ５は、関節Ｊ５によって連結される。リンクＬ５とエンドエフェクターＥは、関節Ｊ６によって連結される。すなわち、マニピュレーターＭを備えるアームＡは、６軸垂直多関節型のアームである。なお、アームＡは、５軸以下の自由度で動作する構成であってもよく、７軸以上の自由度で動作する構成であってもよい。
【００２１】
関節Ｊ２、関節Ｊ３、関節Ｊ５のそれぞれは、曲げ関節であり、関節Ｊ１、関節Ｊ４、関節Ｊ６のそれぞれは、ねじり関節である。前述したように、関節Ｊ６には、ワーク（例えば、図１に示したワークＷ）に対して把持や加工等を行うためのエンドエフェクターＥが連結（装着）される。以下では、先端の関節Ｊ６の回転軸上の所定位置をＴＣＰ（Tool  Center  Point）と表す。ＴＣＰの位置は、エンドエフェクターＥの位置の基準となる。また、関節Ｊ６には、力検出部２１が備えられている。
【００２２】
力検出部２１は、例えば、６軸の力センサーである。力検出部２１は、互いに直交する３個の検出軸上の力の大きさと、当該３個の検出軸周りのトルクの大きさとを検出する。当該力は、ハンドＨＤに作用する力のことである。ハンドＨＤは、エンドエフェクターＥ又はエンドエフェクターＥに把持された物体のことである。また、当該トルクは、ハンドＨＤに作用するトルクのことである。なお、力検出部２１は、力センサーに代えて、トルクセンサー等のハンドＨＤに作用する力及びトルクを検出可能な他のセンサーであってもよい。
【００２３】
図１において、ワークＷを把持するエンドエフェクターＥは、関節Ｊ６の先端に装着されている。以下では、ロボット２０が設置された空間を規定する座標系をロボット座標系ＲＣと表す。ロボット座標系ＲＣは、水平面上において互いに直交するＸ軸とＹ軸と、鉛直上向きを正方向とするＺ軸とによって規定される三次元直交座標系である。以下では、説明の便宜上、単にＸ軸と称した場合、ロボット座標系ＲＣにおけるＸ軸のことを表し、単にＹ軸と称した場合、ロボット座標系ＲＣにおけるＹ軸のことを表し、単にＺ軸と称した場合、ロボット座標系ＲＣにおけるＺ軸のことを表すものとする。また、ロボット座標系ＲＣにおけるＸ軸周りの回転角を回転角ＲＸによって表し、ロボット座標系ＲＣにおけるＹ軸周りの回転角を回転角ＲＹによって表し、ロボット座標系ＲＣにおけるＺ軸周りの回転角を回転角ＲＺによって表す。従って、ロボット座標系ＲＣにおける任意の位置は、Ｘ軸方向の位置ＤＸと、Ｙ軸方向の位置ＤＹと、Ｚ軸方向の位置ＤＺとにより表現できる。また、ロボット座標系ＲＣにおける任意の姿勢は、回転角ＲＸ、回転角ＲＹ、回転角ＲＺにより表現できる。以下では、説明の便宜上、位置と表記した場合、姿勢も意味し得ることとする。また、力と表記した場合、回転角ＲＸ、回転角ＲＹ、回転角ＲＺそれぞれの回転方向に作用するトルクも意味し得ることとする。ロボット制御装置３０は、アームＡを駆動することによって、ロボット座標系ＲＣにおいてＴＣＰの位置を制御する。
【００２４】
エンドエフェクターＥと、マニピュレーターＭと、力検出部２１のそれぞれは、ケーブルによってロボット制御装置３０と通信可能に接続されている。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。また、マニピュレーターＭが備える７つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２５】
図２は、ロボット２０と、ロボット制御装置３０と、教示装置５０とのそれぞれのハードウェア構成及び機能構成の一例を示す図である。ロボット制御装置３０には、ロボット２０の制御を行うための制御プログラムがインストールされている。ロボット制御装置３０は、プロセッサーやＲＡＭ（Random  Access  Memory）やＲＯＭ（Read−Only  Memory）を備え、これらのハードウェア資源が制御プログラムと協働する。これにより、ロボット制御装置３０は、制御部として機能する。
【００２６】
ロボット制御装置３０は、例えば、ユーザーによる教示作業によって設定された目標位置及び目標力がＴＣＰにおいて実現されるようにアームＡを制御する。目標力とは、力検出部２１が検出すべき力である。図１に示したＳは、ロボット座標系ＲＣを規定する軸の方向（Ｘ軸方向、Ｙ軸方向、Ｚ軸方向、回転角ＲＸの方向、回転角ＲＹの方向、回転角ＲＺの方向）のうちのいずれか１つの方向を表す。例えば、Ｓが表わす方向がＸ軸方向の場合、ロボット座標系ＲＣにおいて設定された目標位置のＸ軸方向成分がＳｔ＝Ｘｔと表記され、目標力のＸ軸方向成分がｆＳｔ＝ｆＸｔと表記される。また、Ｓは、Ｓが表わす方向の位置も表す。
【００２７】
ロボット２０は、図１に示した構成の他に、駆動部としてモーターＭ１〜モーターＭ６と、エンコーダーＥ１〜エンコーダーＥ６とを備える。モーターＭ１とエンコーダーＥ１は、関節Ｊ１に備えられている。エンコーダーＥ１は、モーターＭ１の駆動位置を検出する。モーターＭ２とエンコーダーＥ２は、関節Ｊ２に備えられている。エンコーダーＥ２は、モーターＭ２の駆動位置を検出する。モーターＭ３とエンコーダーＥ３は、関節Ｊ３に備えられている。エンコーダーＥ３は、モーターＭ３の駆動位置を検出する。モーターＭ４とエンコーダーＥ４は、関節Ｊ４に備えられている。エンコーダーＥ４は、モーターＭ４の駆動位置を検出する。モーターＭ５とエンコーダーＥ５は、関節Ｊ５に備えられている。エンコーダーＥ５は、モーターＭ５の駆動位置を検出する。モーターＭ６とエンコーダーＥ６は、関節Ｊ６に備えられている。エンコーダーＥ６は、モーターＭ６の駆動位置を検出する。アームＡを制御することは、モーターＭ１〜モーターＭ６を制御することを意味する。
【００２８】
ロボット制御装置３０は、モーターＭ１〜モーターＭ６の駆動位置の組み合わせと、ロボット座標系ＲＣにおけるＴＣＰの位置との対応関係Ｕを記憶している。また、ロボット制御装置３０は、ロボット２０が行う作業の工程毎に目標位置Ｓｔと目標力ｆＳｔとを記憶している。目標位置Ｓｔと目標力ｆＳｔは、後述する教示作業によって設定される。
【００２９】
ロボット制御装置３０は、モーターＭ１〜モーターＭ６の駆動位置Ｄａを取得すると、対応関係Ｕに基づいて駆動位置Ｄａをロボット座標系ＲＣにおけるＴＣＰの位置Ｓ（位置ＤＸ、位置ＤＹ、位置ＤＺ、回転角ＲＸ、回転角ＲＹ、回転角ＲＺ）に変換する。ロボット制御装置３０は、ＴＣＰの位置Ｓと，力検出部２１の出力値とに基づいて、力検出部２１に作用している力ｆＳをロボット座標系ＲＣにおいて特定する。当該出力値は、力検出部２１が検出した力ｆＳを示す値である。なお、力検出部２１は、独自の座標系において力ｆＳを検出する。しかし、力検出部２１とＴＣＰとの相対位置及び相対方向とが既知のデータとして記憶されているため、ロボット制御装置３０は、ロボット座標系ＲＣにおける力ｆＳを特定できる。ロボット制御装置３０は、力ｆＳに対して重力補償を行う。重力補償とは、力ｆＳから重力成分を除去することである。また、重力補償を行った力ｆｓは、ハンドＨＤに作用している重力以外の力と見做すことができる。
【００３０】
ロボット制御装置３０は、目標力ｆＳｔと力ｆＳとをコンプライアントモーション制御の運動方程式に代入することにより、力由来補正量ΔＳを特定する。以下では、一例として、コンプライアントモーション制御がインピーダンス制御である場合について説明する。すなわち、ロボット制御装置３０は、目標力ｆＳｔと力ｆＳとをインピーダンス制御の運動方程式に代入することにより、力由来補正量ΔＳを特定する。以下に示した式（１）は、インピーダンス制御の運動方程式である。
【００３１】
【数１】
0006743431.tif 000002
【００３２】
上記の式（１）の左辺は、ＴＣＰの位置Ｓの二階微分値に仮想慣性パラメーターｍを乗算した第１項と、ＴＣＰの位置Ｓの一階微分値に仮想粘性パラメーターｄを乗算した第２項と、ＴＣＰの位置Ｓに仮想弾性パラメーターｋを乗算した第３項とによって構成される。上記の式（１）の右辺は、目標力ｆＳｔから力ｆＳを減算した力偏差ΔｆＳ（ｔ）によって構成される。ここで、力偏差ΔｆＳ（ｔ）の引数であるｔは、時間を表す。上記の式（１）における微分とは、時間による微分を意味する。ここで、目標力ｆＳｔは、ロボット２０が行う工程において、一定値として設定される構成であってもよく、時間に依存する関数によって導出される値として設定される構成であってもよい。
【００３３】
インピーダンス制御とは、仮想の機械的インピーダンスをモーターＭ１〜Ｍ６によって実現する制御である。仮想慣性パラメーターｍは、ＴＣＰが仮想的に有する質量を意味する。仮想粘性パラメーターｄは、ＴＣＰが仮想的に受ける粘性抵抗を意味する。仮想弾性パラメーターｋは、ＴＣＰが仮想的に受ける弾性力のバネ定数を意味する。各パラメーターｍ、ｄ、ｋは、方向毎に異なる値に設定される構成であってもよく、方向にかかわらず共通の値に設定される構成であってもよい。力由来補正量ΔＳとは、ＴＣＰが機械的インピーダンスを受けた場合に、目標力ｆＳｔと力ｆＳとの差である力偏差ΔｆＳ（ｔ）を解消する（０にする）ために、ＴＣＰが移動すべき位置Ｓまでの変位（並進距離又は回転角）を意味する。ロボット制御装置３０は、目標位置Ｓｔに、力由来補正量ΔＳを加算することにより、インピーダンス制御を考慮した補正目標位置（Ｓｔ＋ΔＳ）を特定する。
【００３４】
そして、ロボット制御装置３０は、対応関係Ｕに基づいて、ロボット座標系ＲＣにおける６つの方向（Ｘ軸方向、Ｙ軸方向、Ｚ軸方向、回転角ＲＸの方向、回転角ＲＹの方向、回転角ＲＺの方向）それぞれの補正目標位置（Ｓｔ＋ΔＳ）を、モーターＭ１〜モーターＭ６それぞれの目標の駆動位置である目標駆動位置Ｄｔに変換する。ロボット制御装置３０は、６つのモーター（モーターＭ１〜モーターＭ６のそれぞれ）毎に、モーターの目標駆動位置Ｄｔから現在のモーターの駆動位置Ｄａを減算することにより、駆動位置偏差Ｄｅ（＝Ｄｔ−Ｄａ）を算出する。ロボット制御装置３０は、駆動位置偏差Ｄｅに位置制御ゲインＫｐを乗算した値と、駆動位置Ｄａの時間微分値である駆動速度との差である駆動速度偏差に、速度制御ゲインＫｖを乗算した値を加算して制御量Ｄｃを算出する。なお、位置制御ゲインＫｐ及び速度制御ゲインＫｖは、比例成分だけではなく微分成分や積分成分にかかる制御ゲインを含んでもよい。制御量Ｄｃは、モーターＭ１〜モーターＭ６のそれぞれについて特定される。
【００３５】
以上のような構成により、ロボット制御装置３０は、目標位置Ｓｔと目標力ｆＳｔとに基づいてアームＡを制御することができる。
【００３６】
教示装置５０には、ロボット制御装置３０に目標位置Ｓｔと目標力ｆＳｔとを教示するための教示プログラムがインストールされている。教示装置５０は、プロセッサー、ＲＡＭ、ＲＯＭ等を備え、これらのハードウェア資源が教示プログラムと協働する。これにより、図２に示したように、教示装置５０は、機能構成として表示制御部５１と、ロボット制御部５２と、受付部５３と、設定部５４と、取得部５５を備える。また、教示装置５０は、図示しない入力装置と、図示しない出力装置を備える。当該入力装置は、例えば、マウス、キーボード、タッチパネル等であり、ユーザーからの指示を受け付ける。当該出力装置は、例えば、ディスプレイやスピーカー等であり、ユーザーに各種の情報を出力する。当該出力装置は、表示部の一例である。以下では、表示制御部５１と、ロボット制御部５２と、受付部５３と、設定部５４と、取得部５５とが行う処理の詳細をフローチャートとともに説明する。
【００３７】
図３は、教示処理の流れの一例を示すフローチャートである。ここで、図３に示したフローチャートでは、すでに目標位置Ｓｔを教示するための処理が行われた後の処理について説明する。すなわち、当該フローチャートの処理は、目標力ｆＳｔとともにインピーダンス制御のパラメーター（仮想弾性パラメーターｋ、仮想粘性パラメーターｄ、仮想慣性パラメーターｍ）を教示するための処理である。なお、目標位置Ｓｔは、公知の教示手法によって教示することができ、例えば、ユーザーがアームＡを手で移動させることにより目標位置Ｓｔが教示されてもよく、教示装置５０によってロボット座標系ＲＣにおける座標を指定することにより目標位置Ｓｔが教示されてもよい。
【００３８】
ロボット制御部５２は、動作開始位置までアームＡを移動させる（ステップＳ１００）。すなわち、ロボット制御部５２は、ＴＣＰが動作開始位置となるようなアームＡの制御をロボット制御装置３０に実行させる。動作開始位置とは、力検出部２１に対して力が作用するようにアームＡを制御する直前のＴＣＰの位置や、加工具を把持したエンドエフェクターＥによって他の物体を加工する直前の位置等である。ただし、図３に示したフローチャートの処理においては、目標力ｆＳｔとインピーダンス制御のパラメーターとを設定できればよく、動作開始位置は、必ずしも実際の作業において力検出部２１に対して力が作用するようにアームＡを制御する直前の位置でなくてもよい。
【００３９】
次に、表示制御部５１は、ＧＵＩ（Graphical  User  Interface）であるメイン画面を図示しない出力装置に表示する（ステップＳ１１０）。ここで、図４を参照し、メイン画面について説明する。図４は、メイン画面の一例を示す図である。図４に示したメイン画面には、入力窓Ｎ１〜入力窓Ｎ４と、スライダーバーＨと、グラフＧ１及びグラフＧ２と、ボタンＢ１及びボタンＢ２とが含まれている。受付部５３は、図示しない入力装置によってメイン画面上において行われた操作を受け付ける。
【００４０】
ステップＳ１１０において表示制御部５１がメイン画面を図示しない出力装置に表示した後、受付部５３は、目標力ｆＳｔの方向と、目標力ｆＳｔの大きさとを受け付ける（ステップＳ１２０）。メイン画面には、目標力ｆＳｔの方向を受け付けるための入力窓Ｎ１と、目標力ｆＳｔの大きさを受け付けるための入力窓Ｎ２とが含まれている。受付部５３は、入力窓Ｎ１において、ロボット座標系ＲＣにおける６つの方向のうちのいずれかの方向の入力を受け付ける。また、受付部５３は、入力窓Ｎ２において、任意の数値の入力を受け付ける。
【００４１】
次に、受付部５３は、仮想弾性パラメーターｋを受け付ける（ステップＳ１３０）。メイン画面には、仮想弾性パラメーターｋを受け付けるための入力窓Ｎ３が含まれている。受付部５３は、入力窓Ｎ３において、任意の数値の入力を受け付ける。仮想弾性パラメーターｋは、設定値の一例である。ユーザーが仮想弾性パラメーターｋを小さく設定するほど、ハンドＨＤは、他の物体と接触する際、当該物体を変形させ難くなる。すなわち、ユーザーが仮想弾性パラメーターｋを小さく設定するほど、ハンドＨＤは、他の物体と柔らかく接触する。一方、ユーザーが仮想弾性パラメーターｋを大きく設定するほど、ハンドＨＤは、他の物体と接触する際、当該物体を変形させ易くなる。すなわち、ユーザーが仮想弾性パラメーターｋを大きく設定するほど、ハンドＨＤは、他の物体と硬く接触する。
【００４２】
入力窓Ｎ３において仮想弾性パラメーターｋを受け付けた後、表示制御部５１は、受け付けた仮想弾性パラメーターｋに対応する１以上の記憶波形ＶをグラフＧ２において表示する（ステップＳ１４０）。グラフＧ２の横軸は、時刻を示し、グラフＧ２の縦軸は、力検出部２１が検出した力を示す。記憶波形Ｖは、力検出部２１が検出した力の時間応答波形である。記憶波形Ｖは、教示装置５０の図示しない記憶媒体に、仮想弾性パラメーターｋ毎に記憶されている。また、仮想弾性パラメーターｋ毎の記憶波形Ｖには、仮想粘性パラメーターｄと、仮想慣性パラメーターｍとの組み合わせと、当該組み合わせを示すパラメーター識別情報とが対応付けられている。なお、当該記憶媒体は、記憶部の一例である。
【００４３】
また、記憶波形Ｖは、入力窓Ｎ２において受け付けた大きさの力が力検出部２１において検出されるようにアームＡを制御した場合に、力検出部２１が検出する力の時間応答波形である。仮想弾性パラメーターｋが互いに異なる複数の記憶波形Ｖは、他のパラメーター（仮想粘性パラメーターｄや仮想慣性パラメーターｍ）が互いに異なる場合と比べて、波形の形状（傾き）が大きく異なる。このため、記憶波形Ｖは、仮想弾性パラメーターｋ毎に教示装置５０の記憶媒体に記憶される。なお、記憶波形Ｖは、仮想弾性パラメーターｋ毎に教示装置５０の記憶媒体に記憶される構成に代えて、仮想粘性パラメーターｄ毎に教示装置５０の記憶媒体に記憶される構成であってもよく、仮想慣性パラメーターｍ毎に教示装置５０の記憶媒体に記憶される構成であってもよく、仮想弾性パラメーターｋと仮想粘性パラメーターｄと仮想慣性パラメーターｍとの一部又は全部の組み合わせ毎に教示装置５０の記憶媒体に記憶される構成であってもよい。
【００４４】
グラフＧ２において１以上の記憶波形Ｖを表示する際、表示制御部５１は、グラフＧ２において、入力窓Ｎ３において受け付けた仮想弾性パラメーターｋに対応する１以上の記憶波形Ｖのそれぞれに対応付けられたパラメーター識別情報を表示する。図４に示した例では、一例として、３つのパラメーター識別情報であるパラメーター識別情報ＰＴＲ１〜パラメーター識別情報ＰＴＲ３のそれぞれがグラフＧ２に表示されている。また、パラメーター識別情報ＰＴＲ１〜パラメーター識別情報ＰＴＲ３のそれぞれには、チェックボックスが対応付けられている。
【００４５】
ユーザーは、グラフＧ２において表示されたチェックボックスの中から１以上のチェックボックスを選択する（タップする又はクリックする等の選択操作を行う）ことにより、選択した１以上のチェックボックスのそれぞれに対応付けられたパラメーター識別情報を選択することができる。そして、ユーザーは、選択した１以上のパラメーター識別情報のそれぞれに対応付けられた記憶波形ＶをグラフＧ２に表示することができる。
【００４６】
すなわち、表示制御部５１は、ユーザーから受け付けた操作に基づいて、グラフＧ２においてユーザーが所望する１以上のチェックボックスを特定する。表示制御部５１は、特定した１以上のチェックボックスのそれぞれに対応付けられたパラメーター識別情報を特定する。表示制御部５１は、特定した１以上のパラメーター識別情報のそれぞれに対応付けられた記憶波形Ｖを、ユーザーが所望する１以上の記憶波形Ｖとして特定する。そして、表示制御部５１は、表示制御部５１が特定した１以上の記憶波形Ｖを図示しない記憶媒体から読み出し、読み出した１以上の記憶波形ＶをグラフＧ２に表示する。
【００４７】
図４に示した例では、ユーザーは、パラメーター識別情報ＰＴＲ１に対応付けられたチェックボックスのみを選択している。このため、図４に示したグラフＧ２には、パラメーター識別情報ＰＴＲ１に対応付けられた記憶波形Ｖのみが表示されている。
【００４８】
なお、記憶波形Ｖは、ユーザーの目安となる波形であればよく、例えば、ロボット２０のメーカーが推奨する波形であってもよく、過去においてロボット２０が正常に作業を行った実績のある波形であってもよい。また、記憶波形Ｖは、嵌合作業や研磨作業等の作業内容毎に教示装置５０の記憶媒体に記憶される構成であってもよく、ワークＷの機械特性（弾性係数や硬さ等）や、ハンドＨＤと接触する他の物体の機械特性毎に教示装置５０の記憶媒体に記憶される構成であってもよい。
【００４９】
次に、受付部５３は、スライダーバーＨ上におけるスライダーＨ１の操作に応じて、ハンドＨＤが他の物体と接触した場合に、当該他の物体との接触に応じた動作であってハンドＨＤの動作の挙動を示す値である挙動値の下限値を受け付ける（ステップＳ１５０）。挙動値は、仮想粘性パラメーターｄと仮想慣性パラメーターｍとの組み合わせを示す。挙動値は、仮想粘性パラメーターｄと仮想慣性パラメーターｍとのうち少なくとも一方が変化した場合に変化する値である。なお、仮想粘性パラメーターｄと仮想慣性パラメーターｍとの比は、挙動値が変化した場合において一定に保たれる構成であってもよく、挙動値が変化した場合において変化する構成であってもよい。
【００５０】
挙動値が小さいほど（すなわち、スライダーバーＨ上においてスライダーＨ１の位置が左方向に移動するほど）、仮想粘性パラメーターｄと仮想慣性パラメーターｍとのそれぞれは、小さくなる。仮想粘性パラメーターｄと仮想慣性パラメーターｍとのそれぞれが小さくなると、ＴＣＰの位置が移動しやすくなるため、力検出部２１が検出する力の応答性が良くなる。すなわち、仮想粘性パラメーターｄと仮想慣性パラメーターｍとのそれぞれが小さくなると、当該他の物体との接触に応じたハンドＨＤの動作の応答性が良くなる。一方、挙動値が大きいほど（すなわち、スライダーバーＨ上においてスライダーＨ１の位置が右方向に移動するほど）、仮想粘性パラメーターｄと仮想慣性パラメーターｍとのそれぞれは、大きくなる。仮想粘性パラメーターｄと仮想慣性パラメーターｍとのそれぞれが大きくなると、ＴＣＰの位置が移動し難くなるため、力検出部２１が検出する力が安定し易くなる。すなわち、仮想粘性パラメーターｄと仮想慣性パラメーターｍとのそれぞれが大きくなると、当該他の物体との接触に応じたハンドＨＤの動作の安定性が良くなる。なお、仮想粘性パラメーターｄと仮想慣性パラメーターｍとのそれぞれは、設定値の一例である。
【００５１】
次に、受付部５３は、スライダーバーＨ上におけるスライダーＨ２の操作に応じて、挙動値の上限値を受け付ける（ステップＳ１５５）。なお、ステップＳ１５０の処理とステップＳ１５５の処理とは、順番が逆であってもよい。また、挙動値は、仮想粘性パラメーターｄと仮想慣性パラメーターｍとの組み合わせを示す構成に代えて、仮想弾性パラメーターｋと仮想粘性パラメーターｄと仮想慣性パラメーターｍとの組み合わせを示す構成であってもよい。この場合、メイン画面には、前述の入力窓Ｎ３が含まれない。
【００５２】
次に、受付部５３は、スライダーバーＨ上におけるスライダーＨ１のスライド位置が示す挙動値の下限値、及びスライダーＨ２のスライド位置が示す挙動値の上限値のそれぞれを取得する。そして、受付部５３は、取得した当該下限値以上当該上限値以下の範囲に含まれる挙動値の中から、所定の条件を満たす挙動値を特定する。所定の条件は、例えば、当該範囲を５等分に分割した場合に、分割された区間のうちの隣り合う区間との境界の位置する挙動値であることである。受付部５３は、当該下限値と、特定した挙動値と、当該上限値とのそれぞれを１以上の設定値（この一例において、６個の設定値）として特定する（ステップＳ１６０）。なお、所定の条件は、当該範囲を５等分に分割した場合に、分割された区間のうちの隣り合う区間との境界の位置する挙動値であることに代えて、当該範囲に含まれる挙動値を１以上選択することが可能な他の条件であってもよい。また、当該範囲の分割数、すなわちステップＳ１６０において特定される設定値の数は、予め決められている構成であってもよく、ユーザーにより入力される構成であってもよい。ユーザーにより入力される構成の場合、メイン画面には、当該範囲の分割数を入力するための入力窓が含まれる。
【００５３】
次に、表示制御部５１及びロボット制御部５２は、動作ボタンＢ１の操作に応じて、ステップＳ１６０において特定した１以上の設定値のそれぞれ毎に、ステップＳ１８０〜ステップＳ１９０の処理を繰り返し行う（ステップＳ１７０）。
【００５４】
ロボット制御部５２は、ステップＳ１７０において選択（特定）された設定値に基づいてアームＡに所定の第１動作を行わせる（ステップＳ１８０）。すなわち、ロボット制御部５２は、ステップＳ１７０において選択された設定値である仮想粘性パラメーターｄ及び仮想慣性パラメーターｍ）と、メイン画面において設定された仮想弾性パラメーターｋ及び目標力ｆＳｔとをロボット制御装置３０に出力し、出力した仮想弾性パラメーターｋ、仮想粘性パラメーターｄ、仮想慣性パラメーターｍ、目標力ｆＳｔのそれぞれに基づいてアームＡに第１動作を行わせるようにロボット制御装置３０に対して指令する。
【００５５】
図４に示したメイン画面の場合、ハンドＨＤが第１動作として−Ｚ方向に移動し、−Ｚ方向においてハンドＨＤが他の物体に接触してメイン画面において設定された大きさの力ｆＳが力検出部２１によって検出されるようにアームＡが制御される。なお、第１動作は、これに代えて、他の動作であってもよい。
【００５６】
ロボット制御部５２がロボット制御装置３０にアームＡを制御させている間、取得部５５は、所定のサンプリング周期毎に重力補償後の力ｆＳ（すなわち、力検出部２１の出力値）をロボット制御装置３０から取得する。そして、取得部５５は、取得した力ｆＳを教示装置５０の記憶媒体に記憶させる。なお、挙動値が仮想弾性パラメーターｋと仮想粘性パラメーターｄと仮想慣性パラメーターｍとの組み合わせを示す場合、設定値は、仮想弾性パラメーターｋと、仮想粘性パラメーターｄと、仮想慣性パラメーターｍとのことである。
【００５７】
次に、表示制御部５１は、ステップＳ１８０において取得部５５が記憶媒体に記憶させた力ｆＳに基づく検出波形Ｌを、ステップＳ１７０において選択された設定値、すなわち当該検出波形Ｌに対応付けられた設定値を示す設定値識別情報とともにグラフＧ１に表示する（ステップＳ１９０）。具体的には、表示制御部５１は、当該記憶媒体からサンプリング周期毎の当該力ｆＳを読み出す。そして、表示制御部５１は、読み出した当該力ｆＳの時系列の波形である検出波形ＬをグラフＧ１に表示する。すなわち、検出波形Ｌは、力検出部２１の出力値としての力ｆＳの時間応答波形である。グラフＧ１の縦軸と横軸は、この一例において、グラフＧ２の縦軸と横軸と同じスケールであることとする。また、検出波形Ｌは、入力窓Ｎ１において受け付けられた大きさの目標力ｆＳｔへと収束していく波形である。なお、グラフＧ１の縦軸と横軸は、グラフＧ２の縦軸と横軸と同じスケールである構成に代えて、グラフＧ２の縦軸と横軸と異なるスケールである構成であってもよい。
【００５８】
このように、ステップＳ１６０において特定した１以上の設定値のそれぞれ毎にステップＳ１７０〜ステップＳ１９０の処理を繰り返し行うことにより、表示制御部５１は、グラフＧ１に１以上の検出波形Ｌと、各検出波形Ｌに対応付けられた設定値識別情報とを表示する。これにより、教示装置５０は、１回の操作によってアームＡに設定値の数だけ第１動作を行わせることができるため、ユーザーが所望する設定値を選択するために要する時間を短縮することができる。図４に示した例では、一例として、６つの設定値識別情報である設定値識別情報ＳＲ１〜設定値識別情報ＳＲ６のそれぞれがグラフＧ１に表示されている。また、設定値識別情報ＳＲ１〜設定値識別情報ＳＲ６のそれぞれには、チェックボックスが対応付けられている。
【００５９】
ユーザーは、グラフＧ１において表示されたチェックボックスの中から１以上のチェックボックスを選択する（タップする又はクリックする等の選択操作を行う）ことにより、選択した１以上のチェックボックスのそれぞれに対応付けられた設定値識別情報を選択することができる。そして、ユーザーは、選択した１以上の設定値識別情報のそれぞれに対応付けられた検出波形ＬをグラフＧ１に表示することができる。
【００６０】
すなわち、表示制御部５１は、ユーザーから受け付けた操作に基づいて、グラフＧ１においてユーザーが所望する１以上のチェックボックスを特定する。表示制御部５１は、特定した１以上のチェックボックスのそれぞれに対応付けられた設定値識別情報を特定する。表示制御部５１は、特定した１以上の設定値識別情報のそれぞれに対応付けられた検出波形Ｌを、ユーザーが所望する１以上の検出波形Ｌとして特定する。そして、表示制御部５１は、特定した１以上の検出波形ＬをグラフＧ１に表示する。これにより、教示装置５０は、設定値を変化させた場合に検出波形Ｌがどのように変化するのかをユーザーに容易に視認させることができるとともに、設定値を変化させた場合の検出波形Ｌの変化を容易に比較させることができる。
【００６１】
図４に示した例では、ユーザーは、設定値識別情報ＳＲ１〜設定値識別情報ＳＲ５のそれぞれに対応付けられたチェックボックスを選択している。このため、図４に示したグラフＧ１には、設定値識別情報ＳＲ１〜設定値識別情報ＳＲ５のそれぞれに対応付けられた検出波形Ｌが表示されている。
【００６２】
次に、受付部５３は、ユーザーが所望する設定値を示す設定値識別情報を受け付ける（ステップＳ２００）。すなわち、受付部５３は、ユーザーが所望する検出波形Ｌに対応付けられた設定値識別情報を受け付ける。メイン画面には、ユーザーが所望する設定値に対応付けられた設定値識別情報を受け付けるための入力窓Ｎ４が含まれている。受付部５３は、入力窓Ｎ４において、ユーザーが所望する設定値に対応付けられた設定値識別情報の入力を受け付ける。図４に示した例では、入力窓Ｎ４には、設定値識別情報ＳＲ１が入力されている。
【００６３】
次に、受付部５３は、決定ボタンであるボタンＢ２が操作されたか否かを判定する（ステップＳ２１０）。すなわち、受付部５３は、入力窓Ｎ４において受け付けた設定値識別情報を、ユーザーが所望する設定値を示す設定値識別情報として決定するための操作が受け付けられたか否かを判定する。
【００６４】
ボタンＢ２が操作されたと判定しなかった場合、（ステップＳ２１０−ＮＯ）、受付部５３は、ステップＳ１９０に遷移し、再びユーザーが所望する設定値を示す設定値識別情報を受け付ける。すなわち、ユーザーが入力窓Ｎ４に入力した設定値識別情報に対応付けられた検出波形Ｌに満足できなかったとして、引き続き、ユーザーが所望する設定値を示す設定値識別情報を受け付ける。一方、ボタンＢ２が操作されたと受付部５３が判定した場合（ステップＳ２１０−ＹＥＳ）、設定部５４は、入力窓Ｎ４において受け付けた設定値識別情報が示す設定値を、ユーザーが所望する設定値として特定する。そして、設定部５４は、特定した設定値及び入力窓Ｎ３において受け付けた仮想弾性パラメーターｋと、当該設定値を示す設定値識別情報に対応付けられた検出波形Ｌと対応付けて教示装置５０の記憶媒体に記憶波形Ｖとして記憶させるとともに、当該設定値及び仮想弾性パラメーターｋをロボット制御装置３０に出力して記憶させ（ステップＳ２２０）、処理を終了する。これにより、教示装置５０は、メイン画面において設定された目標力ｆＳｔとともに、インピーダンス制御のパラメーターである仮想弾性パラメーターｋ、仮想粘性パラメーターｄ、仮想慣性パラメーターｍをロボット制御装置３０に記憶させる（教示する）ことができる。また、教示装置５０は、過去に記憶媒体に記憶波形Ｖとして記憶させた検出波形Ｌと、新たに出力装置に表示させた検出波形Ｌとをユーザーに容易に比較させることができる。その結果、教示装置５０は、ユーザーが所望する設定値を選択するために要する時間を短縮することができる。
【００６５】
なお、ステップＳ２１０において、設定部５４は、入力窓Ｎ４において受け付けた設定値識別情報が示す設定値をロボット制御部５２に設定する構成であってもよい。この場合、当該設定値がロボット制御部５２に設定された後、ロボット制御部５２は、設定された設定値に基づいて所定の第２動作をアームＡに行わせる。所定の第２動作は、第１動作を同じ動作であってもよく、第２動作と異なる動作であってもよい。例えば、第２動作は、ロボット制御装置３０がアームＡに何らかの作業を行わせる際におけるアームＡの動作と同じ動作であってもよい。第２動作が当該動作である場合、ユーザーは、ユーザーが選択した設定値によってアームＡがロボット制御装置３０に制御された際のアームＡの挙動を、ユーザーが直接ロボット制御装置３０を操作することなく確認することができる。
【００６６】
＜実施形態の変形例＞
以下、実施形態の変形例について説明する。
【００６７】
受付部５３は、メイン画面のスライダーバーＨ上におけるスライダーＨ１又はスライダーＨ２のいずれか一方によって挙動値の基準値を受け付ける構成であってもよい。この場合、受付部５３は、基準値に基づいて挙動値の上限値及び下限値を決定する。例えば、受付部５３は、基準値を中心として予め決められた値だけ小さな挙動値を当該下限値として決定し、当該値だけ大きな挙動値を当該上限値として決定する構成であってもよく、基準値を挙動値の下限値として決定し、基準値から予め決められた値だけ大きな挙動値を、挙動値の上限値として決定する構成であってもよく、基準値を挙動値の上限値として決定し、基準値から予め決められた値だけ小さな挙動値を、挙動値の下限値として決定する構成であってもよく、基準値に基づいて下限値及び上限値を決定する他の構成であってもよい。
【００６８】
また、表示制御部５１は、グラフＧ２に表示した１以上の記憶波形Ｖの一部又は全部を、グラフＧ１に表示した１以上の検出波形Ｌに重ねて表示する構成であってもよい。この場合、表示制御部５１は、記憶波形Ｖと検出波形Ｌとを互いに識別可能な色や線種によってグラフＧ２に表示する。例えば、表示制御部５１は、記憶波形Ｖを点線によってグラフＧ２に表示し、検出波形Ｌを実線によってグラフＧ２に表示する。
【００６９】
また、表示制御部５１は、グラフＧ１に表示した１以上の検出波形Ｌの一部又は全部を、グラフＧ２に表示した１以上の記憶波形Ｖに重ねて表示する構成であってもよい。この場合、表示制御部５１は、記憶波形Ｖと検出波形Ｌとを互いに識別可能な色や線種によってグラフＧ２に表示する。例えば、表示制御部５１は、記憶波形Ｖを点線によってグラフＧ１に表示し、検出波形Ｌを実線によってグラフＧ１に表示する。
【００７０】
また、表示制御部５１は、グラフＧ２に２以上の記憶波形Ｖを表示する際、当該２以上の記憶波形Ｖのそれぞれを、互いに異なる色や線種によってグラフＧ２に表示する構成であってもよい。
【００７１】
また、表示制御部５１は、グラフＧ１に２以上の検出波形Ｌを表示する際、当該２以上の検出波形Ｌのそれぞれを、互いに異なる色や線種によってグラフＧ１に表示する構成であってもよい。
【００７２】
また、表示制御部５１は、グラフＧ１に２以上の検出波形Ｌを表示する際、当該２以上の検出波形Ｌのうちのユーザーにより選択された検出波形Ｌを基準波形とし、基準波形に含まれる最大の波高値よりも大きな波高値を含む検出波形Ｌと、基準波形に含まれる最大の波高値よりも小さな波高値のみを含む検出波形Ｌとを互いに識別可能な色や線種によってグラフＧ１に表示する構成であってもよい。例えば、表示制御部５１は、当該２以上の検出波形Ｌのうち、基準波形に含まれる最大の波高値よりも大きな波高値を含む検出波形Ｌを実線によって表示し、基準波形に含まれる最大の波高値よりも小さな波高値のみを含む検出波形Ｌを点線によって表示する。
【００７３】
また、表示制御部５１は、メイン画面において、ツールチップ等によってパラメーターの詳細を表示する構成であってもよい。例えば、表示制御部５１は、グラフＧ１においてマウスのカーソルが１以上の検出波形Ｌのうちの１つの上に重なった場合、カーソルが重ねられた検出波形Ｌに対応付けられた設定値識別情報が示す設定値を、ツールチップによってメイン画面上に重ねて表示する。また、表示制御部５１は、グラフＧ２においてマウスのカーソルが１以上の記憶波形Ｖのうちの１つの上に重なった場合、カーソルが重ねられた記憶波形Ｖに対応付けられたパラメーター識別情報が示すパラメーターを、ツールチップによってメイン画面上に重ねて表示する。
【００７４】
以上のように、制御装置２５は、力検出部（この一例において、力検出部２１）を備えたロボット（この一例において、ロボット２０）を所定の設定値に基づいて動作させた場合の力検出部の出力値を取得し、複数の設定値毎に設定値に基づいてロボットに所定の第１動作を行わせ、取得した出力値の時間応答波形であって設定値毎の時間応答波形を表示部（この一例において、図示しない出力装置）に表示させ、ユーザーから受け付けた操作に基づいて表示部に表示された設定値毎の時間応答波形の中からユーザーが所望する時間応答波形を選択する。これにより、制御装置２５は、ユーザーが所望する時間応答波形に対応する設定値に基づいてロボットを動作させることができる。
【００７５】
また、制御装置２５は、ユーザーから受け付けた操作に基づいて、設定値毎の時間応答波形のうちの一部又は全部を表示部に表示させる。これにより、制御装置は、設定値毎の時間応答波形のうちの一部又は全部の中からユーザーが所望する時間応答波形に対応する設定値をユーザーに選択させることができる。
【００７６】
また、制御装置２５は、ユーザーから受け付けた操作に基づいて、予め記憶部（この一例において、教示装置５０の図示しない記憶媒体）に記憶された時間応答波形の一部又は全部を表示部に表示させる。これにより、制御装置２５は、記憶部に記憶された時間応答波形のうちの一部又は全部の中からユーザーが所望する時間応答波形に対応する設定値をユーザーに選択させることができる。
【００７７】
また、制御装置２５は、ユーザーから受け付けた操作に基づいて複数の設定値のそれぞれを特定し、特定した設定値毎に、設定値と力検出部の出力値とに基づくコンプライアントモーション制御を行う。これにより、制御装置２５は、特定した設定値毎に行われたコンプライアントモーション制御の結果である力検出部の出力値の時間応答波形のうちのユーザーが所望する時間応答波形に対応する設定値に基づいてロボットを動作させることができる。
【００７８】
また、制御装置２５は、ユーザーから受け付けた操作に基づいて複数の設定値であって仮想慣性パラメーターと仮想弾性パラメーターと仮想粘性パラメーターとのうちの少なくとも一部が含まれる設定値のそれぞれを特定し、特定した設定値毎に、設定値と力検出部の出力値とに基づくインピーダンス制御を行う。これにより、制御装置２５は、特定した設定値毎に行われたインピーダンス制御における力検出部の出力値の時間応答波形のうちのユーザーが所望する時間応答波形に対応する設定値に基づいてロボットを動作させることができる。
【００７９】
また、制御装置２５は、予め決められている数、又はユーザーにより入力される数の設定値毎に設定値に基づいてロボットに所定の第１動作を行わせる。これにより、制御装置２５は、予め決められている数、又はユーザーにより入力される数の設定値毎の時間応答波形の中からユーザーが所望する時間応答波形に対応する設定値をユーザーに選択させることができる。
【００８０】
また、制御装置２５は、受け付けた操作に応じた時間応答波形に対応付けられた設定値を設定し、設定した設定値に基づいてロボットに所定の第２動作を行わせる。これにより、制御装置２５は、ユーザーが所望する動作である第２動作を含む作業をロボットに行わせることができる。
【００８１】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【００８２】
また、以上に説明した装置（例えば、ロボット制御装置３０や教示装置５０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００８３】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００８４】
１…ロボットシステム、２０…ロボット、２１…力検出部、３０…ロボット制御装置、５０…教示装置、５１…表示制御部、５２…ロボット制御部、５３…受付部、５４…設定部、５５…取得部
【図１】
0006743431.tif 000003
【図２】
0006743431.tif 000004
【図３】
0006743431.tif 000005
【図４】
0006743431.tif 000006