は:ロボットの制御を実行する制御部と;可動部ではない対象に対して固定されており可動部とともに移動または回転しない対象座標系をユーザーから受け付ける受付部と、を備える。制御部は:力検出部により力が検出されている間、検出された力に応じて可動部を移動および回転させる第1制御モードと;第1制御モードによる制御において、可動部とともに移動および回転する移動座標系のあらかじめ定められた第1軸と、対象座標系のあらかじめ定められた第2軸と、の相対角度が角度閾値未満になった場合に、あらかじめ定められた条件の下で実行される第2制御モードであって、力検出部により検出される力によらず、相対角度の大きさが0に近づくように可動部を回転させる第2制御モードと、を有する。前記制御装置によって制御される前記ロボットと、を備えるロボットシステム。特許文献1のロボットにおいては、ユーザーがロボットの手先に外力を加えてロボットの手先を移動および回転させ、ロボットに教示を行う。【0004】しかし、ロボットの教示において、ロボットの手先の向きを正確に所望の向きに一致させることは容易ではない。本発明の一形態によれば、可動部と、前記可動部に加えられた力を検出する力検出部と、を備えるロボットを制御する制御装置が提供される。この制御装置は:前記ロボットの制御を実行する制御部と;対象に対して固定されている対象座標系をユーザーから受け付ける受付部と、を備える。前記制御部は:前記力検出部により力が検出されている間、前記力検出部により検出された力に応じて前記可動部を移動および回転させる第1制御モードと;前記第1制御モードによる制御において、前記可動部に対して固定されて移動座標系のあらかじめ定められた第1軸と、前記対象座標系のあらかじめ定められた第2軸と、の相対角度が角度閾値未満になった場合に、あらかじめ定められた条件の下で前記相対角度の大きさが0に近づくように前記可動部を回転させる第2制御モードと、を有する。【図1】本実施形態に係るロボットシステム1のハードウェア構成を示す図である。【図2】ロボット制御装置25のブロック図である。【図3】教示装置50を介してロボットシステム1に制御点の位置を教示する際の動作モードを示すフローチャートである。【図4】第1制御モードM01における処理内容を示すフローチャートである。【図5】装置座標系MCと、ワーク座標系WCと、ロボット座標系RCと、移動座標系HCを示す図である。【図6】装置座標系MCと、ワーク座標系WCと、ロボット座標系RCと、移動座標系HCを示す図である。【図7】図4のステップS140において、移動座標系HCのzh軸と、ワーク座標系WCのzw軸との相対角度θhoが角度閾値Ath未満であるか否かを判定する際の処理の内容を示す概念図である。【図8】第4実施形態において、ステップS140の判定結果がYesである場合に、ステップS150に代わって行われる処理を示すフローチャートである。【図9】複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。【図10】複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。【0007】A.第1実施形態:(1)ロボットシステムの構成:図1は、本実施形態に係るロボットシステム1のハードウェア構成を示す図である。ロボットシステム1は、処理装置PMと協働して、ワークWKに対して所定の処理を行う。ロボットシステム1は、ロボット20と、ロボット制御装置25を備える。ロボット制御装置25は、ロボット20を制御する。ロボット制御装置25は、動作制御装置30と、教示装置50とによって構成される。【0008】ロボット20は、アームAmと、アームAmを支持する支持台Bsを備える単腕ロボットである。アームAmは、6軸の垂直多関節型のアームである。アームAmは、6個のアーム部材であるリンクL1〜リンクL6と、6つの関節である関節J1〜J6を備える。関節J2、関節J3、関節J5は、曲げ関節であり、関節J1、関節J4、関節J6は、ねじり関節である。支持台BsとリンクL1は、関節J1を介して接続されている。リンクL1とリンクL2は、関節J2を介して接続されている。リンクL2とリンクL3は、関節J3を介して接続されている。リンクL3とリンクL4は、関節J4を介して接続されている。リンクL4とリンクL5は、関節J5を介して接続されている。リンクL5と、リンクL6、力検出部21およびエンドエフェクターEEとは、関節J6を介して接続されている。力検出部21は、リンクL6に取りつけられている。【0010】アームAmの先端には、力検出部21を介してエンドエフェクターEEが取り付けられている。エンドエフェクターEEは、ロボット20に処理される対象物としてのワークWKを把持するための装置である。Point)によって規定される。本実施形態において、TCPは、関節J6の回転軸上にある。動作制御装置30は、アームAmを駆動することによって、ロボット座標系RCにおいて制御点としてのTCPの位置を制御する。力検出部21は、外部から加えられる力の大きさを検出することができる6軸の力センサーである。力検出部21は、互いに直交する3個の検出軸上の力の大きさと、それら3個の検出軸周りのトルクの大きさとを検出する。本実施形態においては、支持台Bsの位置を基準として、ロボット20が設置された空間を規定する座標系を、ロボット座標系RCと表す。ロボット座標系RCは、水平面上において互いに直交するX軸およびY軸と、鉛直上向きを正方向とするZ軸とによって規定される三次元直交座標系である。本明細書において、単に「X軸」と称した場合、ロボット座標系RCにおけるX軸のことを表す。「Y軸」と称した場合、ロボット座標系RCにおけるY軸のことを表す。「Z軸」と称した場合、ロボット座標系RCにおけるZ軸のことを表す。ロボット座標系RCにおける任意の位置は、X軸方向の位置DXと、Y軸方向の位置DYと、Z軸方向の位置DZとにより特定できる。本実施形態においては、X軸周りの回転の角度位置RXによって表す。Y軸周りの回転の角度位置RYによって表す。Z軸周りの回転の角度位置RZによって表す。ロボット座標系RCにおける任意の姿勢は、X軸周りの角度位置RX、Y軸周りの角度位置RY、Z軸周りの角度位置RZにより表現できる。本明細書において、「位置」と表記した場合、狭義の位置に加えて姿勢をも意味する。「力」と表記した場合、3次元空間において向きと大きさによって規定される狭義の力に加えて、角度位置RX、角度位置RY、角度位置RZそれぞれの回転方向に作用するトルクも意味し得る。【0015】アームAmと、力検出部21と、エンドエフェクターEEとは、ケーブルによって、ロボット制御装置25の動作制御装置30と、通信可能に接続されている。図2は、ロボット制御装置25のブロック図である。ロボット制御装置25は、動作制御装置30と、教示装置50とによって構成される。動作制御装置30は、ユーザーによる教示作業によって設定された目標位置において、目標力が実現されるように、ロボット20のアームAmを制御する。Memory)30cを備える。動作制御装置30には、ロボット20の制御を行うための制御プログラムがインストールされている。動作制御装置30においては、これらのハードウェア資源と制御プログラムとが協働する。教示装置50は、動作制御装置30に目標位置Stと目標力fstとを教示する。教示装置50は、CPU50a、RAM50b、ROM50c等を備える。教示装置50には、動作制御装置30に目標位置Stと目標力fstとを教示するための教示プログラムがインストールされている。教示装置50においては、これらのハードウェア資源と教示プログラムとが協働する。図1に示すように、教示装置50は、さらに、入力装置57と、出力装置58を備える。入力装置57は、例えば、マウス、キーボード、タッチパネル等であり、ユーザーからの指示を受け付ける。出力装置58は、例えば、ディスプレイやスピーカー等であり、ユーザーに各種の情報を出力する。【0019】(2)ロボットシステムの動作モード:図3は、教示装置50を介してロボットシステム1に制御点の位置を教示する際の動作モードを示すフローチャートである。制御点は、本実施形態においてTCPである。教示装置50は、まず、第1制御モードM01でロボット20を動作させて、ロボットシステム1に制御点の位置を教示する。第1制御モードM01は、力検出部21より力が検出されている間、検出された力に応じてエンドエフェクターEEを移動および回転させる制御モードである。第1制御モードM01において、いわゆる「ダイレクトティーチ」が行われる。第1制御モードM01において、ユーザーは、エンドエフェクターEEを手で動かして、エンドエフェクターEEを、3次元空間内の所望の位置に、所望の角度で配する。第1制御モードM01においては、ユーザーは、厳密に所望の位置かつ所望の角度で、エンドエフェクターEEを配することができるわけではない。第1制御モードM01でロボット20を動作させている間に、一定の条件が満たされた場合に、教示装置50は、第2制御モードM02でロボット20を動作させる。第2制御モードM02は、いわゆる「自動アライン」が行われる制御モードである。第2制御モードM02によれば、ユーザーは、第1制御モードM01に比べて、より所望の角度に近い角度で、エンドエフェクターEEを配することができる。第2制御モードM02における制御内容については、後に説明する。第2制御モードM02によって、エンドエフェクターEEの角度が調整された後も、ユーザーは、エンドエフェクターEEの位置を手で動かして調整することができる。第1制御モードM01および第2制御モードM02で、おおよそユーザーの所望の位置に所望の角度で、エンドエフェクターEEが配された後、教示装置50は、第3制御モードM03でロボット20を動作させる。第3制御モードM03は、力検出部21により力が検出された場合に、力が検出されている時間によらず、検出された力の向きに応じて、あらかじめ定められた向きにあらかじめ定められた量だけ、エンドエフェクターEEを移動または回転させる制御モードである。第3制御モードM03において、いわゆる「タッチジョグ」が行われる。第3制御モードM03においては、検出された力がエンドエフェクターEEをある方向に移動させる力である場合には、X軸+方向、X軸−方向、Y軸+方向、Y軸−方向、Z軸+方向、Z軸−方向のうち、検出された力の向きに最も近い方向が決定される。決定された方向にあらかじめ定められた量だけ、エンドエフェクターEEが移動される。移動量はたとえば、0.1mmとすることができる。第3制御モードM03においては、検出された力がエンドエフェクターEEをある方向に回転させる回転力である場合には、X軸を中心とする正転方向、X軸を中心とする逆転方向、Y軸を中心とする正転方向、Y軸を中心とする逆転方向、Z軸を中心とする正転方向、Z軸を中心とする逆転方向のうち、検出された回転力の回転の向きに最も近い回転方向が決定される。決定された回転方向にあらかじめ定められた回転角度だけ、エンドエフェクターEEが回転される。回転角度はたとえば、0.5度とすることができる。第3制御モードにおいて、ユーザーは、第1制御モードM01に比べて、より所望の角度に近い位置および角度で、エンドエフェクターEEを配することができる。第3制御モードM03による制御においては、第2制御モードM02への移行は行われない。図4は、第1制御モードM01における処理内容を示すフローチャートである。ステップS110において、第1制御モードM01の実行に先立って、まず、入力装置57やロボット20を介して、教示装置50に座標系が入力される。図5および図6は、装置座標系MCと、ワーク座標系WCと、ロボット座標系RCと、移動座標系HCを示す図である。装置座標系MCは、処理装置PMに対して固定されている座標系である。ワーク座標系WCは、ワークWKに対して固定されている座標系である。ロボット座標系RCは、ロボット20の支持台Bsに対して固定されている座標系である。移動座標系HCは、エンドエフェクターEEに対して固定されており、エンドエフェクターEEとともに移動および回転する座標系である。【0028】ロボット座標系RCを規定する互いに直交する3軸は、X軸、Y軸、およびZ軸である。装置座標系MCを規定する互いに直交する3軸を、xm軸、ym軸、およびzm軸で表す。ワーク座標系WCを規定する互いに直交する3軸を、xw軸、yw軸、およびzw軸で表す。移動座標系HCを規定する互いに直交する3軸を、xh軸、yh軸、およびzh軸で表す。装置座標系MCの原点をomで表す。ワーク座標系WCの原点をowで表す。移動座標系HCの原点をohで表す。本実施形態において、移動座標系HCの原点ohは、TCPと等しい。本実施形態においては、図4のステップS110において、処理装置PMに対して固定されている装置座標系MCと、ワークWKに対して固定されているワーク座標系WCと、が教示装置50に入力される。装置座標系MCとワーク座標系WCとを総称して「対象座標系」と呼ぶことがある。座標系は、教示装置50内にあらかじめ用意されている座標系のデータを、そのまま、または入力装置57を介してユーザーが改変することにより、設定されることができる。処理装置PMに対して固定されている装置座標系MCの情報は、ロボットシステム1が装置座標系MCとともに工場に設置された際に、あらかじめ装置座標系情報Imとして、RAM50b内に格納しておくことができる。装置座標系情報Imを図2に示す。同様に、ワークWKに対して固定されているワーク座標系WCの情報は、教示装置50において、ロボットシステム1が実行すべき作業が指定された際に、あらかじめワーク座標系情報Iwとして、RAM50b内に格納しておくことができる。ワーク座標系情報Iwを図2に示す。座標系は、ロボット20のアームAmを介して、設定することができる。図1に示すワークWKが有する平面上の3点に、エンドエフェクターEEの先端を順に配し、それら3点の3次元空間内の位置を教示装置50に教示する。教示装置50のCPU50aは、3点で規定される平面に垂直で互いに逆向きの2方向を決定する。ユーザーは、入力装置57を介して、それら2方向のうち、一方の向きをzw軸+方向に指定する。その後、ユーザーは、たとえば、xw軸の向きを入力装置57を介して入力し、さらに、左手系または右手系を入力装置57を介して指定する。本実施形態においては、装置座標系MCと、ワーク座標系WCと、ロボット座標系RCと、移動座標系HCとは、いずれも右手系である。その後、ユーザーは、入力装置57を介して、原点owの位置を決定する。以上の処理により、ワーク座標系WCを教示装置50に入力することができる。装置座標系MCも、同様の方法により教示装置50に入力することができる。ステップS110の機能を実現する教示装置50のCPU50aの機能部を、受付部53として図2に示す。図4のステップS120において、ユーザーは、エンドエフェクターEEを手で動かして、エンドエフェクターEEを、3次元空間内の所望の位置に、所望の角度で配する。ステップS120の機能を実現する教示装置50のCPU50aの機能部を、動作制御部54として図2に示す。【0035】ステップS130において、教示装置50は、あらかじめ定められた条件が満たされているか否かを判定する。本実施形態において、あらかじめ定められた条件は、(i)移動座標系HCの原点oh、すなわちTCPが、装置座標系MCの原点omから距離閾値Lthm内の位置にあること、または(ii)移動座標系HCの原点oh、すなわちTCPがワーク座標系WCの原点owから距離閾値Lthw内の位置にあること、である。図5および図6において、原点omから距離閾値Lthm内の範囲をArmで示す。原点owから距離閾値Lthw内の範囲をArwで示す。距離閾値Lthm,Lthwは、ユーザーにより、入力装置57を介して、互いに独立に設定されることができる。このような態様とすることにより、距離閾値が固定値である態様とは異なり、ユーザーは、第2制御モードM02が実行される条件を、望むように設定することができる。本実施形態において、距離閾値Lthm,Lthwは、0〜50mmの値とすることが好ましい。図4のステップS130において、あらかじめ定められた条件が満たされている場合は、処理はステップS140に進む。定められた条件が満たされていない場合は、処理はステップS120に戻る。【0038】ステップS130が設けられていることにより、第1制御モードM01による制御において、移動座標系HCの原点ohとワーク座標系WCの原点owとの距離が、距離閾値Lthmより大きい場合には、第2制御モードM02による制御は実行されない。第1制御モードM01による制御において、移動座標系HCの原点ohとワーク座標系WCの原点owとの距離が、距離閾値Lthmより大きい場合には、第2制御モードM02による制御は実行されない。【0039】その結果、エンドエフェクターEEがワークWKや処理装置PMから遠い位置にあり、ワークWKや処理装置PMに対するエンドエフェクターEEの姿勢を正確に指定する必要がある状況である可能性が低い場合には、第2制御モードM02によらない制御を、ロボット20に実行させることができる。エンドエフェクターEEがワークWKや処理装置PMに近い位置にあり、ワークWKや処理装置PMに対するエンドエフェクターEEの姿勢を正確に指定する必要がある状況である可能性が高い場合には、第2制御モードM02による制御を、ステップS140を経て、ロボット20に実行させることができる。【0040】ステップS140において、教示装置50は、装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸との相対角度θhoが角度閾値Ath未満であるか否かを判定する。装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸とがなす角θが90度以上である場合は、ステップS140の処理において、(180−θ)の角度が、装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸との相対角度θhoとされる。zm軸またはzw軸と、zh軸とがなす角θが90度未満である場合は、ステップS140の処理において、θを、zm軸またはzw軸と、zh軸との相対角度θhoとする。角度閾値Athは、入力装置57を介して、あらかじめユーザーにより設定されることができる。このような態様とすることにより、角度閾値が固定値である態様とは異なり、ユーザーは、第2制御モードM02が実行される条件を、望むように設定することができる。本実施形態において、角度閾値Athは45度である。角度閾値Athが45度よりも大きい値に設定される態様においては、相対角度θhoが角度閾値Ath未満であっても、移動座標系HCのzh軸の向きが、たとえば、ワーク座標系WCのzw軸よりも、xw軸や、yw軸に近い場合があり得る。移動座標系HCのzh軸の向きが、そのような向きである場合には、ユーザーは、移動座標系HCのzh軸の向きを、ワーク座標系WCのzw軸に平行にすることを望んでいない可能性がある。本実施形態においては、角度閾値Athは45度である。このため、角度閾値が45度を超える場合に比べて、ユーザーが意図しない場合に第2制御モードM02が実行される可能性を低減することができる。【0043】ステップS140において、相対角度θhoが角度閾値Ath未満でない場合は、処理はステップS120に戻る。このような処理を行うことにより、ユーザーがエンドエフェクターEEの向きをワークWKの向きに対して合わせようとしていない、と推定できる場合には、ステップS150の処理が行われないようにすることができる。【0044】ステップS140において、相対角度θhoが角度閾値Ath未満である場合は、処理はステップS150に進む。【0045】ステップS150において、教示装置50は、力検出部21により検出される力によらず、移動座標系HCのzh軸との相対角度θhoが角度閾値Ath未満である、装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸とが、平行になるように、エンドエフェクターEEの姿勢を制御する。【0046】ロボットの教示において、ロボットの手先の向きを正確に所望の向きに一致させることは容易ではない。ロボットの教示に熟練していない者にとって、ロボットの手先と共に移動する座標系の向きを、対象物の向きに応じて設定することは容易ではない。ステップS150の処理を行うことにより、ユーザーは、エンドエフェクターEEの向きを望んだ向きと容易に一致させることができる。ワーク座標系WCのzw軸を、エンドエフェクターEEがワークWKを保持する際の向きに指定することにより、エンドエフェクターEEがワークWKを保持する作業の教示において、ユーザーは、容易に、エンドエフェクターEEの向きを望んだ向きと一致させることができる。装置座標系MCのzm軸を、エンドエフェクターEEで保持したワークWKを処理装置PM内に搬入する際の向きに指定することにより、エンドエフェクターEEがワークWKを処理装置PM内に搬入する作業の教示において、ユーザーは、容易に、エンドエフェクターEEの向きを望んだ向きと一致させることができる。【0047】ステップS150において実行される制御が、第2制御モードM02による制御である。ステップS120〜S140,S160において実行される制御は、第1制御モードM01による制御である。ステップS150の機能を実現する教示装置50のCPU50aの機能部は、動作制御部54である。【0048】ステップS160において、教示装置50は、第1動作モードを終了すべき旨の指示が、入力装置57を介して入力されたか否かを判定する。ステップS160において、第1動作モードを終了すべき旨の指示が入力されたと判定された場合は、処理は終了する。第1動作モードを終了すべき旨の指示が入力されていないと判定された場合は、処理はステップS120に戻る。ユーザーは、その後、たとえば、エンドエフェクターEEを、ワーク座標系WCのzh軸に沿って移動させたり、zh軸を中心に回転させたりして、エンドエフェクターEEの位置および姿勢を調整することができる。【0049】(3)移動座標系の軸と対象座標系の軸とがなす角と角度閾値の大小判定:図7は、図4のステップS140において、移動座標系HCのzh軸と、ワーク座標系WCのzw軸との相対角度θhwが角度閾値Ath未満であるか否かを判定する際の処理の内容を示す概念図である。ワーク座標系WCのzw軸を中心軸とし、中心軸と側面がなす角、すなわち、中心軸と母線がなす角の大きさがAthである円錐Cwを定める。この円錐Cwを、回転させずに、円錐Cwの頂点が移動座標系HCの原点ohと一致する位置に移動させる。このとき、円錐Cwの側面で囲まれた範囲内に移動座標系HCのzh軸がある場合、移動座標系HCのzh軸と、ワーク座標系WCのzw軸との相対角度θhwは、角度閾値Ath未満である。円錐Cwの側面で囲まれた範囲内に移動座標系HCのzh軸がない場合、移動座標系HCのzh軸と、ワーク座標系WCのzw軸との相対角度θhwは、角度閾値Athより大きい。【0050】ステップS140のより具体的な処理としては、以下のような処理を採用することができる。ロボット座標系RCで、zh軸方向の単位ベクトルVzhと、zw軸方向の単位ベクトルVzwとを定める。移動座標系HCのzh軸と、ワーク座標系WCのzw軸との相対角度θhwは、以下の式(1)で求めることができる。相対角度θhwがAth未満であれば、図4のステップS140の判定結果は、Yesとなる。移動座標系HCのzh軸と、装置座標系MCのzm軸との相対角度θhmも、同様の処理で求めることができる。本明細書では、移動座標系HCのzh軸とワーク座標系WCのzw軸との相対角度θhwと、移動座標系HCのzh軸と装置座標系MCのzm軸との相対角度θhmと、を総称して、相対角度θhoと呼ぶ。本実施形態におけるエンドエフェクターEEを「可動部」とも呼ぶ。ワークWKおよび処理装置PMを「対象」とも呼ぶ。動作制御部54を「制御部」とも呼ぶ。移動座標系HCのzh軸を「第1軸」とも呼ぶ。装置座標系MCのzm軸およびワーク座標系WCのzw軸を「第2軸」とも呼ぶ。【0053】B.第2実施形態:第2実施形態においては、図4のステップS130において判定される条件の内容が、第1実施形態とは異なる。第2実施形態の他の点は、第1実施形態と同じである。第1実施形態においては、ステップS130において判定される条件は、(i)移動座標系HCの原点ohが、装置座標系MCの原点omから距離閾値Lthm内の位置にあること、または(ii)移動座標系HCの原点oh、すなわちTCPがワーク座標系WCの原点owから距離閾値Lthw内の位置にあること、である。これに対して、第2実施形態においては、ステップS130において判定される条件は、さらに、(iii)第2制御モードM02を実行する旨の指示が、あらかじめ入力装置57を介して、教示装置50に入力されていること、を含む。第2制御モードM02を実行する旨の指示を受け付ける教示装置50のCPU50aの機能部は、受付部53である。第2実施形態においては、条件(i)および条件(iii)が満たされるか、条件(ii)および条件(iii)が満たされる場合、図4のステップS130の判定結果はYesとなる。第2制御モードM02を実行する旨の指示が入力されていない場合には、ステップS150の処理、すなわち、第2制御モードM02は実行されない。第2実施形態によれば、ユーザーは、望まない場合には、第2制御モードM02を実行する旨の指示を教示装置50に入力しないことにより、第2制御モードM02による制御を教示装置50に実行させないようにすることができる。【0057】C.第3実施形態:第3実施形態においては、図4のステップS110において入力される座標系が、第1実施形態とは異なる。第2実施形態の他の点は、第1実施形態と同じである。第1実施形態においては、ステップS110において入力される座標系は、処理装置PMに対して固定されている装置座標系MCと、ワークWKに対して固定されているワーク座標系WCである。これに対して、第3実施形態においては、ステップS110において、さらに、エンドエフェクターEEに対して固定されており、エンドエフェクターEEとともに移動および回転する移動座標系HCが入力される。移動座標系HCは、たとえば、リンクL6が伸びる方向をzh軸とし、zh軸に対して直交する2軸をxh軸、yh軸とすることができる。ユーザーは、たとえば、以下のような処理で、移動座標系HCを教示装置50に入力することができる。ユーザーは、xh軸の向きを入力装置57を介して入力し、さらに、左手系または右手系を入力装置57を介して指定する。その後、ユーザーは、入力装置57を介して、原点ohの位置を指定する。以上の処理により、移動座標系HCは、教示装置50に入力されることができる。このような機能を実現する教示装置50のCPU50aの機能部は、受付部53である。第3実施形態によれば、ロボット20に行わせる作業の内容や、ロボット20に行わせる作業に応じて交換されるエンドエフェクターEEの構成に応じて、ユーザーが移動座標系HCを設定することができる。【0061】D.第4実施形態:上記実施形態においては、図4のステップS150において、以下のような処理が行われる。教示装置50は、力検出部21により検出される力によらず、移動座標系HCのzh軸との相対角度θhoが角度閾値Ath未満である、装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸とが、平行になるように、エンドエフェクターEEの姿勢を制御する。定められた力閾値以上の大きさの力、またはあらかじめ定められたトルク閾値以上の大きさのトルクが、力検出部21によって検出された場合は、そのような力が検出されていないときとは異なる動きをロボット20にさせる制御を行うこともできる。第4実施形態は、ステップS150の処理が第1実施形態とは異なる。第4実施形態の他の点は、第1実施形態と同じである。図8は、第4実施形態において、図4のステップS140の判定結果がYesである場合に、ステップS150に代わって行われる処理を示すフローチャートである。ステップS152においては、教示装置50は、移動座標系HCのzh軸との相対角度θhoが角度閾値Ath未満である、装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸とが、平行になるように、エンドエフェクターEEの姿勢を制御する。その際、教示装置50は、同時に、力検出部21により検出される力およびトルクがいずれも0となるように、ロボット20のアームAmを制御する。目標力が0であり、目標トルクが0である力制御が行われる。このような制御の結果、達成されるエンドエフェクターEEの動作を、「倣い動作」という。【0063】ステップS152の処理において、ロボット20のエンドエフェクターEEが他の構成に触れなければ、力検出部21により検出される力およびトルクは、いずれも0である。ステップS152において、装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸とが、平行になるように、エンドエフェクターEEの姿勢を制御しているときに、エンドエフェクターEEが他の構成に接触した場合には、力検出部21は力やトルクを検出する。そのような場合には、教示装置50は、それまで駆動していたアームAmの各モーターに対する回転の指令とは異なる指令を、アームAmの各モーターに与えて、力検出部21により検出される力およびトルクがいずれも0となるようにしつつ、エンドエフェクターEEの姿勢を制御する。【0064】ステップS158において、教示装置50は、力検出部21により検出される力およびトルクがいずれも0でありつつ、移動座標系HCのzh軸との相対角度θhoが角度閾値Ath未満であった装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸とが、平行となったか否かを判定する。前者の判断は、目標力0および目標トルク0が達成されているか否かの判断である。後者の判断については、より具体的には、教示装置50は、装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸との相対角度θhoの大きさが、あらかじめ定められた終了閾値角度Athe以下となったか否かを判定する(0<Athe<Ath)。終了閾値角度Atheは、装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸とが、教示している作業において平行と見なせる程度に、十分小さく設定される。目標力0および目標トルク0が達成されつつ、相対角度θhoの大きさが、終了閾値角度Athe以下である場合には、処理は、図4のステップS160に進む。ない場合には、処理は、ステップS152に戻る。【0066】このような態様とすれば、図1に示す処理装置PMおよびワークWKや、ユーザーと、エンドエフェクターEEとが接触した場合に、処理装置PMやワークWKを毀損したり、ユーザーを傷つけることなく、装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸とが、平行になるように、エンドエフェクターEEの姿勢を制御することができる。安全を確保するため、他の構成と接触した場合には、ロボット20が停止してしまう制御態様に比べて、効率的にロボット20に教示を行うことができる。【0067】さらに、第1のワークに設けられた所定の深さを有する穴に、第2のワークを挿入する作業をロボットに教示する場合に、本実施形態の制御を行うこととすれば、以下のような利点が得られる。力検出部21により検出される力およびトルクがいずれも0となるようにしつつ、エンドエフェクターEEの姿勢が制御される結果、第1の対象物に設けられた穴に第2の対象物をスムーズに挿入できる位置および姿勢を、自動的に、エンドエフェクターEEに取らせることができる。このため、第1のワークに設けられた穴に第2のワークを挿入する作業を、容易に、ロボット20に教示することができる。【0068】E.第5実施形態:(1)図9は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット20およびその動作制御装置30の他に、パーソナルコンピューター400,410と、LANなどのネットワーク環境を介して提供されるクラウドサービス500とが描かれている。パーソナルコンピューター400,410は、それぞれプロセッサーとメモリーとを含んでいる。クラウドサービス500においてもプロセッサーとメモリーを利用可能である。プロセッサーは、コンピューター実行可能な命令を実行する。これらの複数のプロセッサーの一部または全部を利用して、動作制御装置30および教示装置50を含むロボット制御装置25を実現することが可能である。各種の情報を記憶する記憶部も、これらの複数のメモリーの一部または全部を利用して、実現することが可能である。【0069】(2)図10は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット20の動作制御装置30が、ロボット20の中に格納されている点が図9と異なる。この例においても、複数のプロセッサーの一部または全部を利用して、動作制御装置30および教示装置50を含むロボット制御装置25を実現することが可能である。各種の情報を記憶する記憶部も、複数のメモリーの一部または全部を利用して、実現することが可能である。【0070】F.他の実施形態:F1.他の実施形態1:(1)上記実施形態においては、力検出部21として、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーが、アームAmの先端に取りつけられている。力検出部は、たとえば、互いに直交する3個の検出軸上の力の大きさを検出する3軸センサーとすることもできる。Unit)とすることもできる。力検出部は、関節に備えられたトルクセンサーで構成することもできる。力検出部は、関節に備えられたモーターの電流を計測し、その電流値からトルクを計算する装置として構成することもできる。力検出部は、支持台BsとリンクL1の間など、アームAmの先端以外のロボットの他の部位に設けられていてもよい。ロボットの各関節に配されたモーターのトルクから、TCPにおける3軸方向の力や3軸周りのトルクを計算して、力検出部の機能を実現することもできる。【0072】(2)上記実施形態においては、対象座標系は、ワークWKと処理装置PMに対して固定されている。対象座標系は、ワークWKが置かれる台や、ワークWKを搬送するベルトコンベア等の搬送手段に含まれる一点に対して固定されている態様とすることもできる。本明細書において、「対象座標系がAに対して固定されている」という場合、対象座標系の相対位置および相対姿勢が、Aに対して固定されていればよい。「対象座標系がAに対して固定されている」ことは、対象座標系の原点がAの表面や内部にあることを必ずしも意味しない。対象座標系の原点は、Aから離れた位置にあってもよい。【0073】(3)上記実施形態においては、ワークWKの平面に垂直な方向が対象座標系としてのワーク座標系WCのzw軸とされた。対象座標系の軸は、他の基準で設定することもできる。重力方向上側を対象座標系のz軸とすることもできる。【0074】(4)上記実施形態においては、相対角度に関するステップS140の判定に先立って、ステップS130において、他の条件が判定される。他の条件の判定は、相対角度に関する判定の後に行われてもよい。相対角度に関するステップS140の判定の前後で、他の条件の判定が行われてもよい。【0075】たとえば、ステップS130の処理が、ステップS140の前ではなく、ステップS140の後に行われてもよい。第2制御モードM02を実行する旨の指示が、入力装置57を介して教示装置50に入力されたか否かが、相対角度に関するステップS140の判定の後に行われてもよい。そのような態様においては、第2制御モードM02を実行する旨の指示が入力されていない場合には、処理はステップS120に戻り、第2制御モードM02を実行する旨の指示が入力された場合には、処理はステップS150に進む態様とすることもできる。【0076】(5)上記実施形態では、装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸とがなす角θが90度以上である場合は、ステップS140の処理において、(180−θ)の角度が、装置座標系MCのzm軸またはワーク座標系WCのzw軸と、移動座標系HCのzh軸との相対角度θhoとされる。そのような処理を行わず、移動座標系の第1軸と対象座標系の第2軸のなす角をそのまま両者の相対角度として、ステップS140の処理を行うこともできる。【0077】(6)上記実施形態では、図4のステップS150において、移動座標系HCのzh軸が、ワーク座標系WCのzw軸または装置座標系MCのzm軸と平行になるように、エンドエフェクターEEの姿勢が制御される。移動座標系を規定する3軸のうち、他の軸に合わせる対象である第1軸は、xh軸やyh軸とすることもできる。対象座標系を規定する3軸のうち、移動座標系の第1軸がそれに合わせられる対象である第2軸は、xm軸、ym軸、xw軸、ym軸など、他の軸とすることもできる。【0078】(7)上記実施形態では、図4のステップS150において、移動座標系HCのzh軸が、ワーク座標系WCのzw軸または装置座標系MCのzm軸と平行になるように、エンドエフェクターEEの姿勢が制御される。可動部は、移動座標系HCのzh軸が、ワーク座標系WCのzw軸または装置座標系MCのzm軸と、厳密に平行になるようにエンドエフェクターEEの姿勢が制御されなくてもよい。移動座標系の第1軸と、対象座標系の第2軸と、の相対角度の大きさがより0に近づくように、すなわち、相対角度の大きさがより小さくなるように、可動部の姿勢が制御されればよい。【0079】F2.他の実施形態2:(1)上記第1実施形態においては、ステップS110において入力される座標系は、処理装置PMに対して固定されている装置座標系MCと、ワークWKに対して固定されているワーク座標系WCである。第3実施形態においては、エンドエフェクターEEに対して固定されている移動座標系HCが入力される。これらの座標系のうち1以上が教示装置50を含むロボット制御装置25に入力されない態様とすることもできる。装置座標系MCやワーク座標系WCなどの対象座標系の少なくとも一つは、制御装置としてのロボット制御装置25に入力されることが好ましい。【0080】(2)また、互いに平行になるようにエンドエフェクターEEが制御される、移動座標系の軸と対象座標系の軸を、ユーザーから受け付ける態様とすることもできる。そのような態様においては、ユーザーは、たとえば、移動座標系HCのxh軸、yh軸およびzh軸の中から任意の軸を、対象座標系の軸に平行に配する軸として選択して、制御装置に入力することができる。ユーザーは、たとえば、装置座標系MCのxm軸、ym軸およびzm軸、ならびにワーク座標系WCのxw軸、yw軸およびzw軸の中から、任意の軸を、移動座標系HCの軸が平行に配される相手方の軸として選択して、制御装置に入力することができる。互いに平行になるようにエンドエフェクターEEが制御される二つの軸のうちの一方または両方が、あらかじめ固定されており、ユーザーから入力されない態様とすることもできる。【0081】F3.他の実施形態3:上記実施形態において、角度閾値Athは、45度である。角度閾値は、15度や30度など、45度未満の値であってもよいし、45度以上の値であってもよい。角度閾値Athは、30度未満であることが好ましく、15度未満であることがより好ましい。【0082】F4.他の実施形態4:上記実施形態において、角度閾値Athは、入力装置57を介してユーザーによって指定される。角度閾値は、固定値であってもよい。角度閾値Athとしては、処理装置やワークなどの対象ごとに異なる値が設定されることもできる。角度閾値Athがユーザーによって指定される態様において、あらかじめ角度閾値Athの上限が定められている態様とすることもできる。そのような態様においては、角度閾値Athの上限は、45度以下であることが好ましい。【0083】F5.他の実施形態5:第1実施形態においては、ステップS130において判定される条件は、(i)移動座標系HCの原点ohが、装置座標系MCの原点omから距離閾値Lthm内の位置にあること、または(ii)移動座標系HCの原点oh、すなわちTCPが、ワーク座標系WCの原点owから距離閾値Lthw内の位置にあること、である。第2実施形態においては、ステップS130において判定される条件は、さらに、(iii)第2制御モードM02を実行する旨の指示が、あらかじめ入力装置57を介して、教示装置50に入力されていること、である。【0084】しかし、第2制御モードの実行が許可されるか否かを定める条件は、さらに他の条件を含んでもよい。第2制御モードの実行が許可されるか否かを定める条件は、ワークWKの外縁からあらかじめ定められた距離の範囲内に移動座標系の原点があることや、処理装置PMの外縁からあらかじめ定められた距離の範囲内に移動座標系の原点があることを、含むことができる。移動座標系の原点に代えて、エンドエフェクターの先端の位置を、上記各条件の判断基準とすることもできる。上記のいずれかの下位条件を含まない態様とすることもできる。第2軸と移動座標系の第1軸との相対角度が、角度閾値未満である場合には、常に第2制御モードによる制御が行われる態様とすることもできる。定められた条件は、常に満たされる条件とすることもできる。【0086】F6.他の実施形態6:上記実施形態において、距離閾値Lthw,Lthmは、入力装置57を介してユーザーによって指定される。距離閾値は、対象物に応じて定められる固定値であってもよい。対象物によらず定められている一つの固定値であってもよい。それらの態様においては、距離閾値は、0〜40mmとすることが好ましく、0〜30mmとすることがさらに好ましい。【0087】F7.他の実施形態7:第1実施形態においては、ステップS130において判定される条件は、(i)移動座標系HCの原点ohが、装置座標系MCの原点omから距離閾値Lthm内の位置にあること、または(ii)移動座標系HCの原点oh、すなわちTCPがワーク座標系WCの原点owから距離閾値Lthw内の位置にあること、である。第2実施形態において、ステップS130において判定される条件は、さらに、(iii)第2制御モードM02を実行する旨の指示が、あらかじめ入力装置57を介して、教示装置50に入力されていること、である。【0088】しかし、これらの下位条件のうち1以上がステップS130の判定条件に含まれない態様とすることもできる。上記各条件の少なくとも一つは、第2制御モードの実行か許可されるか否かの判定条件に含まれることが好ましい。【0089】また、第2制御モードM02を実行するか否かの指示を、ユーザーから受け付けず、あらかじめ定められた条件が満たされる場合は、自動的に第2制御モードM02が実行される態様とすることもできる。【0090】F8.他の実施形態8:(1)上記実施形態においては、第1制御モードM01の制御が実行された後、第3制御モードM03による制御が実行される。第3制御モードM03による制御が実行されない態様とすることもできる。そのような態様においても、第2制御モードM02による制御が実行されることにより、望ましい方向に可動部としてのエンドエフェクターの向きを一致させることができる。ワークや処理装置、ロボットの実際の形状や寸法、配置の、設計値からのズレを反映して適切な制御を行うために、第3制御モードM03による制御が実行されることが好ましい。【0091】(2)上記実施形態においては、第3制御モードM03におけるあらかじめ定められた移動量は0.1mmであり、あらかじめ定められた回転角度は0.5度である。第3制御モードM03におけるあらかじめ定められた移動量は0.05mm、0.3mm、0.5mm、など、たの値とすることもできる。第3制御モードM03におけるあらかじめ定められた移動量は1mm未満であることが好ましい。第3制御モードM03におけるあらかじめ定められた回転角度は0.2度、1度、2度など、たの値とすることもできる。第3制御モードM03におけるあらかじめ定められた回転角度は1度未満であることが好ましい。【0092】G.さらに他の形態:本発明は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。本発明は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本発明の課題の一部又は全部を解決するために、あるいは、本発明の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。【0093】(1)本発明の一形態によれば、可動部と、前記可動部に加えられた力を検出する力検出部と、を備えるロボットを制御する制御装置が提供される。この制御装置は:前記ロボットの制御を実行する制御部と;対象に対して固定されている対象座標系をユーザーから受け付ける受付部と、を備える。前記制御部は:前記力検出部により力が検出されている間、前記力検出部により検出された力に応じて前記可動部を移動および回転させる第1制御モードと;前記第1制御モードによる制御において、前記可動部に対して固定されている移動座標系のあらかじめ定められた第1軸と、前記対象座標系のあらかじめ定められた第2軸と、の相対角度が角度閾値未満になった場合に、あらかじめ定められた条件の下で前記相対角度の大きさが0に近づくように前記可動部を回転させる第2制御モードと、を有する。このような態様とすれば、ユーザーは、対象座標系の第2軸を望ましい向きに設定することにより、第2制御モードにおいて、容易に、ロボットの可動部の向きを望んだ向きと一致させることができる。【0094】(2)上記形態において、前記受付部が、前記ユーザーから、前記第1軸および第2軸を受け付ける、態様とすることもできる。このような態様とすれば、ロボットに行わせる作業の内容や、可動部の構成に応じて、ユーザーが第1軸および第2軸を設定することができる。【0095】(3)上記形態において、前記角度閾値が、0より大きく45度未満である、態様とすることもできる。このような態様とすれば、角度閾値が45度を超える態様に比べて、ユーザーが望んでいない場合に第2制御モードが実行される可能性を低減することができる。【0096】(4)上記形態において、前記受付部が、前記角度閾値をユーザーから受け付ける、態様とすることもできる。このような態様とすれば、角度閾値が固定値である態様に比べて、ユーザーは、第2制御モードが実行される条件を、望むように設定することができる。【0097】(5)上記形態において、前記条件は、前記第1制御モードによる制御において、前記移動座標系の原点と前記対象座標系の原点との距離が、距離閾値より大きいか否かを含む、態様とすることもできる。このような態様とすれば、作業の対象物上または作業の対象物内に対象座標系の原点を設定することにより、ロボットの可動部が対象物から遠い場合に、第2制御モードによる制御を制御部に実行させないようにすることもできる。その結果、ロボットの可動部が対象物から遠い位置にあり、対象物に対する可動部の姿勢を正確に指定する必要がある状況にある可能性が低い場合には、第2制御モードによらない制御を、ロボットに実行させることができる。ロボットの可動部が対象物に近い位置にあり、対象物に対する可動部の姿勢を正確に指定する必要がある状況にある可能性が高い場合には、第2制御モードによる制御を、ロボットに実行させることができる。【0098】(6)上記形態において、前記受付部が、前記距離閾値をユーザーから受け付ける、態様とすることもできる。このような態様とすれば、距離閾値が固定値である態様に比べて、ユーザーは、第2制御モードが実行される条件を、望むように設定することができる。【0099】(7)上記形態において、前記受付部が、前記第2制御モードを実行するか否かの指示をユーザーから受け付け;前記条件は、前記第2制御モードを実行する旨の指示が前記受付部に入力されているか否かを含む、態様とすることもできる。このような態様とすれば、ユーザーは、望まない場合には、第2制御モードを実行する旨の指示を受付部に入力しないことにより、第2制御モードによる制御を制御部に実行させないようにすることができる。【0100】(8)上記形態において、前記制御部が、前記力検出部により力が検出された場合に、前記検出された力の向きに応じて、あらかじめ定められた向きにあらかじめ定められた量だけ、前記可動部を移動または回転させる第3制御モードを有し;前記第3制御モードによる制御においては、前記第2制御モードは行われない、態様とすることもできる。このような態様とすれば、ユーザーは、ロボットの教示において、第2制御モードと第3制御モードとを、目的に応じて使い分けることができる。【0101】(9)本発明の他の形態によれば、上記形態のいずれか1項に記載のロボット制御装置と;前記ロボット制御装置によって制御される前記ロボットと;を備えるロボットシステムが提供される。本発明は、以外の種々の形態で実現することも可能である。ロボットや、ロボットの制御方法、その制御方法を実現するコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体等の形態で実現することができる。上述した本発明の各形態の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行うことが可能である。上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、上述した本発明の一形態に含まれる技術的特徴の一部又は全部を上述した本発明の他の形態に含まれる技術的特徴の一部又は全部と組み合わせて、本発明の独立した一形態とすることも可能である。Reserved.10。