(57)【要約】【課題】第１モードと第２モードとのいずれかによって、ロボットの位置及び姿勢を高い精度で所望の位置及び姿勢へと変化させることができる制御装置を提供すること。【解決手段】ハンドと力検出部を備えるロボットの位置及び姿勢を記憶する際、前記ハンドに加わる外力が所定条件を満たすまで前記ロボットを動かす第１モードと、前記ロボットが備える第１部位に加えられた外力に基づき前記ロボットを動かす第２モードとを切り替える、制御装置。【選択図】図３
2020157475.tif 000002
【特許請求の範囲】
【請求項１】
ハンドと力検出部を備えるロボットの位置及び姿勢を記憶する際、前記ハンドに加わる外力が所定条件を満たすまで前記ロボットを動かす第１モードと、前記ロボットが備える第１部位に加えられた外力に基づき前記ロボットを動かす第２モードとを切り替える、
制御装置。
【請求項２】
前記第１モードにおいて、前記所定条件が満たされるまで、前記力検出部の出力に基づく制御によって前記ハンドを対象物に近づける、
請求項１に記載の制御装置。
【請求項３】
前記所定条件は、前記ハンドに加わる外力のうちの少なくとも第１方向に向かう外力が０より大きくなり、且つ、前記ハンドに加わる外力のうちの少なくとも前記第１方向と異なる第２方向に向かう外力が０となることである、
請求項１又は２に記載の制御装置。
【請求項４】
前記第１方向は、並進方向であり、
前記第２方向は、回転方向である、
請求項３に記載の制御装置。
【請求項５】
前記第１モードにおいて、前記所定条件が満たされた場合、現在の前記位置及び姿勢を記憶する、
請求項１から４のうちいずれか一項に記載の制御装置。
【請求項６】
前記第２モードにおいて、前記第１部位に加えられた外力に基づいて、前記ロボットが備える第２部位を所定方向に所定量だけ移動させる、
請求項１から５のうちいずれか一項に記載の制御装置。
【請求項７】
前記第２部位を前記所定方向に前記所定量だけ移動させた後、現在の前記位置及び姿勢を記憶する、
請求項６に記載の制御装置。
【請求項８】
前記所定方向には、並進方向と回転方向のうちいずれか一方又は両方が含まれる、
請求項６又は７に記載の制御装置。
【請求項９】
前記所定方向は、前記第１部位の部分に応じた方向であり、
前記第１部位に加えられた外力に応じて、前記第１部位の部分のうちの当該外力が加わった部分に応じた方向に前記第２部位を前記所定量だけ移動させる、
請求項６から８のうちいずれか一項に記載の制御装置。
【請求項１０】
請求項１から９のうちいずれか一項に記載の制御装置に制御される、
ロボット。
【請求項１１】
請求項１から９のうちいずれか一項に記載の制御装置と、
前記制御装置に制御されるロボットと、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御装置、ロボット、及びロボットシステムに関する。
【背景技術】
【０００２】
ロボットが備える力センサーにより検出される力及びモーメントに基づいて、ロボットに動作を教示する技術の研究や開発が行われている。
【０００３】
これに関し、教示作業者がロボットのアームの先部に設けられた手先効果器に力を加え、この加えられた力をリスト部に備えた力センサーで検出し、力センサーが出力する力信号に基づく力制御によって手先効果器を目標とする位置に誘導し、誘導した後の手先効果器の位置及び姿勢を教示データとして記憶する直接教示装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０３−１２３９０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような直接教示装置では、予め入力されるパラメーターであって力制御による手先効果器の移動量を算出するために用いられる力制御パラメーターを正確に設定しなければ、手先効果器の位置及び姿勢を、正確に所望の位置及び姿勢に変化させることが困難な場合があった。また、当該直接教示装置では、当該力制御パラメーターを正確に設定することができたとしても、教示作業者が手先効果器に対して所望の方向に所望の力を正確に加えることが困難な場合があり、手先効果器の位置及び姿勢を、正確に所望の位置及び姿勢に変化させることが困難な場合があった。その結果、当該直接教示装置では、所望する位置及び姿勢を、ロボットに正確に教示することができない場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、ハンドと力検出部を備えるロボットの位置及び姿勢を記憶する際、前記ハンドに加わる外力が所定条件を満たすまで前記ロボットを動かす第１モードと、前記ロボットが備える第１部位に加えられた外力に基づき前記ロボットを動かす第２モードとを切り替える、制御装置である。
この構成により、制御装置は、ロボットの位置及び姿勢を記憶する際、ハンドに加わる外力が所定条件を満たすまでロボットを動かす第１モードと、ロボットが備える第１部位に加えられた外力に基づきロボットを動かす第２モードとを切り替える。これにより、制御装置は、第１モードと第２モードとのいずれかによって、ロボットの位置及び姿勢を高い精度で所望の位置及び姿勢へと変化させることができる。
【０００７】
また、本発明の他の態様は、制御装置において、前記第１モードにおいて、前記所定条件が満たされるまで、前記力検出部の出力に基づく制御によって前記ハンドを対象物に近づける、構成が用いられてもよい。
この構成により、制御装置は、第１モードにおいて、所定条件が満たされるまで、力検出部の出力に基づく制御によってハンドを対象物に近づける。これにより、制御装置は、第１モードにおいて、ユーザーによりハンドに外力を加えさせることなく、ロボットの位置及び姿勢を、対象物に対応付けられた所望の位置及び姿勢へと高い精度で変化させることができる。
【０００８】
また、本発明の他の態様は、制御装置において、前記所定条件は、前記ハンドに加わる外力のうちの少なくとも第１方向に向かう外力が０より大きくなり、且つ、前記ハンドに加わる外力のうちの少なくとも前記第１方向と異なる第２方向に向かう外力が０となることである、構成が用いられてもよい。
この構成により、制御装置は、第１モードにおいて、ハンドに加わる外力のうちの少なくとも第１方向に向かう外力が０より大きくなり、且つ、ハンドに加わる外力のうちの少なくとも第２方向に向かう外力が０となるまでロボットを動かす。これにより、制御装置は、第１モードにおいて、ロボットの姿勢を保持したまま、第１方向と反対の方向に向かってロボットの位置を移動させることができる。
【０００９】
また、本発明の他の態様は、制御装置において、前記第１方向は、並進方向であり、前記第２方向は、回転方向である、構成が用いられてもよい。
この構成により、制御装置は、第１モードにおいて、ハンドに加わる力のうちの少なくとも並進方向である第１方向に向かう力が０より大きくなり、且つ、回転方向である第２方向に向かうモーメントが０となるまでロボットを動かす。これにより、制御装置は、第１モードにおいて、ロボットの姿勢を保持したまま、並進方向である第１方向と反対の方向に向かってロボットの位置を移動させることができる。
【００１０】
また、本発明の他の態様は、制御装置において、前記第１モードにおいて、前記所定条件が満たされた場合、現在の前記位置及び姿勢を記憶する、構成が用いられてもよい。
この構成により、制御装置は、第１モードにおいて、所定条件が満たされた場合、現在のロボットの位置及び姿勢を記憶する。これにより、制御装置は、第１モードにおいて、所定条件を満たされた場合に記憶されたロボットの位置及び姿勢に基づいてロボットを動作させることができる。
【００１１】
また、本発明の他の態様は、制御装置において、前記第２モードにおいて、前記第１部位に加えられた外力に基づいて、前記ロボットが備える第２部位を所定方向に所定量だけ移動させる、構成が用いられてもよい。
この構成により、制御装置は、第２モードにおいて、ロボットが備える第１部位に加えられた外力に基づいて、ロボットが備える第２部位を所定方向に所定量だけ移動させる。これにより、制御装置は、第２モードにおいて、ユーザーにより第１部位に加えられる外力に基づいて、ロボットの位置及び姿勢を高い精度で所望の位置及び姿勢へと変化させることができる。
【００１２】
また、本発明の他の態様は、制御装置において、前記第２部位を前記所定方向に前記所定量だけ移動させた後、現在の前記位置及び姿勢を記憶する、構成が用いられてもよい。
この構成により、制御装置は、第２部位を所定方向に所定量だけ移動させた後、現在のロボットの位置及び姿勢を記憶する。これにより、制御装置は、第２モードにおいて、第２部位を所定方向に所定量だけ移動させた後に記憶されたロボットの位置及び姿勢に基づいてロボットを制御することができる。
【００１３】
また、本発明の他の態様は、制御装置において、前記所定方向には、並進方向と回転方向のうちいずれか一方又は両方が含まれる、構成が用いられてもよい。
この構成により、制御装置は、第２部位を並進方向と回転方向のうちいずれか一方又は両方に所定量だけ移動させた後、現在のハンドの位置及び姿勢を記憶する。これにより、制御装置は、第２モードにおいて、第２部位を並進方向と回転方向のうちいずれか一方又は両方に所定量だけ移動させた後に記憶された位置及び姿勢に基づいてロボットを制御することができる。
【００１４】
また、本発明の他の態様は、制御装置において、前記所定方向は、前記第１部位の部分に応じた方向であり、前記第１部位に加えられた外力に応じて、前記第１部位の部分のうちの当該外力が加わった部分に応じた方向に前記第２部位を前記所定量だけ移動させる、構成が用いられてもよい。
この構成により、制御装置は、ロボットが備える第１部位に加えられた外力に応じて、第１部位の部分のうちの当該外力が加わった部分に応じた方向に第２部位を所定量だけ移動させる。これにより、制御装置は、第２部位を移動させる方向をユーザーに容易に変更させることができる。
【００１５】
また、本発明の他の態様は、上記に記載の制御装置に制御されるロボットである。
この構成により、ロボットは、ロボットの位置及び姿勢を記憶する際、ハンドに加わる外力が所定条件を満たすまでロボットを動かす第１モードと、ロボットが備える第１部位に加えられた外力に基づきロボットを動かす第２モードとを切り替える。これにより、ロボットは、第１モードと第２モードとのいずれかによって、ロボットの位置及び姿勢を高い精度で所望の位置及び姿勢へと変化させることができる。
【００１６】
また、本発明の他の態様は、上記に記載の制御装置と、前記制御装置に制御されるロボットと、を備えるロボットシステムである。
この構成により、ロボットシステムは、ロボットの位置及び姿勢を記憶する際、ハンドに加わる外力が所定条件を満たすまでロボットを動かす第１モードと、ロボットが備える第１部位に加えられた外力に基づきロボットを動かす第２モードとを切り替える。これにより、ロボットシステムは、第１モードと第２モードとのいずれかによって、ロボットの位置及び姿勢を高い精度で所望の位置及び姿勢へと変化させることができる。
【００１７】
以上により、制御装置、ロボット、及びロボットシステムは、ロボットの位置及び姿勢を記憶する際、ハンドに加わる外力が所定条件を満たすまでロボットを動かす第１モードと、ロボットが備える第１部位に加えられた外力に基づきロボットを動かす第２モードとを切り替える。これにより、制御装置、ロボット、及びロボットシステムは、第１モードと第２モードとのいずれかによって、ロボットの位置及び姿勢を高い精度で所望の位置及び姿勢へと変化させることができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】ロボット制御装置３０及び教示装置５０のハードウェア構成の一例を示す図である。
【図３】ロボット制御装置３０及び教示装置５０の機能構成の一例を示す図である。
【図４】教示装置５０がロボット制御装置３０に各種の指示を出力する処理の流れの一例を示すフローチャートである。
【図５】ロボット制御装置３０が動作モード切替指示に基づいて動作モードを切り替える処理の流れの一例を示すフローチャートである。
【図６】ロボット制御装置３０が位置姿勢情報出力指示に基づいて現在の制御点Ｔ１の位置及び姿勢を示す情報を教示装置５０に出力する処理の流れの一例を示すフローチャートである。
【図７】動作モードが第２モードの場合にロボット制御装置３０がロボット２０を動作させる処理の流れの一例を示すフローチャートである。
【図８】第２所定条件における移動実行方向と所定方向との具体例１を示す図である。当該具体例１は、移動実行方向及び所定方向が両方とも並進方向であり、移動実行方向と所定方向とが互いに異なる方向である場合の例である。
【図９】第２所定条件における移動実行方向と所定方向との具体例２を示す図である。当該具体例３は、移動実行方向及び所定方向が両方とも並進方向であり、移動実行方向と所定方向とが同じ方向である場合の例である。
【図１０】第２所定条件における移動実行方向と所定方向との具体例３を示す図である。当該具体例３は、移動実行方向が並進方向であり、所定方向が回転方向である場合の例である。
【図１１】第２所定条件における移動実行方向と所定方向との具体例４を示す図である。当該具体例４は、移動実行方向及び所定方向の両方が回転方向であり、移動実行方向及び所定方向が同じ方向である場合の例である。
【図１２】第２所定条件における移動実行方向と所定方向との具体例５を示す図である。当該具体例５は、移動実行方向及び所定方向の両方が回転方向であり、移動実行方向及び所定方向が互いに異なる方向である場合の例である。
【図１３】第２所定条件における移動実行方向と所定方向との具体例６を示す図である。当該具体例６は、移動実行方向が回転方向であり、所定方向が並進方向である場合の例である。
【図１４】所定方向がハンドＨの部分に応じた方向である場合の移動実行方向と所定方向との具体例１を示す図である。
【図１５】所定方向がハンドＨの部分に応じた方向である場合の移動実行方向と所定方向との具体例２を示す図である。
【図１６】動作モードが第１モードの場合にロボット制御装置３０がロボット２０を動作させる処理の流れの一例を示すフローチャートである。
【図１７】ステップＳ５１０において制御点Ｔ１の位置及び姿勢が変化し始める直前のタイミングにおけるハンドＨと作業台ＴＢとの位置関係の一例を示す図である。
【図１８】ステップＳ５３０において制御点Ｔ１の位置及び姿勢の変化が停止される直前のタイミングにおけるハンドＨと作業台ＴＢとの位置関係の一例を示す図である。
【発明を実施するための形態】
【００１９】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００２０】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、本実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット２０と、制御装置２５を備える。制御装置２５は、ロボット制御装置３０と、ロボット制御装置３０と別体の教示装置５０とによって構成される。なお、制御装置２５は、これに代えて、ロボット制御装置３０と教示装置５０とが一体となって構成されてもよい。この場合、制御装置２５は、以下で説明するロボット制御装置３０及び教示装置５０の機能を有する。
【００２１】
ロボット２０は、アームＡと、アームＡを支持する支持台Ｂを備える単腕ロボットである。単腕ロボットは、この一例におけるアームＡのような１本のアーム（腕）を備えるロボットである。なお、ロボット２０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２本以上のアーム（例えば、２本以上のアームＡ）を備えるロボットである。なお、複腕ロボットのうち、２本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット２０は、２本のアームを備える双腕ロボットであってもよく、３本以上のアーム（例えば、３本以上のアームＡ）を備える複腕ロボットであってもよい。また、ロボット２０は、スカラロボットや、直角座標ロボット等の他のロボットであってもよい。直角座標ロボットは、例えば、ガントリロボットである。
【００２２】
アームＡは、エンドエフェクターＥと、マニピュレーターＭと、力検出部２１を備える。
エンドエフェクターＥは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
【００２３】
エンドエフェクターＥは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、エンドエフェクターＥは、ロボット制御装置３０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。また、エンドエフェクターＥは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２４】
マニピュレーターＭは、７つの関節を備える。また、７つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭを備えるアームＡは、７軸垂直多関節型のアームである。アームＡは、支持台Ｂと、エンドエフェクターＥと、マニピュレーターＭと、マニピュレーターＭが備える７つの関節それぞれのアクチュエーターとによる連携した動作によって７軸の自由度の動作を行う。なお、アームＡは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【００２５】
アームＡが７軸の自由度で動作する場合、アームＡは、６軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これによりアームＡは、例えば、動作が滑らかになり、更にアームＡの周辺に存在する物体との干渉を容易に回避することができる。また、アームＡが７軸の自由度で動作する場合、アームＡの制御は、アームＡが８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
【００２６】
マニピュレーターＭが備える７つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、マニピュレーターＭを動作させる。また、各アクチュエーターは、エンコーダーを備えている。各エンコーダーは、各エンコーダーが備えられたアクチュエーターの回転角を示す情報をロボット制御装置３０に出力する。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、マニピュレーターＭが備える７つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２７】
力検出部２１は、エンドエフェクターＥとマニピュレーターＭの間に備えられる。力検出部２１は、例えば、力センサーである。力検出部２１は、ハンドＨに加えられた外力を検出する。ハンドＨは、この一例において、エンドエフェクターＥ、又はエンドエフェクターＥにより把持された物体のことである。当該外力は、この一例において、ハンドＨに加えられた力と、ハンドＨに加えられたモーメントとの両方のことである。すなわち、力検出部２１は、ハンドＨに加えられた力であって、力検出座標系の各座標軸それぞれの方向に加わった力の大きさを検出する。また、力検出部２１は、ハンドＨに加えられたモーメントであって、当該各座標軸それぞれの周りに加えられたモーメントの大きさを検出する。力検出部２１は、検出したこれらの大きさを示す力検出値を含む力検出情報を通信によりロボット制御装置３０へ出力する。力検出座標系は、力検出部２１とともに動くように力検出部２１に対応付けられた三次元局所座標系である。なお、当該外力は、これに代えて、ハンドＨに加えられた力と、ハンドＨに加えられたモーメントとのうちいずれか一方のことであってもよい。
【００２８】
力検出情報は、ロボット制御装置３０によるアームＡの力検出情報に基づく制御である力制御に用いられる。力制御は、例えば、インピーダンス制御等のコンプライアントモーション制御のことである。なお、力検出部２１は、トルクセンサー等のハンドＨに加えられた外力を検出する他のセンサーであってもよい。
【００２９】
力検出部２１は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、力検出部２１とロボット制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００３０】
ロボット制御装置３０は、この一例において、ロボットコントローラーである。ロボット制御装置３０は、教示装置５０から教示点情報を取得する。教示点情報は、教示点を示す情報である。教示点は、ロボット制御装置３０がロボット２０を動作させる際にロボット２０の位置及び姿勢を変化させる目標となる位置及び姿勢を表す仮想的な点である。教示点には、教示点位置情報と、教示点姿勢情報と、教示点識別情報とが対応付けられている。教示点位置情報は、教示点の位置を示す情報である。また、教示点姿勢情報は、教示点の姿勢を示す情報である。教示点識別情報は、教示点を識別する情報である。
【００３１】
この一例において、教示点の位置は、教示点に対応付けられた三次元局所座標系である教示点座標系の原点のロボット座標系ＲＣにおける位置によって表される。また、教示点の姿勢は、教示点座標系の各座標軸のロボット座標系ＲＣにおける方向によって表される。
【００３２】
ロボット制御装置３０は、教示装置５０から取得した教示点情報を記憶する。また、ロボット制御装置３０は、記憶した教示点情報に基づいて、ロボット２０を動作させる制御信号を生成する。具体的には、ロボット制御装置３０は、マニピュレーターＭの各関節に備えられたエンコーダーから、各アクチュエーターの回転角を示す情報を取得する。ロボット制御装置３０は、記憶した教示点情報と、取得した当該回転角を示す情報とに基づいて制御信号を生成する。ロボット制御装置３０は、生成した制御信号をロボット２０に送信し、当該各アクチュエーターを動作させることによってロボット２０を動作させる。ここで、当該制御信号には、エンドエフェクターＥを制御する制御信号も含まれる。
【００３３】
また、ロボット制御装置３０は、教示装置５０から各種の指示を取得する。ロボット制御装置３０は、取得した指示のうちのロボット制御装置３０の動作モードを切り替える動作モード切替指示に基づいて、ロボット制御装置３０の動作モードを切り替える。具体的には、ロボット制御装置３０は、この一例において、動作モード切替指示に基づいて、動作モードを第１モードと、第２モードと、第３モードとのいずれかに切り替える。ロボット制御装置３０は、切り替えた動作モードに応じた動作をロボット２０に行わせる。動作モード切替指示は、第１モードと、第２モードと、第３モードとのいずれかを示す情報を含む指示である。なお、ロボット制御装置３０は、第１モードと第２モードとのいずれかに切り替える構成であってもよく、第２モードと第３モードとのいずれかに切り替える構成であってもよく、第１モードと第３モードとのいずれかに切り替える構成であってもよい。また、ロボット制御装置３０は、第１モード〜第３モードの３つのモードの一部又は全部と当該３つのモードと異なる他のモードとのいずれかに切り替える構成であってもよい。
【００３４】
第１モードは、この一例において、自動動作モードである。自動動作モードは、ハンドＨに加えられた外力が第１所定条件を満たすまでロボット２０を動かすモードである。すなわち、第１モードは、力制御によって第１所定条件が満たされるまでロボット制御装置３０がロボット２０を動作させるモードである。なお、第１モードは、自動動作モードに代えて、他のモードであってもよい。第１所定条件は、所定条件の一例である。第１所定条件については、後述する。
【００３５】
第２モードは、この一例において、ジョグ動作モードである。ジョグ動作モードは、ロボット２０が備える第１部位に加えられた外力に基づいて、ロボット２０が備える第２部位を所定方向に所定量だけ移動させるモードである。以下では、一例として、第１部位と第２部位が同じ部位であり、第１部位と第２部位がハンドＨである場合について説明する。すなわち、第２モードは、ハンドＨに加えられた外力に基づいて、ハンドＨを所定方向に所定量だけ移動させるモードである。なお、第１部位は、これに代えて、ロボット２０が備える他の部位であってもよい。また、第２部位は、これに代えて、ロボット２０が備える他の部位のうちの第１部位と異なる部位であってもよい。また、第２モードは、ジョグ動作モードに代えて、他のモードであってもよい。
【００３６】
第３モードは、この一例において、直接動作モードである。直接動作モードは、ロボット２０が備えるハンドＨに加えられた外力に基づいて、当該外力が加えられた方向に当該外力の大きさに応じた量だけハンドＨを動かすモードである。すなわち、第３モードは、直接教示（ダイレクトティーチング）においてユーザーがロボット２０を動かす場合にロボット制御装置３０がロボット２０を動作させるモードである。なお、第３モードは、直接動作モードに代えて、他のモードであってもよい。以下では、第３モードによるロボット２０の動作が従来から直接教示において知られている動作であるため、第３モードについての説明を省略する。
【００３７】
また、ロボット制御装置３０は、教示装置５０から取得した指示のうちの現在のロボット２０の位置及び姿勢を示す情報を教示装置５０に出力する位置姿勢情報出力指示に基づいて、当該情報を教示装置５０に出力する。
【００３８】
なお、ロボット制御装置３０は、ロボット２０の外部に設置される構成に代えて、ロボット２０に内蔵される構成であってもよい。
【００３９】
教示装置５０は、この一例において、ティーチングペンダントである。教示装置５０は、ユーザーから受け付けた操作に基づいて、ロボット制御装置３０に各種の指示を出力する。教示装置５０は、動作モード切替指示をロボット制御装置３０に出力することにより、ロボット制御装置３０に動作モードを切り替えさせる。
【００４０】
また、教示装置５０は、ロボット制御装置３０に出力する指示のうちの位置姿勢情報出力指示をロボット制御装置３０に出力することにより、ロボット制御装置３０から現在のロボット２０の位置及び姿勢を示す情報を取得する。教示装置５０は、取得した当該情報に基づいて、教示点情報を生成する。教示装置５０は、生成した教示点情報をロボット制御装置３０に出力して記憶させる。すなわち、教示装置５０は、生成した教示点情報が示す教示点をロボット制御装置３０に教示する。
【００４１】
教示装置５０は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、教示装置５０とロボット制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００４２】
なお、教示装置５０は、ティーチングペンダントに代えて、教示装置５０の機能を有し、ロボット制御装置３０に対する指示を出力することが可能なリモートコントローラー等であってもよい。
【００４３】
＜ロボット制御装置がロボットを動作させる処理の概要＞
以下、ロボット制御装置３０がロボット２０を動作させる処理の概要について説明する。
【００４４】
図１に示したように、ロボット２０は、この一例において、エンドエフェクターＥにより物体Ｏ１を予め把持している。すなわち、この一例におけるハンドＨは、エンドエフェクターＥ、又はエンドエフェクターＥにより把持された物体Ｏ１のことである。物体Ｏ１は、例えば、産業用の部品や部材、製品等である。なお、物体Ｏ１は、これに代えて、産業用と異なる日用品の部品や部材、製品等や、生体等の他の物体であってもよい。図１に示した例では、物体Ｏ１が直方体形状の物体として表されている。なお、物体Ｏ１の形状は、直方体形状に代えて、他の形状であってもよい。
【００４５】
ロボット制御装置３０は、エンドエフェクターＥに予め対応付けられた位置に、エンドエフェクターＥとともに動くＴＣＰ（Tool  Center  Point）である制御点Ｔ１を設定する。エンドエフェクターＥに予め対応付けられた位置は、例えば、エンドエフェクターＥにより予め把持された物体Ｏ１の重心の位置である。なお、エンドエフェクターＥに対応付けられた位置は、これに代えて、エンドエフェクターＥの重心の位置等の他の位置であってもよく、マニピュレーターＭに対応付けられた何らかの位置であってもよい。
【００４６】
制御点Ｔ１には、制御点Ｔ１の位置を示す情報である制御点位置情報と、制御点Ｔ１の姿勢を示す情報である制御点姿勢情報とが対応付けられている。なお、制御点Ｔ１には、これらに加えて、他の情報が対応付けられる構成であってもよい。制御点位置情報及び制御点姿勢情報をロボット制御装置３０が指定（決定）すると、制御点Ｔ１の位置及び姿勢が決まる。当該位置及び姿勢は、ロボット座標系ＲＣにおける位置及び姿勢である。ロボット制御装置３０は、制御点位置情報及び制御点姿勢情報を指定する。ロボット制御装置３０は、アームＡを動作させ、指定した制御点位置情報が示す位置に制御点Ｔ１の位置を一致させるとともに、指定した制御姿勢情報が示す姿勢に制御点Ｔ１の姿勢を一致させる。すなわち、ロボット制御装置３０は、制御点位置情報及び制御点姿勢情報を指定することにより、ロボット２０を動作させる。
【００４７】
この一例において、制御点Ｔ１の位置は、制御点座標系ＴＣ１の原点のロボット座標系ＲＣにおける位置によって表される。また、制御点Ｔ１の姿勢は、制御点座標系ＴＣ１の各座標軸のロボット座標系ＲＣにおける方向によって表される。制御点座標系ＴＣ１は、制御点Ｔ１とともに動くように制御点Ｔ１に対応付けられた三次元局所座標系である。なお、この一例において、前述の物体Ｏ１の位置及び姿勢は、制御点Ｔ１の位置及び姿勢によって表される。また、この一例において、制御点座標系ＴＣ１の各座標軸の方向は、前述の力検出座標系の各座標軸の方向と一致している。なお、制御点座標系ＴＣ１の各座標軸の方向は、力検出座標系の各座標軸の方向と一致しない構成であってもよい。
【００４８】
ロボット制御装置３０は、ユーザーから予め入力された制御点設定情報に基づいて制御点Ｔ１を設定する。制御点設定情報は、例えば、エンドエフェクターＥの重心の位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報である。なお、制御点設定情報は、これに代えて、エンドエフェクターＥに対応付けられた何らかの位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、マニピュレーターＭに対応付けられた何らかの位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、ロボット２０の他の部位に対応付けられた何らかの位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよい。
【００４９】
以下では、一例として、前述したロボット２０の位置及び姿勢が、制御点Ｔ１の位置及び姿勢である場合について説明する。なお、ロボット２０の位置及び姿勢は、ロボット２０の動作とともに動く他の部位の位置及び姿勢であってもよい。
【００５０】
ロボット制御装置３０は、教示点情報に基づいてロボット２０を動作させる。ロボット制御装置３０は、教示点情報に基づいてロボット２０を動作させる際、ユーザーにより予め入力された動作プログラムに基づいて、教示点情報が示す１以上の教示点を順に指定する。ロボット制御装置３０は、指定した教示点である指定教示点に対応付けられた教示点位置情報を制御点位置情報として指定するとともに、指定教示点に対応付けられた教示点姿勢情報を制御点姿勢情報として指定する。すなわち、ロボット制御装置３０は、指定教示点に基づいて制御点位置情報及び制御点姿勢情報を指定する。これにより、ロボット制御装置３０は、制御点Ｔ１を指定教示点に一致させることができる。なお、この一例において、ある教示点と制御点Ｔ１とが一致することは、当該教示点の位置及び姿勢と制御点Ｔ１の位置及び姿勢とが一致することを意味する。
【００５１】
また、ロボット制御装置３０は、動作モードが第１モード〜第３モードのいずれかである場合、力検出部２１から取得した力検出情報に基づいてロボット２０を動作させる。
【００５２】
具体的には、ロボット制御装置３０は、力検出部２１から力検出情報を取得する。そして、ロボット制御装置３０は、動作モードが第１モードの場合、取得した力検出情報に基づいて、ハンドＨに加えられた外力が第１所定条件を満たす状態を実現する位置及び姿勢まで制御点Ｔ１の位置及び姿勢を変化させる。ロボット制御装置３０は、当該状態を実現する位置及び姿勢を、ロボット制御装置３０に予め入力された力制御パラメーターと、動力学運動方程式と、当該力検出情報とに基づいて算出する。
【００５３】
また、ロボット制御装置３０は、動作モードが第２モードの場合、力検出部２１から取得した力検出情報に基づいて、ハンドＨに加えられた外力が第２所定条件を満たす場合、制御点Ｔ１を所定方向に所定量だけ移動させる。これにより、ロボット制御装置３０は、ハンドＨを所定方向に所定量だけ移動させる。
【００５４】
また、ロボット制御装置３０は、動作モードが第３モードの場合、力検出部２１から取得した力検出情報に基づいて、ハンドＨに外力が加えられた方向に、当該外力に応じた量だけ制御点Ｔ１を移動させる。ロボット制御装置３０は、当該外力に応じた量を、ロボット制御装置３０に予め入力された力制御パラメーターと、動力学運動方程式と、当該力検出情報とに基づいて算出する。
【００５５】
＜教示装置がロボット制御装置に教示する教示点＞
以下、教示装置５０がロボット制御装置３０に教示する教示点について説明する。
教示装置５０は、ロボット制御装置３０に教示する教示点として、最終目標教示点と待機教示点とを教示する。すなわち、教示装置５０は、最終目標教示点及び待機教示点のそれぞれを示す教示点情報を生成する。そして、教示装置５０は、生成した当該教示点情報をロボット制御装置３０に出力して記憶させる。
【００５６】
最終目標教示点は、この一例において、ロボット２０が物体Ｏ１を作業台ＴＢの上面に設定された配置領域ＲＡに配置した場合において制御点Ｔ１が一致する教示点である。作業台ＴＢは、この一例において、テーブル等の台である。また、作業台ＴＢは、作業台ＴＢの上面がロボット座標系ＲＣのＺ軸と直交するように床面に設置されている。なお、作業台ＴＢは、これに代えて、床面や棚等の物体Ｏ１を載置可能な面を有する物体であれば、他の物体であってもよい。また、作業台ＴＢの上面は、ロボット座標系ＲＣのＺ軸と直交しない構成であってもよい。作業台ＴＢは、対象物の一例である。
【００５７】
待機教示点は、この一例において、ロボット２０が物体Ｏ１を配置領域ＲＡに配置する前に制御点Ｔ１を一致させ、制御点Ｔ１を待機させる教示点である。待機教示点は、最終目標教示点からロボット座標系ＲＣのＺ軸の正方向に所定の第１距離だけ離れた教示点である。第１距離は、例えば、１０センチメートルである。なお、所定距離は、これに代えて、物体Ｏ１が作業台ＴＢに接触しない距離であれば１０センチメートルより短い距離であってもよく、１０センチメートルより長い距離であってもよい。
【００５８】
教示装置５０は、ユーザーから受け付けた操作に基づいて、ロボット制御装置３０の動作モードを切り替えさせる。教示装置５０により動作モードが切り替えられたロボット制御装置３０は、現在の動作モードに応じた動作をロボット２０に行わせ、ユーザーが所望する位置及び姿勢と制御点Ｔ１の位置及び姿勢とを一致させる。ユーザーが所望する位置及び姿勢と制御点Ｔ１の位置及び姿勢とを一致させた場合、教示装置５０は、ロボット制御装置３０から現在の制御点Ｔ１の位置及び姿勢を示す情報を取得する。教示装置５０は、取得した当該情報に基づいて、教示点を示す教示点情報を生成する。これにより、教示装置５０は、待機教示点を示す教示点情報と、最終目標教示点を示す教示点情報とを生成する。そして、教示装置５０は、生成したこれらの教示点情報をロボット制御装置３０に出力して記憶させる。すなわち、教示装置５０は、当該教示点情報をロボット制御装置３０に教示する。
【００５９】
以下では、教示装置５０がロボット制御装置３０に各種の指示を出力する処理と、動作モード切替指示に基づいてロボット制御装置３０が動作モードを切り替える処理と、位置姿勢情報出力指示に基づいてロボット制御装置３０に現在の制御点Ｔ１の位置及び姿勢を示す情報を教示装置５０に出力する処理と、動作モードが第２モードの場合にロボット制御装置３０がロボット２０を動作させる処理と、動作モードが第１モードの場合にロボット制御装置３０がロボット２０を動作させる処理とについて詳しく説明する。
【００６０】
＜ロボット制御装置及び教示装置のハードウェア構成＞
以下、図２を参照し、ロボット制御装置３０及び教示装置５０のハードウェア構成について説明する。図２は、ロボット制御装置３０及び教示装置５０のハードウェア構成の一例を示す図である。図２は、ロボット制御装置３０のハードウェア構成（図２における３０番台の符号が付された機能部）と、教示装置５０のハードウェア構成（図２における５０番台の符号が付された機能部）とを便宜的に重ねて示した図である。
【００６１】
ロボット制御装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備える。また、ロボット制御装置３０は、通信部３４を介してロボット２０、教示装置５０のそれぞれと通信を行う。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。
【００６２】
教示装置５０は、例えば、ＣＰＵ５１と、記憶部５２と、入力受付部５３と、通信部５４と、表示部５５を備える。また、教示装置５０は、通信部５４を介してロボット制御装置３０と通信を行う。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。
【００６３】
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶部３２は、ロボット制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部３２は、ロボット制御装置３０が処理する各種情報や画像、動作プログラムを含む各種のプログラム、教示点情報を格納する。
【００６４】
入力受付部３３は、例えば、表示部３５と一体に構成されたタッチパネルである。なお、入力受付部３３は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００６５】
ＣＰＵ５１は、記憶部５２に格納された各種プログラムを実行する。
記憶部５２は、例えば、ＨＤＤやＳＳＤ、ＥＥＰＲＯＭ、ＲＯＭ、ＲＡＭ等を含む。なお、記憶部５２は、教示装置５０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部５２は、教示装置５０が処理する各種情報や画像、各種のプログラムを格納する。
【００６６】
入力受付部５３は、例えば、表示部５５と一体に構成されたタッチパネルである。なお、入力受付部５３は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部５４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部５５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬディスプレイパネルである。
【００６７】
＜ロボット制御装置及び教示装置の機能構成＞
以下、図３を参照し、ロボット制御装置３０及び教示装置５０の機能構成について説明する。図３は、ロボット制御装置３０及び教示装置５０の機能構成の一例を示す図である。
【００６８】
ロボット制御装置３０は、記憶部３２と、制御部３６を備える。
【００６９】
制御部３６は、ロボット制御装置３０の全体を制御する。制御部３６は、力検出情報取得部３６１と、記憶制御部３６３と、情報読出部３６４と、動作モード切替部３６５と、情報出力部３６６と、ロボット制御部３６７を備える。制御部３６が備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００７０】
力検出情報取得部３６１は、力検出部２１から力検出情報を取得する。
記憶制御部３６３は、教示装置５０から取得した教示点情報を記憶部３２に記憶させる。
情報読出部３６４は、記憶部３２から各種の情報を読み出す。
動作モード切替部３６５は、教示装置５０から取得した指示のうちの動作モード切替指示に基づいて、当該動作モード切替指示が示すモードにロボット制御装置３０の動作モードを切り替える。
【００７１】
情報出力部３６６は、教示装置５０から取得した指示のうちの位置姿勢情報出力指示に基づいて、現在の制御点Ｔ１の位置及び姿勢を示す情報を教示装置５０に出力する。
ロボット制御部３６７は、力検出情報取得部３６１が力検出部２１から取得した力検出情報に基づいて、ロボット制御装置３０の現在の動作モードに応じた動作をロボット２０に行わせる。また、ロボット制御部３６７は、記憶制御部３６３が記憶部３２に記憶させた教示点情報に基づいてロボット２０を動作させる。
【００７２】
教示装置５０は、記憶部５２と、入力受付部５３と、表示部５５と、制御部５６を備える。
【００７３】
制御部５６は、教示装置５０の全体を制御する。制御部５６は、表示制御部５６１と、指示情報生成部５６３と、指示情報出力部５６５を備える。制御部５６が備えるこれらの機能部は、例えば、ＣＰＵ５１が、記憶部５２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩやＡＳＩＣ等のハードウェア機能部であってもよい。
【００７４】
表示制御部５６１は、表示部５５に表示させる各種の画面を生成する。表示制御部５６１は、生成した画面を表示部５５に表示させる。
指示情報生成部５６３は、表示制御部５６１が表示部５５に表示させた画面からユーザーにより受け付けられた操作に基づいて、ロボット制御装置３０に出力する各種の指示を生成する。
指示情報出力部５６５は、指示情報生成部５６３が生成した指示をロボット制御装置３０に出力する。
【００７５】
＜教示装置がロボット制御装置に各種の指示を出力する処理＞
以下、図４を参照し、教示装置５０がロボット制御装置３０に各種の指示を出力する処理について説明する。図４は、教示装置５０がロボット制御装置３０に各種の指示を出力する処理の流れの一例を示すフローチャートである。なお、図４に示したフローチャートでは、ロボット制御装置３０に各種の指示を出力する操作をユーザーから受け付けるメイン画面がすでに表示制御部５６１により表示部５５に表示されている場合について説明する。
【００７６】
指示情報生成部５６３は、メイン画面においてユーザーによる操作が受け付けられるまで待機する（ステップＳ１１０）。メイン画面においてユーザーによる操作が受け付けられたと判定した場合（ステップＳ１１０−ＹＥＳ）、指示情報生成部５６３は、当該操作がロボット制御装置３０の動作モードを切り替える操作であったか否かを判定する（ステップＳ１２０）。
【００７７】
例えば、指示情報生成部５６３は、ステップＳ１１０において受け付けられた操作により第１モード〜第３モードのいずれかを示す情報が選択された場合、当該操作がロボット制御装置３０の動作モードを切り替える操作であったと判定する。一方、指示情報生成部５６３は、ステップＳ１１０において受け付けられた操作により第１モード〜第３モードのいずれかを示す情報が選択されていない場合、当該操作がロボット制御装置３０の動作モードを切り替える操作ではなかったと判定する。
【００７８】
ステップＳ１１０において受け付けられた操作がロボット制御装置３０の動作モードを切り替える操作であったと判定した場合（ステップＳ１２０−ＹＥＳ）、指示情報生成部５６３は、ステップＳ１１０において選択された情報であってモードを示す情報を含む動作モード切替指示を生成する（ステップＳ１３０）。そして、指示情報出力部５６５は、ステップＳ１３０において指示情報生成部５６３が生成した動作モード切替指示をロボット制御装置３０に出力する（ステップＳ１４０）。
【００７９】
一方、ステップＳ１１０において受け付けられた操作がロボット制御装置３０の動作モードを切り替える操作ではなかったと判定した場合（ステップＳ１２０−ＮＯ）、指示情報生成部５６３は、ステップＳ１１０において受け付けられた操作が現在のロボット２０の位置及び姿勢（この一例において、現在の制御点Ｔ１の位置及び姿勢）を取得する操作であったか否かを判定する（ステップＳ１６０）。ステップＳ１１０において受け付けられた操作が現在の制御点Ｔ１の位置及び姿勢を示す情報を取得する操作であったと判定した場合（ステップＳ１６０−ＹＥＳ）、指示情報生成部５６３は、位置姿勢情報出力指示を生成する（ステップＳ１７０）。そして、指示情報生成部５６３は、ステップＳ１７０において生成した位置姿勢情報出力指示をロボット制御装置３０に出力する（ステップＳ１８０）。
【００８０】
一方、ステップＳ１１０において受け付けられた操作が現在の制御点Ｔ１の位置及び姿勢を取得する操作ではなかったと判定した場合（ステップＳ１６０−ＮＯ）、指示情報生成部５６３は、ステップＳ１１０において受け付けられた操作に応じた処理を実行する（ステップＳ１９０）。当該処理には、動作モード切替指示及び位置姿勢情報出力指示以外の指示を生成する処理、及び生成した当該指示をロボット制御装置３０へ出力する処理が含まれている。
【００８１】
ステップＳ１４０と、ステップＳ１８０と、ステップＳ１９０とのいずれかの処理が実行された後、指示情報生成部５６３は、メイン画面におけるユーザーからの操作の受け付けが終了したか否かを判定する（ステップＳ１５０）。例えば、指示情報生成部５６３は、メイン画面においてメイン画面を削除する操作が受け付けられた場合、メイン画面におけるユーザーからの操作の受け付けが終了したと判定する。一方、指示情報生成部５６３は、メイン画面においてメイン画面を削除する操作が受け付けられていない場合、メイン画面におけるユーザーからの操作の受け付けが終了していないと判定する。
【００８２】
メイン画面におけるユーザーからの操作の受け付けが終了していないと判定した場合（ステップＳ１５０−ＮＯ）、指示情報生成部５６３は、ステップＳ１１０に遷移し、再びメイン画面においてユーザーによる操作が受け付けられるまで待機する。一方、メイン画面におけるユーザーからの操作の受け付けが終了したと判定した場合（ステップＳ１５０−ＹＥＳ）、指示情報生成部５６３は、処理を終了する。
【００８３】
＜ロボット制御装置が動作モード切替指示に基づいて動作モードを切り替える処理＞
以下、図５を参照し、ロボット制御装置３０が動作モード切替指示に基づいて動作モードを切り替える処理について説明する。図５は、ロボット制御装置３０が動作モード切替指示に基づいて動作モードを切り替える処理の流れの一例を示すフローチャートである。
【００８４】
動作モード切替部３６５は、教示装置５０から動作モード切替指示を取得するまで待機する（ステップＳ２１０）。教示装置５０から動作モード切替指示を取得したと判定した場合（ステップＳ２１０−ＹＥＳ）、動作モード切替部３６５は、現在のロボット制御装置３０の動作モードを、ステップＳ２１０において教示装置５０から取得した動作モード切替指示が示すモードに切り替える（ステップＳ２２０）。
【００８５】
なお、ロボット制御装置３０は、例えば、ロボット２０が動作モード切替スイッチを備えており、ユーザーによる動作モード切替スイッチの操作によって動作モード切替スイッチから出力される動作モード切替指示を取得する構成であってもよい。この場合、ユーザーは、動作モード切替スイッチを操作することによって、ロボット制御装置３０の動作モードを切り替えることができる。動作モード切替スイッチは、例えば、エンドエフェクターＥやマニピュレーターＭの一部に設けられる。
【００８６】
＜ロボット制御装置が位置姿勢情報出力指示に基づいて現在の制御点の位置及び姿勢を示す情報を教示装置に出力する処理＞
以下、図６を参照し、ロボット制御装置３０が位置姿勢情報出力指示に基づいて現在の制御点Ｔ１の位置及び姿勢を示す情報を教示装置５０に出力する処理について説明する。図６は、ロボット制御装置３０が位置姿勢情報出力指示に基づいて現在の制御点Ｔ１の位置及び姿勢を示す情報を教示装置５０に出力する処理の流れの一例を示すフローチャートである。
【００８７】
情報出力部３６６は、教示装置５０から位置姿勢情報出力指示を取得するまで待機する（ステップＳ３１０）。教示装置５０から位置姿勢情報出力指示を取得したと情報出力部３６６が判定した場合（ステップＳ３１０−ＹＥＳ）、ロボット制御部３６７は、現在の制御点Ｔ１の位置及び姿勢を算出する。具体的には、ロボット制御部３６７は、マニピュレーターＭの各関節に備えられたエンコーダーから、各アクチュエーターの回転角を示す情報を取得する。そして、ロボット制御部３６７は、取得した当該回転角と、順運動学とに基づいて現在の制御点Ｔ１の位置及び姿勢を算出する。そして、情報出力部３６６は、ロボット制御部３６７が算出した当該位置及び姿勢を示す情報を教示装置５０に出力する（ステップＳ３２０）。
【００８８】
＜動作モードが第２モードの場合にロボット制御装置がロボットを動作させる処理＞
以下、図７〜図１５を参照し、動作モードが第２モードの場合にロボット制御装置３０がロボット２０を動作させる処理について説明する。図７は、動作モードが第２モードの場合にロボット制御装置３０がロボット２０を動作させる処理の流れの一例を示すフローチャートである。
【００８９】
ロボット制御部３６７は、動作開始指示を受け付けるまで待機する（ステップＳ４０５）。動作開始指示は、ロボット２０を動作させる処理を現在の動作モードによってロボット制御装置３０に開始させる指示のことである。ここで、ロボット制御部３６７は、図示しない表示制御部が表示部３５に表示させた画面においてユーザーから動作開始指示を受け付ける構成であってもよく、ユーザーから受け付けられた操作に基づいて教示装置５０から出力された動作開始指示を受け付ける構成であってもよく、ロボット制御装置３０及び教示装置５０と別体のスイッチ等から出力された動作開始指示を受け付ける構成であってもよい。
【００９０】
また、ロボット制御部３６７は、ハンドＨに加えられた外力であって所定の動作開始条件を満たした外力を動作開始指示として受け付ける構成であってもよい。動作開始条件は、例えば、ハンドＨに対して所定の動作開始方向に加えられた力の大きさが所定の第１閾値以上であることである。この場合、動作開始方向は、ユーザーによりロボット制御部３６７に予め入力された方向であり、ハンドＨを並進させる並進方向である。動作開始方向は、以下において説明する所定方向と異なる方向であることが望ましいが、所定方向と同じ方向であってもよい。第１閾値は、ユーザーによりロボット制御部３６７に予め入力された閾値であり、如何なる閾値であってもよい。また、動作開始条件は、ハンドＨに対して所定の動作開始方向に加えられた力の大きさが所定の第１閾値以上であることに代えて、ハンドＨに対して所定の動作開始方向に加えられたモーメントの大きさが所定の第２閾値以上であることであってもよい。この場合、動作開始方向は、ユーザーによりロボット制御部３６７に予め入力された方向であり、ハンドＨを回転させる回転方向である。第２閾値は、ユーザーによりロボット制御部３６７に予め入力された閾値であり、如何なる閾値であってもよい。また、動作開始条件は、これらの条件に代えて、他の条件であってもよい。
【００９１】
ステップＳ４０５において、動作開始指示を受け付けたと判定した場合（ステップＳ４０５−ＹＥＳ）、ロボット制御部３６７は、力検出情報取得部３６１が力検出部２１から取得した力検出情報に基づいて、第２所定条件を満たす外力がハンドＨに加えられたか否かを判定する（ステップＳ４１０）。
【００９２】
ステップＳ４１０において第２所定条件を満たす外力がハンドＨに加えられたと判定した場合（ステップＳ４１０−ＹＥＳ）、ロボット制御部３６７は、ロボット制御部３６７は、制御点Ｔ１を所定方向に所定量だけ移動させる（ステップＳ４２０）。
【００９３】
所定方向は、ユーザーによりロボット制御部３６７に予め入力された方向である。また、所定量は、ユーザーによりロボット制御部３６７に予め入力された移動量である。所定方向が制御点Ｔ１を並進させる並進方向であった場合、所定量は、制御点Ｔ１を並進させる並進移動量であり、例えば、１ミリメートルである。なお、この場合の所定量は、１ミリメートルより短い並進移動量であってもよく、１ミリメートルより長い並進移動量であってもよい。また、所定方向が制御点Ｔ１を回転させる回転方向であった場合、所定量は、制御点Ｔ１を回転させる回転角度であり、例えば、１度である。なお、この場合の所定量は、１度に代えて、１度より小さな回転角度であってもよく、１度より大きさ回転角度であってもよい。このように、所定方向は、並進方向と回転方向のうちいずれか一方又は両方である。
【００９４】
ステップＳ４２０において制御点Ｔ１を所定方向に所定量だけ移動させた後、ロボット制御部３６７は、動作終了指示を受け付けたか否かについて判定する（ステップＳ４３０）。動作終了指示は、ロボット２０を動作させる処理をロボット制御装置３０に終了させる指示のことである。ここで、ロボット制御部３６７は、図示しない表示制御部が表示部３５に表示させた画面においてユーザーから動作終了指示を受け付ける構成であってもよく、ユーザーから受け付けられた操作に基づいて教示装置５０から出力された動作終了指示を受け付ける構成であってもよく、ロボット制御装置３０及び教示装置５０と別体のスイッチ等から出力された動作終了指示を受け付ける構成であってもよい。
【００９５】
また、ロボット制御装置３０は、ハンドＨに加えられた外力であって所定の動作終了条件を満たした外力を動作終了指示として受け付ける構成であってもよい。動作終了条件は、例えば、ハンドＨに対して所定の動作終了方向に加えられた力の大きさが所定の第３閾値以上であることである。この場合、動作終了方向は、ユーザーによりロボット制御部３６７に予め入力された方向であり、ハンドＨを並進させる並進方向である。動作終了方向は、前述の所定方向と異なる方向であることが望ましいが、所定方向と同じ方向であってもよい。第３閾値は、ユーザーによりロボット制御部３６７に予め入力された閾値であり、如何なる閾値であってもよい。また、動作終了条件は、ハンドＨに対して所定の動作終了方向に加えられた力の大きさが所定の第３閾値以上であることに代えて、ハンドＨに対して所定の動作終了方向に加えられたモーメントの大きさが所定の第４閾値以上であることであってもよい。この場合、動作終了方向は、ユーザーによりロボット制御部３６７に予め入力された方向であり、ハンドＨを回転させる回転方向である。第４閾値は、ユーザーによりロボット制御部３６７に予め入力された閾値であり、如何なる閾値であってもよい。また、動作終了条件は、これらの条件に代えて、他の条件であってもよい。
【００９６】
ステップＳ４３０において動作終了指示を受け付けていないと判定した場合（ステップＳ４３０−ＮＯ）、ロボット制御部３６７は、ステップＳ４１０に遷移し、再び第２所定条件が満たされるまで待機する。一方、動作終了指示を受け付けたと判定した場合（ステップＳ４３０−ＹＥＳ）、ロボット制御部３６７は、処理を終了する。
【００９７】
一方、ステップＳ４１０において第２所定条件を満たす外力がハンドＨに加えられていないと判定した場合（ステップＳ４１０−ＮＯ）、ロボット制御部３６７は、ステップＳ４３０に遷移し、動作終了指示を受け付けたか否かについて判定する。
【００９８】
このように、ロボット制御装置３０は、第２モードにおいてロボット２０を動作させる際、ハンドＨに加えられた外力に基づいて、ハンドＨを所定方向に所定量だけ移動させる。これにより、ロボット制御部３６７は、第２モードにおいて、ユーザーによりハンドＨに加えられる外力によるハンドＨの移動量を一定に保つことができる。その結果、ロボット制御装置３０は、例えば、所望の所定量がユーザーによりロボット制御部３６７に予め入力されることにより、制御点Ｔ１の位置及び姿勢を高い精度で所望の位置及び姿勢へと変化させることができる。
【００９９】
なお、ステップＳ４１０においてユーザーがハンドＨに第２所定条件を満たす外力を加え続けた場合であっても、この一例におけるロボット制御部３６７は、ステップＳ４２０の処理を１回のみ行う。すなわち、当該ロボット制御部３６７は、ステップＳ４１０においてユーザーがハンドＨに第２所定条件を満たす外力を加え続けたとしても、所定方向に所定量の所定回数倍だけ制御点Ｔ１を動かさない。ユーザーが所定方向に所定量の整数倍だけ制御点Ｔ１を動かしたい場合は、ユーザーは、ハンドＨに対して第２所定条件を満たす外力を加えてからハンドＨに加えていた当該外力を解放するまでの作業を所定回数繰り返す必要がある。
【０１００】
第２モードにおいてロボット２０を動作させ、ユーザーによりハンドＨの位置及び姿勢の調整が行われた後、ロボット制御装置３０は、図６に示したフローチャートの処理によって教示装置５０に現在の制御点Ｔ１の位置及び姿勢を示す情報を出力する。教示装置５０は、ロボット制御装置３０から取得した当該情報に基づいて教示点情報を生成する。そして、教示装置５０は、生成した当該教示点情報をロボット制御装置３０に出力する。ロボット制御装置３０は、教示装置５０から取得した当該教示点情報を記憶する。例えば、ロボット制御装置３０は、教示装置５０から取得した待機教示点及び最終目標教示点のそれぞれを示す教示点情報を記憶する。これにより、ロボット制御装置３０は、第２モードにおいて、ハンドＨを所定方向に所定量だけ移動させた後に記憶された制御点Ｔ１の位置及び姿勢に基づいてロボット２０を制御することができる。
【０１０１】
ここで、前述の第２所定条件について説明する。第２所定条件は、例えば、ハンドＨに対して移動実行方向に加えられた力の大きさが第５閾値以上であることである。この場合、移動実行方向は、ユーザーによりロボット制御部３６７に予め入力された方向であり、ハンドＨを並進させる並進方向である。第５閾値は、ユーザーによりロボット制御部３６７に予め入力された閾値であり、如何なる閾値であってもよい。この場合の第２所定条件における移動実行方向と、前述の所定方向との具体例を、図８〜図１０のそれぞれに示した。
【０１０２】
図８は、第２所定条件における移動実行方向と所定方向との具体例１を示す図である。当該具体例１は、移動実行方向及び所定方向が両方とも並進方向であり、移動実行方向と所定方向とが互いに異なる方向である場合の例である。図８には、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合の側面図が示されている。
【０１０３】
図８には、移動実行方向が、矢印が示す方向Ａ１によって示されている。図８に示した例では、移動実行方向は、制御点座標系ＴＣ１のＹ軸の正方向である。すなわち、ロボット制御部３６７は、外力としてハンドＨを当該正方向に並進させる力がハンドＨに加えられ、当該力の大きさが第５閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を所定方向に所定量だけ移動させる。なお、移動実行方向は、制御点座標系ＴＣ１の座標軸のうちのＹ軸の正方向に代えて、ハンドＨを並進させる他の並進方向であってもよい。当該他の並進方向は、制御点座標系ＴＣ１のいずれかの座標軸に沿った並進方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸にも沿わない並進方向であってもよい。
【０１０４】
また、図８には、所定方向が、矢印が示す方向Ａ２によって示されている。図８に示した例では、所定方向は、制御点座標系ＴＣ１のＺ軸の負方向である。すなわち、ロボット制御部３６７は、外力としてハンドＨを制御点座標系ＴＣ１のＹ軸の正方向に並進させる力がハンドＨに加えられ、当該力の大きさが第５閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を制御点座標系ＴＣ１のＺ軸の負方向に所定量だけ移動させる。この場合、所定量は、制御点Ｔ１を並進させる移動量である。なお、所定方向は、制御点座標系ＴＣ１の座標軸のうちのＺ軸の負方向に代えて、制御点Ｔ１を並進させる他の並進方向であってもよい。当該他の並進方向は、制御点座標系ＴＣ１のいずれかの座標軸に沿った並進方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸にも沿わない並進方向であってもよい。
【０１０５】
図９は、第２所定条件における移動実行方向と所定方向との具体例２を示す図である。当該具体例３は、移動実行方向及び所定方向が両方とも並進方向であり、移動実行方向と所定方向とが同じ方向である場合の例である。図９には、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合の側面図が示されている。
【０１０６】
図９には、移動実行方向が、矢印が示す方向Ａ３によって示されている。図９に示した例では、移動実行方向は、制御点座標系ＴＣ１のＺ軸の負方向である。すなわち、ロボット制御部３６７は、外力としてハンドＨを当該負方向に並進させる力がハンドＨに加えられ、当該力の大きさが第５閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を所定方向に所定量だけ移動させる。なお、移動実行方向は、制御点座標系ＴＣ１の座標軸のうちのＺ軸の負方向に代えて、ハンドＨを並進させる他の並進方向であってもよい。当該他の方向は、制御点座標系ＴＣ１のいずれかの座標軸に沿った並進方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸にも沿わない並進方向であってもよい。
【０１０７】
また、図９には、所定方向が、矢印が示す方向Ａ４によって示されている。図９に示した例では、所定方向は、移動実行方向と同じ方向であり、制御点座標系ＴＣ１のＺ軸の負方向である。すなわち、ロボット制御部３６７は、外力としてハンドＨを制御点座標系ＴＣ１のＺ軸の負方向に並進させる力がハンドＨに加えられ、当該力の大きさが第５閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を当該負方向に所定量だけ移動させる。この場合、所定量は、制御点Ｔ１を並進させる移動量である。なお、所定方向は、制御点座標系ＴＣ１の座標軸のうちのＺ軸の負方向に代えて、制御点Ｔ１を並進させる他の並進方向であってもよい。当該他の並進方向は、制御点座標系ＴＣ１のいずれかの座標軸に沿った並進方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸にも沿わない並進方向であってもよい。
【０１０８】
図１０は、第２所定条件における移動実行方向と所定方向との具体例３を示す図である。当該具体例３は、移動実行方向が並進方向であり、所定方向が回転方向である場合の例である。図１０には、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合の側面図が示されている。
【０１０９】
図１０には、移動実行方向が、矢印が示す方向Ａ５によって示されている。図１０に示した例では、移動実行方向は、制御点座標系ＴＣ１のＹ軸の正方向である。すなわち、ロボット制御部３６７は、外力としてハンドＨを当該正方向に並進させる力がハンドＨに加えられ、当該力の大きさが第５閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を所定方向に所定量だけ移動させる。なお、移動実行方向は、制御点座標系ＴＣ１の座標軸のうちのＹ軸の正方向に代えて、ハンドＨを並進させる他の並進方向であってもよい。当該他の並進方向は、制御点座標系ＴＣ１のいずれかの座標軸に沿った並進方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸にも沿わない並進方向であってもよい。
【０１１０】
また、図１０には、所定方向が、矢印が示す方向Ａ６によって示されている。図１０に示した例では、所定方向は、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合において当該Ｘ軸周りにハンドＨを時計回りに回転させる回転方向である。すなわち、ロボット制御部３６７は、外力としてハンドＨを制御点座標系ＴＣ１のＹ軸の正方向に並進させる力がハンドＨに加えられ、当該力の大きさが第５閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を、当該回転方向に所定量だけ移動させる。この場合、所定量は、制御点Ｔ１を回転させる回転量（回転角度）である。なお、所定方向は、当該回転方向に代えて、他の回転方向であってもよい。当該他の回転方向は、制御点座標系ＴＣ１のいずれかの座標軸周りの回転方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸とも異なる軸周りの回転方向であってもよい。
【０１１１】
なお、第２所定条件は、例えば、ハンドＨに対して移動実行方向に加えられたモーメントの大きさが第６閾値以上であることであってもよい。この場合、移動実行方向は、ユーザーによりロボット制御部３６７に予め入力された方向であり、ハンドＨを回転させる回転方向である。第６閾値は、ユーザーによりロボット制御部３６７に予め入力された閾値であり、如何なる閾値であってもよい。この場合の第２所定条件における移動実行方向と、前述の所定方向との具体例を、図１１〜図１３のそれぞれに示した。
【０１１２】
図１１は、第２所定条件における移動実行方向と所定方向との具体例４を示す図である。当該具体例４は、移動実行方向及び所定方向の両方が回転方向であり、移動実行方向及び所定方向が同じ方向である場合の例である。図１１には、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合の側面図が示されている。
【０１１３】
図１１には、移動実行方向が、矢印が示す方向Ａ７によって示されている。図１１に示した例では、移動実行方向は、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合において当該Ｘ軸周りにハンドＨを時計回りに回転させる回転方向である。すなわち、ロボット制御部３６７は、外力としてハンドＨを当該回転方向に回転させるモーメントがハンドＨに加えられ、当該モーメントの大きさが第６閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を所定方向に所定量だけ移動させる。なお、移動実行方向は、当該回転方向に代えて、ハンドＨを回転させる他の回転方向であってもよい。当該他の回転方向は、制御点座標系ＴＣ１のいずれかの座標軸周りの回転方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸とも異なる軸周りの回転方向であってもよい。
【０１１４】
また、図１１には、所定方向が、矢印が示す方向Ａ７によって示されている。図１１に示した例では、所定方向は、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合において当該Ｘ軸周りにハンドＨを時計回りに回転させる回転方向である。すなわち、ロボット制御部３６７は、外力としてハンドＨを当該回転方向に回転させるモーメントがハンドＨに加えられ、当該モーメントの大きさが第６閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を、当該回転方向に所定量だけ移動させる。この場合、所定量は、制御点Ｔ１を回転させる回転量（回転角度）である。なお、所定方向は、当該回転方向に代えて、制御点Ｔ１を回転させる他の回転方向であってもよい。当該他の回転方向は、制御点座標系ＴＣ１のいずれかの座標軸周りの回転方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸とも異なる軸周りの回転方向であってもよい。
【０１１５】
図１２は、第２所定条件における移動実行方向と所定方向との具体例５を示す図である。当該具体例５は、移動実行方向及び所定方向の両方が回転方向であり、移動実行方向及び所定方向が互いに異なる方向である場合の例である。図１２には、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合の側面図が示されている。
【０１１６】
図１２には、移動実行方向が、矢印が示す方向Ａ９によって示されている。図１２に示した例では、移動実行方向は、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合において当該Ｘ軸周りにハンドＨを時計回りに回転させる回転方向である。すなわち、ロボット制御部３６７は、外力としてハンドＨを当該回転方向に回転させるモーメントがハンドＨに加えられ、当該モーメントの大きさが第６閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を所定方向に所定量だけ移動させる。なお、移動実行方向は、当該回転方向に代えて、ハンドＨを回転させる他の回転方向であってもよい。当該他の回転方向は、制御点座標系ＴＣ１のいずれかの座標軸周りの回転方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸とも異なる軸周りの回転方向であってもよい。
【０１１７】
また、図１２には、所定方向が、矢印が示す方向Ａ１０によって示されている。図１２に示した例では、所定方向は、制御点座標系ＴＣ１のＹ軸の正方向から負方向に向かってハンドＨを見た場合において当該Ｙ軸周りにハンドＨを時計回りに回転させる回転方向である。すなわち、ロボット制御部３６７は、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合において当該Ｘ軸周りにハンドＨを時計回りに回転させる回転方向に回転させるモーメントが外力としてハンドＨに加えられ、当該モーメントの大きさが第６閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を、制御点座標系ＴＣ１のＹ軸の正方向から負方向に向かってハンドＨを見た場合において当該Ｙ軸周りにハンドＨを時計回りに回転させる回転方向に所定量だけ移動させる。この場合、所定量は、制御点Ｔ１を回転させる回転量（回転角度）である。なお、所定方向は、当該回転方向に代えて、制御点Ｔ１を回転させる他の回転方向であってもよい。当該他の回転方向は、制御点座標系ＴＣ１のいずれかの座標軸周りの回転方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸とも異なる軸周りの回転方向であってもよい。
【０１１８】
図１３は、第２所定条件における移動実行方向と所定方向との具体例６を示す図である。当該具体例６は、移動実行方向が回転方向であり、所定方向が並進方向である場合の例である。図１３には、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合の側面図が示されている。
【０１１９】
図１３には、移動実行方向が、矢印が示す方向Ａ１１によって示されている。図１３に示した例では、移動実行方向は、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合において当該Ｘ軸周りにハンドＨを時計回りに回転させる回転方向である。すなわち、ロボット制御部３６７は、外力としてハンドＨを当該回転方向に回転させるモーメントがハンドＨに加えられ、当該モーメントの大きさが第６閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を所定方向に所定量だけ移動させる。なお、移動実行方向は、当該回転方向に代えて、ハンドＨを回転させる他の回転方向であってもよい。当該他の回転方向は、制御点座標系ＴＣ１のいずれかの座標軸周りの回転方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸とも異なる軸周りの回転方向であってもよい。
【０１２０】
また、図１３には、所定方向が、矢印が示す方向Ａ１２によって示されている。図１３に示した例では、所定方向は、制御点座標系ＴＣ１のＺ軸の負方向である。すなわち、ロボット制御部３６７は、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合において当該Ｘ軸周りにハンドＨを時計回りに回転させる回転方向に回転させるモーメントが外力としてハンドＨに加えられ、当該モーメントの大きさが第６閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を制御点座標系ＴＣ１のＺ軸の負方向に所定量だけ移動させる。この場合、所定量は、制御点Ｔ１を並進させる移動量である。なお、所定方向は、制御点座標系ＴＣ１の座標軸のうちのＺ軸の負方向に代えて、制御点Ｔ１を並進させる他の並進方向であってもよい。当該他の並進方向は、制御点座標系ＴＣ１のいずれかの座標軸に沿った並進方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸にも沿わない並進方向であってもよい。
【０１２１】
なお、ロボット制御部３６７は、第２モードにおいて、例えば、ハンドＨに対して移動実行方向に加えられた力の大きさが第５閾値以上である場合に制御点Ｔ１を所定方向に所定量だけ移動させ、当該力が第５閾値よりも大きな閾値である第７閾値以上である場合に制御点Ｔ１を所定方向と異なる方向である第２所定方向に所定量と異なる量である第２所定量だけ移動させる構成であってもよい。すなわち、ロボット制御部３６７は、ハンドＨに対して加えられた力の段階的（離散的）な大きさの違いに応じて、当該違いに応じた方向に当該違いに応じた量だけ制御点Ｔ１を移動させる構成であってもよい。
【０１２２】
また、ロボット制御部３６７は、ハンドＨに加えられた外力が第２所定条件を満たす場合、所定の関節に備えられたアクチュエーターの回転角を所定方向に所定量だけ変化（移動）させる構成であってもよい。アクチュエーターの回転角を所定方向に所定量だけ変化させる場合、所定方向は、アクチュエーターの回転方向であり、所定量は、アクチュエーターの回転角である。
【０１２３】
また、ロボット制御部３６７は、力検出部２１がマニピュレーターＭの各関節に備えられたトルクセンサーである場合、当該各関節のいずれかに加えられた外力に基づいて、所定の関節に備えられたアクチュエーターの回転角又は制御点Ｔ１を所定方向に所定量だけ移動させる構成であってもよい。アクチュエーターの回転角を所定方向に所定量だけ移動させる場合、所定方向は、アクチュエーターの回転方向であり、所定量は、アクチュエーターの回転角である。
【０１２４】
また、ロボット制御部３６７は、ステップＳ４１０において、ハンドＨに加えられた外力が第２所定条件を満たす状態が所定時間以上続いた場合に、ハンドＨに加えられた外力が第２所定条件を満たしていると判定する構成であってもよく、ハンドＨに加えられた外力が第２所定条件を満たす状態が一度でも実現した場合に、ハンドＨに加えられた外力が第２所定条件を満たしていると判定する構成であってもよい。
【０１２５】
＜動作モードが第２モードの場合にロボット制御装置がロボットを動作させる処理の変形例＞
上記において説明した所定方向は、ハンドＨの部分に応じた方向であってもよい。当該部分は、外力が加えられた部分のことである。すなわち、ロボット制御部３６７は、ハンドＨに加えられた外力に基づいて、ハンドＨの部分のうちの当該外力が加わった部分に応じた方向にハンドＨを所定量だけ移動させる。これにより、ロボット制御部３６７は、ハンドＨを移動させる方向をユーザーに容易に変更させることができる。
【０１２６】
ここで、図１４及び図１５を参照し、所定方向がハンドＨの部分に応じた方向である場合の移動実行方向と所定方向との具体例について説明する。なお、以下において説明する具体例においては、一例として、第２所定条件が、ハンドＨに対して移動実行方向に加えられた力の大きさが第５閾値以上であることである場合について説明する。なお、上記において説明した具体例の場合と同様に、第２所定条件は、ハンドＨに対して移動実行方向に加えられたモーメントの大きさが第６閾値以上であることであってもよい。
【０１２７】
図１４は、所定方向がハンドＨの部分に応じた方向である場合の移動実行方向と所定方向との具体例１を示す図である。当該具体例１は、ハンドＨの部分のうちの制御点座標系ＴＣ１のＹ軸から制御点座標系ＴＣ１のＺ軸の正方向側の部分である上側部分に外力が加えられた場合の例である。図１４には、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合の側面図が示されている。
【０１２８】
図１４には、移動実行方向が、矢印が示す方向Ａ１３によって示されている。また、図１４には、矢印によってハンドＨに力Ｆ１が加えられた部分が示されている。図１４に示した例では、移動実行方向は、制御点座標系ＴＣ１のＹ軸の正方向である。また、当該例では、ハンドＨの部分の上側部分に外力が加えられている。すなわち、ロボット制御部３６７は、外力としてハンドＨを当該正方向に並進させる力Ｆ１がハンドＨに加えられ、当該力の大きさが第５閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を、ハンドＨの上側部分に応じた所定方向に所定量だけ移動させる。なお、移動実行方向は、制御点座標系ＴＣ１の座標軸のうちのＹ軸の正方向に代えて、ハンドＨを並進させる他の並進方向であってもよい。当該他の並進方向は、制御点座標系ＴＣ１のいずれかの座標軸に沿った並進方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸にも沿わない並進方向であってもよい。
【０１２９】
また、図１４には、所定方向が、矢印が示す方向Ａ１４によって示されている。図１４に示した例では、ハンドＨの上側部分に応じた所定方向は、制御点座標系ＴＣ１のＺ軸の正方向である。すなわち、ロボット制御部３６７は、外力としてハンドＨを制御点座標系ＴＣ１のＹ軸の正方向に並進させる力がハンドＨの上側部分に加えられ、当該力の大きさが第５閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を制御点座標系ＴＣ１のＺ軸の正方向に所定量だけ移動させる。この場合、所定量は、制御点Ｔ１を並進させる移動量である。なお、所定方向は、制御点座標系ＴＣ１の座標軸のうちのＺ軸の正方向に代えて、制御点Ｔ１を並進させる他の並進方向であってもよい。当該他の並進方向は、制御点座標系ＴＣ１のいずれかの座標軸に沿った並進方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸にも沿わない並進方向であってもよい。また、所定方向は、並進方向に代えて、回転方向であってもよい。
【０１３０】
図１５は、所定方向がハンドＨの部分に応じた方向である場合の移動実行方向と所定方向との具体例２を示す図である。当該具体例２は、ハンドＨの部分のうちの制御点座標系ＴＣ１のＹ軸から制御点座標系ＴＣ１のＺ軸の負方向側の部分である下側部分に外力が加えられた場合の例である。図１５には、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合の側面図が示されている。
【０１３１】
図１５には、移動実行方向が、矢印が示す方向Ａ１５によって示されている。また、図１５には、矢印によってハンドＨに力Ｆ２が加えられた部分が示されている。図１５に示した例では、移動実行方向は、制御点座標系ＴＣ１のＹ軸の正方向である。また、当該例では、ハンドＨの部分の下側部分に外力が加えられている。すなわち、ロボット制御部３６７は、外力としてハンドＨを当該正方向に並進させる力Ｆ２がハンドＨに加えられ、当該力の大きさが第５閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を、ハンドＨの下側部分に応じた所定方向に所定量だけ移動させる。なお、移動実行方向は、制御点座標系ＴＣ１の座標軸のうちのＹ軸の正方向に代えて、ハンドＨを並進させる他の並進方向であってもよい。当該他の並進方向は、制御点座標系ＴＣ１のいずれかの座標軸に沿った並進方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸にも沿わない並進方向であってもよい。
【０１３２】
また、図１５には、所定方向が、矢印が示す方向Ａ１６によって示されている。図１５に示した例では、ハンドＨの下側部分に応じた所定方向は、制御点座標系ＴＣ１のＺ軸の負方向である。すなわち、ロボット制御部３６７は、外力としてハンドＨを制御点座標系ＴＣ１のＹ軸の正方向に並進させる力がハンドＨの下側部分に加えられ、当該力の大きさが第５閾値以上であった場合、制御点Ｔ１（すなわち、ハンドＨ）を制御点座標系ＴＣ１のＺ軸の負方向に所定量だけ移動させる。この場合、所定量は、制御点Ｔ１を並進させる移動量である。なお、所定方向は、制御点座標系ＴＣ１の座標軸のうちのＺ軸の負方向に代えて、制御点Ｔ１を並進させる他の並進方向であってもよい。当該他の並進方向は、制御点座標系ＴＣ１のいずれかの座標軸に沿った並進方向であってもよく、制御点座標系ＴＣ１のいずれの座標軸にも沿わない並進方向であってもよい。また、所定方向は、並進方向に代えて、回転方向であってもよい。
【０１３３】
このように、ロボット制御部３６７は、ハンドＨに加えられた外力に基づいて、ハンドＨの部分のうちの当該外力が加わった部分に応じた方向にハンドＨを所定量だけ移動させる。これにより、ロボット制御部３６７は、ハンドＨを移動させる方向をユーザーに容易に変更させることができる。
【０１３４】
＜動作モードが第１モードの場合にロボット制御装置がロボットを動作させる処理＞
以下、図１６〜図１８を参照し、動作モードが第１モードの場合にロボット制御装置３０がロボット２０を動作させる処理について説明する。
【０１３５】
図１６は、動作モードが第１モードの場合にロボット制御装置３０がロボット２０を動作させる処理の流れの一例を示すフローチャートである。なお、図１６に示したフローチャートでは、制御点Ｔ１がすでに待機教示点と一致している場合について説明する。例えば、ロボット制御装置３０は、前述の第２モード又は第３モードにおいて、ユーザーによりハンドＨに加えられた外力に基づいて、制御点Ｔ１を待機教示点と一致させることができる。また、ロボット制御装置３０の動作モードがすでに第１モードに切り替えられている場合について説明する。
【０１３６】
ロボット制御部３６７は、動作開始指示を受け付けるまで待機する（ステップＳ５０５）。ここで、ロボット制御部３６７は、図示しない表示制御部が表示部３５に表示させた画面においてユーザーから動作開始指示を受け付ける構成であってもよく、ユーザーから受け付けられた操作に基づいて教示装置５０から出力された動作開始指示を受け付ける構成であってもよく、ロボット制御装置３０及び教示装置５０と別体のスイッチ等から出力された動作開始指示を受け付ける構成であってもよい。また、ロボット制御部３６７は、ハンドＨに加えられた外力であって所定の動作開始条件を満たした外力を動作開始指示として受け付ける構成であってもよい。
【０１３７】
ステップＳ５０５において、動作開始指示を受け付けたと判定した場合（ステップＳ５０５−ＹＥＳ）、ロボット制御部３６７は、力検出情報取得部３６１が力検出部２１から取得した力検出情報に基づいて、ハンドＨに加えられた外力が第１所定条件を満たす状態を実現する位置及び姿勢まで制御点Ｔ１の位置及び姿勢を変化させ始める（ステップＳ５１０）。具体的には、ロボット制御部３６７は、当該状態を実現する位置及び姿勢を、ロボット制御部３６７に予め入力された力制御パラメーターと、動力学運動方程式と、当該力検出情報とに基づいて算出する。そして、ロボット制御部３６７は、制御点Ｔ１の位置及び姿勢を、算出した位置及び姿勢へと変化させ始める。
【０１３８】
第１所定条件は、この一例において、以下に示す１）〜３）の３つの条件を満たすことである。なお、第１所定条件は、当該３つの条件の一部又は全部を満たす構成に代えて、他の条件を満たす構成であってもよく、当該３つの条件を満たす構成に加えて、他の条件を満たす構成であってもよい。
【０１３９】
１）ハンドＨに加えられた力のうちの制御点座標系ＴＣ１のＺ軸の正方向に加えられた力の大きさが所定値以上であること
２）ハンドＨに加えられた力のうちの制御点座標系ＴＣ１のＸ軸方向及びＹ軸方向に加えられた力の大きさが０［Ｎ］であること
３）ハンドＨに加えられたモーメントのうちの制御点座標系ＴＣ１の各座標軸それぞれの周りのモーメントの大きさが０［Ｎ・ｍ］であること
【０１４０】
なお、上記の１）の条件は、ハンドＨに加えられた力のうちの制御点座標系ＴＣ１のＺ軸の負方向に加えられた力の大きさが所定値以上であることであってもよく、ハンドＨに加えられた力のうちの制御点座標系ＴＣ１のＸ軸の正方向又は負方向に加えられた力の大きさが所定値以上であることであってもよく、ハンドＨに加えられた力のうちの制御点座標系ＴＣ１のＹ軸の正方向又は負方向に加えられた力の大きさが所定値以上であることであってもよい。また、この一例において、制御点座標系ＴＣ１のＺ軸の正方向は、並進方向であり、第１方向の一例である。また、制御点座標系ＴＣ１の各座標軸それぞれの周りの回転方向は、第２方向の一例である。
【０１４１】
第１所定条件が上記の１）〜３）の３つの条件のそれぞれを満たすことである場合、ロボット制御部３６７は、制御点Ｔ１の姿勢を保持したまま、制御点Ｔ１の位置を制御点座標系ＴＣ１のＺ軸の正方向へ移動させる。ここで、図１７を参照し、ステップＳ５１０の処理について説明する。図１７は、ステップＳ５１０において制御点Ｔ１の位置及び姿勢が変化し始める直前のタイミングにおけるハンドＨと作業台ＴＢとの位置関係の一例を示す図である。図１７には、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合の側面図が示されている。図１７に示したように、当該タイミングにおいて、制御点Ｔ１は、待機教示点Ｐ１と一致している。また、図１７では、側面図では配置領域ＲＡの範囲が判別しづらいため、配置領域ＲＡを太線によって示してある。
【０１４２】
図１７に示した例では、ハンドＨには、当該タイミングにおいて外力が加えられていない。すなわち、ロボット制御部３６７は、当該タイミングにおいてハンドＨに加えられたモーメントがすでに上記の３）の条件を満たしているため、ステップＳ５１０において制御点Ｔ１の姿勢を保持する。また、ロボット制御部３６７は、当該タイミングにおいてハンドＨに加えられた力のうちの制御点座標系ＴＣ１のＸ軸方向及びＹ軸方向に加えられた力がすでに上記の２）の条件を満たしているため、ステップＳ５１０において制御点Ｔ１の当該Ｘ軸方向及びＹ軸方向の位置を保持する。そして、ロボット制御部３６７は、当該タイミングにおいてハンドＨに加えられた力のうちの制御点座標系ＴＣ１のＺ軸の正方向に加えられた力が上記の１）の条件を満たしていないため、ステップＳ５１０においてハンドＨに当該正方向への力が加わるようにハンドＨを当該正方向と反対の方向へ移動させ始める。図１７では、当該正方向を矢印が示す方向Ａ１７によって示されている。
【０１４３】
ステップＳ５１０において制御点Ｔ１の位置及び姿勢を変化させ始めた後、ロボット制御部３６７は、力検出情報取得部３６１が力検出部２１から取得した力検出情報に基づいて、上記の第１所定条件が満たされるまでステップＳ５１０において開始した制御点Ｔ１の移動を継続する（ステップＳ５２０）。第１所定条件が満たされたと判定した場合（ステップＳ５２０−ＹＥＳ）、ロボット制御部３６７は、ユーザーが所望する位置及び姿勢に制御点Ｔ１の位置及び姿勢が一致したと判定し、制御点Ｔ１の位置及び姿勢の変化を停止させる（ステップＳ５３０）。
【０１４４】
ここで、図１８を参照し、ステップＳ５３０の処理について説明する。図１８は、ステップＳ５３０において制御点Ｔ１の位置及び姿勢の変化が停止される直前のタイミングにおけるハンドＨと作業台ＴＢとの位置関係の一例を示す図である。図１８には、制御点座標系ＴＣ１のＸ軸の負方向から正方向に向かってハンドＨを見た場合の側面図が示されている。また、図１８では、側面図では配置領域ＲＡの範囲が判別しづらいため、配置領域ＲＡを太線によって示してある。図１８に示した例では、ハンドＨには、当該タイミングにおいて作業台ＴＢからの垂直効力が外力として加えられている。ステップＳ５１０において開始した制御点Ｔ１の位置及び姿勢の変化によって当該垂直効力が所定値以上となった場合、ロボット制御部３６７は、当該タイミングにおいてハンドＨに加えられた外力が第１所定条件を満たしているため、制御点Ｔ１の位置及び姿勢の変化を停止させる。
【０１４５】
このように、ロボット制御装置３０は、第１モードによってロボット２０を動作させる際、ハンドＨに加えられた外力が第１所定条件を満たす状態を実現する位置及び姿勢まで制御点Ｔ１の位置及び姿勢を変化させる。これにより、ロボット制御部３６７は、第１モードにおいて、ユーザーによりハンドＨに外力が加えられることなく、ロボット２０の位置及び姿勢を、作業台ＴＢに対応付けられた所望の位置及び姿勢へと高い精度で変化させることができる。その結果、ロボット制御装置３０は、例えば、ユーザーが所望する条件が第１所定条件としてロボット制御部３６７に入力された場合、ハンドＨの位置及び姿勢の調整を精度よく行うことができる。
【０１４６】
第１モードにおいてロボット２０を動作させ、ユーザーによりハンドＨの位置及び姿勢の調整が行われた後、ロボット制御装置３０は、図６に示したフローチャートの処理によって教示装置５０に現在の制御点Ｔ１の位置及び姿勢を示す情報を出力する。教示装置５０は、ロボット制御装置３０から取得した当該情報に基づいて教示点情報を生成する。そして、教示装置５０は、生成した当該教示点情報をロボット制御装置３０に出力する。ロボット制御装置３０は、教示装置５０から取得した当該教示点情報を記憶する。例えば、ロボット制御装置３０は、教示装置５０から取得した最終目標教示点を示す教示点情報を記憶する。これにより、ロボット制御装置３０は、第１モードにおいて、第１所定条件を満たされた場合に記憶された制御点Ｔ１の位置及び姿勢に基づいてロボット２０を動作させることができる。
【０１４７】
＜第１モード及び第２モードによる微調整＞
上記において説明したように、第１モード及び第２モードにおいてロボット２０を動作させた場合、ロボット制御装置３０は、ハンドＨの位置及び姿勢の調整を精度よく行うことができる。すなわち、ロボット制御装置３０は、ハンドＨの位置及び姿勢の微調整を行うことができる。
【０１４８】
このような微調整は、例えば、直接教示において行われる。直接教示では、ロボット制御装置３０が第３モードによってロボット２０を動作させる。このため、ユーザーは、ハンドＨに外力を加えることによって、ハンドＨの位置及び姿勢を変更する。しかし、ユーザーが所望する外力を、ユーザーが精度よくハンドＨに加えることは困難である。従って、ユーザーは、第３モードによってロボット制御装置３０にロボット２０を動作させることによってハンドＨの位置及び姿勢を、ユーザーが所望する位置及び姿勢に近づけた後、第１モードと第２モードとのうちいずれか一方又は両方によってロボット制御装置３０にロボット２０を動作させる。すなわち、ロボット制御装置３０は、ハンドＨの位置及び姿勢を記憶する直接教示において、ハンドＨに加わる外力が第１所定条件を満たすまでロボット２０を動かす第１モードと、ハンドＨに加えられた外力に基づきロボット２０を動かす第２モードとのうちいずれか一方又は両方によって教示する。これにより、ロボット制御装置３０は、ハンドＨの位置及び姿勢をユーザーが所望する位置及び姿勢に精度よく一致させることができる。
【０１４９】
なお、このような微調整は、直接教示に代えて、ユーザーがジョグキーを操作することによってロボット制御装置３０にロボット２０を動作させ、ロボット制御装置３０にハンドＨの位置及び姿勢を記憶させるオンライン教示（オンラインティーチング）や、これから開発される方法に基づく教示において行われてもよい。
【０１５０】
以上のように、制御装置２５は、ロボット（この一例において、ロボット２０）の位置及び姿勢を記憶する際、ハンド（この一例において、ハンドＨ）に加わる外力が所定条件（この一例において、第１所定条件）を満たすまでロボットを動かす第１モードと、ロボットが備える第１部位（この一例において、ハンドＨ）に加えられた外力に基づきロボットを動かす第２モードとを切り替える。これにより、制御装置２５は、第１モードと第２モードとのいずれかによって、ロボットの位置及び姿勢を高い精度で所望の位置及び姿勢へと変化させることができる。
【０１５１】
また、制御装置２５は、第１モードにおいて、所定条件が満たされるまで、力検出部（この一例において、力検出部２１）の出力に基づく制御によってハンドを対象物（この一例において、作業台ＴＢ）に近づける。これにより、制御装置２５は、第１モードにおいて、ユーザーによりハンドに外力を加えさせることなく、ロボットの位置及び姿勢を、対象物に対応付けられた所望の位置及び姿勢へと高い精度で変化させることができる。
【０１５２】
また、制御装置２５は、第１モードにおいて、ハンドに加わる外力のうちの少なくとも第１方向に向かう外力が０より大きくなり、且つ、ハンドに加わる外力のうちの少なくとも第１方向（この一例において、制御点座標系ＴＣ１のＺ軸の正方向）と異なる第２方向（この一例において、制御点座標系ＴＣ１の各座標軸それぞれの周りの回転方向）に向かう外力が０となるまでロボットを動かす。これにより、制御装置２５は、第１モードにおいて、ロボットの姿勢を保持したまま、第１方向と反対の方向に向かってロボットの位置を移動させることができる。
【０１５３】
また、制御装置２５は、第１モードにおいて、ハンドに加わる力のうちの少なくとも並進方向である第１方向に向かう力が０より大きくなり、且つ、回転方向である第２方向に向かうモーメントが０となるまでロボットを動かす。これにより、制御装置２５は、第１モードにおいて、ロボットの姿勢を保持したまま、並進方向である第１方向と反対の方向に向かってロボットの位置を移動させることができる。
【０１５４】
また、制御装置２５は、第１モードにおいて、所定条件が満たされた場合、現在のロボットの位置及び姿勢（この一例において、制御点Ｔ１の位置及び姿勢）を記憶する。これにより、制御装置２５は、第１モードにおいて、所定条件を満たされた場合に記憶されたロボットの位置及び姿勢に基づいてロボットを動作させることができる。
【０１５５】
また、制御装置２５は、第２モードにおいて、ロボットが備える第１部位（この一例において、ハンドＨ）に加えられた外力に基づいて、ロボットが備える第２部位（この一例において、ハンドＨ）を所定方向に所定量だけ移動させる。これにより、制御装置２５は、第２モードにおいて、ユーザーにより第１部位に加えられる外力基づいて、ロボットの位置及び姿勢を高い精度で所望の位置及び姿勢へと変化させることができる。
【０１５６】
また、制御装置２５は、第２部位を所定方向に所定量だけ移動させた後、現在のロボットの位置及び姿勢を記憶する。これにより、制御装置２５は、第２モードにおいて、第２部位を所定方向に所定量だけ移動させた後に記憶されたロボットの位置及び姿勢に基づいてロボットを制御することができる。
【０１５７】
また、制御装置２５は、第２部位を並進方向と回転方向のうちいずれか一方又は両方に所定量だけ移動させた後、現在のハンドの位置及び姿勢を記憶する。これにより、制御装置２５は、第２モードにおいて、第２部位を並進方向と回転方向のうちいずれか一方又は両方に所定量だけ移動させた後に記憶された位置及び姿勢に基づいてロボットを制御することができる。
【０１５８】
また、制御装置２５は、ロボットが備える第１部位に加えられた外力に応じて、第１部位の部分のうちの当該外力が加わった部分（この一例において、上側部分又は下側部分）に応じた方向に第２部位を所定量だけ移動させる。これにより、制御装置２５は、第２部位を移動させる方向をユーザーに容易に変更させることができる。
【０１５９】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１６０】
また、以上に説明した装置（例えば、制御装置２５、ロボット制御装置３０、教示装置５０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１６１】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１６２】
１…ロボットシステム、２０…ロボット、２１…力検出部、３０…ロボット制御装置、３１、５１…ＣＰＵ、３２、５２…記憶部、３３、５３…入力受付部、３４、５４…通信部、３５、５５…表示部、３６、５６…制御部、３６１…力検出情報取得部、３６３…記憶制御部、３６４…情報読出部、３６５…動作モード切替部、３６６…情報出力部、３６７…ロボット制御部、５６１…表示制御部、５６３…指示情報生成部、５６５…指示情報出力部
【図１】
2020157475.tif 000003
【図２】
2020157475.tif 000004
【図３】
2020157475.tif 000005
【図４】
2020157475.tif 000006
【図５】
2020157475.tif 000007
【図６】
2020157475.tif 000008
【図７】
2020157475.tif 000009
【図８】
2020157475.tif 000010
【図９】
2020157475.tif 000011
【図１０】
2020157475.tif 000012
【図１１】
2020157475.tif 000013
【図１２】
2020157475.tif 000014
【図１３】
2020157475.tif 000015
【図１４】
2020157475.tif 000016
【図１５】
2020157475.tif 000017
【図１６】
2020157475.tif 000018
【図１７】
2020157475.tif 000019
【図１８】
2020157475.tif 000020
【手続補正書】
【提出日】令和2年7月29日(2020.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ロボットに設けられた力検出部によって検出された外力に基づき、予め入力された方向に、予め入力された所定量だけ、前記ロボットに設けられたハンドを動かすモードを有する、
制御装置。
【請求項２】
前記ハンドを予め入力された前記方向に、予め入力された前記所定量だけ移動させた後の前記ハンドの位置及び姿勢を記憶する、
請求項１に記載の制御装置。
【請求項３】
マニュピレーターと、前記マニュピレーターに設けられるハンドと、前記マニュピレーターに設けられる力検出部とを有するロボットと、
前記ロボットを制御する制御部を有する制御装置と、を備え、
前記制御部は、前記前記力検出部によって検出された外力に基づき、予め入力された方向に、予め入力された所定量だけ、前記ロボットの前記ハンドを動かすよう制御する、ロボットシステム。
【請求項４】
前記ロボットシステムは、記憶部を有し、
前記制御部は、前記ハンドを予め入力された前記方向に、予め入力された前記所定量だけ、移動させた後の前記ハンドの位置及び姿勢を前記記憶部に記憶する、請求項３に記載のロボットシステム。
【請求項５】
マニュピレーターと、前記マニュピレーターに設けられるハンドと、前記マニュピレーターに設けられる力検出部とを備えるロボットのロボット制御方法であって、
前記ハンドに加えられた外力を前記力センサが検出する工程と、
前記力検出部によって検出された前記外力に基づいて、予め入力された所定方向に、予め入力された所定量だけ、前記ハンドを動かす工程と、を有するロボット制御方法。
【請求項６】
前記ハンドを動かした後の前記ハンドの位置及び姿勢を記憶する工程を有する、請求項５に記載のロボット制御方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
この発明は、制御装置、ロボットシステム及びロボット制御方法に関する。