(57)【要約】【課題】ロボットの部位のうちの第１対象物を挟んでいる部位と、第１対象物との相対的な位置関係の重力方向へのずれを抑制することができるロボットを提供すること。【解決手段】アームと、前記アームに設けられ、力を検出する力検出器と、を備え、重力方向と、前記重力方向と反対方向とから第１対象物を挟み、前記第１対象物を第２対象物が備える挿入部に挿入する、ロボット。【選択図】図６
2017196705.tif 000002
【特許請求の範囲】
【請求項１】
アームと、
前記アームに設けられ、力を検出する力検出器と、
を備え、
重力方向と、前記重力方向と反対方向とから第１対象物を挟み、前記第１対象物を第２対象物が備える挿入部に挿入する、
ロボット。
【請求項２】
前記第１対象物を前記重力方向と直交する方向に規制させた状態で把持する、
請求項１に記載のロボット。
【請求項３】
前記アームにより前記第１対象物又は前記第２対象物の少なくとも一方を前記第１対象物と前記第２対象物とが近づく方向に移動させ、前記挿入部とは異なる位置に前記第１対象物が接触したことを前記力検出器の出力に基づいて判定した場合、前記第１対象物と前記第２対象物とを離間させる、
請求項１又は２に記載のロボット。
【請求項４】
前記位置に前記第１対象物が接触したと判定した場合、前記第１対象物又は前記第２対象物の少なくとも一方を、前記第１対象物と前記第２対象物とが離れる方向のうち前記重力方向と直交する方向であって前記近づく方向と逆の方向以外の方向に移動させ、前記第１対象物と前記第２対象物とを離間させる、
請求項３に記載のロボット。
【請求項５】
前記第１対象物と前記第２対象物とを離間させる動作を位置制御によって行う、
請求項４に記載のロボット。
【請求項６】
前記第１対象物は電子部品である、
請求項１から５のうちいずれか一項に記載のロボット。
【請求項７】
請求項１から６のうちいずれか一項に記載のロボットと、
前記ロボットを制御するロボット制御装置と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット、及びロボットシステムに関する。
【背景技術】
【０００２】
２つの物体を嵌合させるロボットの研究や開発が行われている。
【０００３】
これに関し、第１のワークを第２のワークへ嵌合させる所定の作業である嵌合作業を、第１のワークを第２のワークへ接触させる接触動作と、第１のワークで第２のワークの形状を探る探り動作と、第１のワークを第２のワークへ挿入する挿入動作との３つの動作によって行うロボットが知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１６６６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなロボットでは、第１のワークを第２のワークに接触させたまま第１のワークを動かして第２のワークの形状を探るため、第１のワークと第２のワークとのうちいずれか一方又は両方を変形させてしまう場合があった。また、当該ロボットでは、ハンドにより第１のワークを重力方向と直交する方向から挟んで把持するため、第１のワークの重さ等によって第１のワークとハンドとの相対的な位置関係がずれる場合があった。その結果、当該ロボットは、前述の探り動作を行う時間が長くなることがあり、所定の作業を行う時間を短縮させることが困難な場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、アームと、前記アームに設けられ、力を検出する力検出器と、を備え、重力方向と、前記重力方向と反対方向とから第１対象物を挟み、前記第１対象物を第２対象物が備える挿入部に挿入する、ロボットである。
この構成により、ロボットは、重力方向と、重力方向と反対方向とから第１対象物を挟み、第１対象物を第２対象物が備える挿入部に挿入する。これにより、ロボットは、ロボットの部位のうちの第１対象物を挟んでいる部位と第１対象物との相対的な位置関係の重力方向へのずれを抑制することができる。
【０００７】
また、本発明の他の態様は、ロボットにおいて、前記第１対象物を前記重力方向と直交する方向に規制させた状態で把持する、構成が用いられてもよい。
この構成により、ロボットは、第１対象物を重力方向と直交する方向に規制させた状態で把持する。これにより、ロボットは、ロボットの部位のうちの第１対象物を挟んでいる部位と第１対象物との相対的な位置関係の重力方向へのずれを抑制するとともに、当該位置関係の重力方向と直交する方向へのずれを抑制することができる。
【０００８】
また、本発明の他の態様は、ロボットにおいて、前記アームにより前記第１対象物又は前記第２対象物の少なくとも一方を前記第１対象物と前記第２対象物とが近づく方向に移動させ、前記挿入部とは異なる位置に前記第１対象物が接触したことを前記力検出器の出力に基づいて判定した場合、前記第１対象物と前記第２対象物とを離間させる、構成が用いられてもよい。
この構成により、ロボットは、アームにより第１対象物又は第２対象物の少なくとも一方を第１対象物と第２対象物とが近づく方向に移動させ、挿入部とは異なる位置に第１対象物が接触したことを力検出器の出力に基づいて判定した場合、第１対象物と第２対象物とを離間させる。これにより、ロボットは、第２対象物が備える挿入部とは異なる位置に第１対象物が接触した場合に第１対象物及び第２対象物を変形させてしまうことを抑制することができる。
【０００９】
また、本発明の他の態様は、ロボットにおいて、前記位置に前記第１対象物が接触したと判定した場合、前記第１対象物又は前記第２対象物の少なくとも一方を、前記第１対象物と前記第２対象物とが離れる方向のうち前記重力方向と直交する方向であって前記近づく方向と逆の方向以外の方向に移動させ、前記第１対象物と前記第２対象物とを離間させる、構成が用いられてもよい。
この構成により、ロボットは、第２対象物が備える挿入部とは異なる位置に第１対象物が接触したと判定した場合、第１対象物又は第２対象物の少なくとも一方を、第１対象物と第２対象物とが離れる方向のうち重力方向と直交する方向であって第１対象物と第２対象物とが近づく方向と逆の方向以外の方向に移動させ、第１対象物と第２対象物とを離間させる。これにより、ロボットは、第１対象物又は第２対象物の少なくとも一方を、前回の位置であって第１対象物と第２対象物とが近づく方向に移動させ始めた位置と異なる位置から当該方向に移動させ始めることができる。
【００１０】
また、本発明の他の態様は、ロボットにおいて、前記第１対象物と前記第２対象物とを離間させる動作を位置制御によって行う、構成が用いられてもよい。
この構成により、ロボットは、第１対象物と第２対象物とを離間させる動作を位置制御によって行う。これにより、ロボットは、第１対象物を第２対象物の挿入部に挿入する時間を短縮することができる。
【００１１】
また、本発明の他の態様は、ロボットにおいて、前記第１対象物は電子部品である、構成が用いられてもよい。
この構成により、ロボットは、重力方向と、重力方向と反対方向とから電子部品を挟み、電子部品を第２対象物が備える挿入部に挿入する。これにより、ロボットは、ロボットの部位のうちの電子部品を挟んでいる部位と電子部品との相対的な位置関係の重力方向へのずれを抑制することができる。
【００１２】
また、本発明の他の態様は、上記に記載のロボットと、前記ロボットを制御するロボット制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムは、重力方向と、重力方向と反対方向とから第１対象物を挟み、第１対象物を第２対象物が備える挿入部に挿入する。これにより、ロボットシステムは、ロボットの部位のうちの第１対象物を挟んでいる部位と、第１対象物との相対的な位置関係の重力方向へのずれを抑制することができる。
【００１３】
以上により、ロボット、及びロボットシステムは、重力方向と、重力方向と反対方向とから第１対象物を挟み、第１対象物を第２対象物が備える挿入部に挿入する。これにより、ロボット、及びロボットシステムは、ロボットの部位のうちの第１対象物を挟んでいる部位と、第１対象物との相対的な位置関係の重力方向へのずれを抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】エンドエフェクターＥにより把持されたコネクターＰＬ１をロボット座標系ＲＣにおけるＸ軸の正方向から負方向に向かって見た場合の一例を示す側面図である。
【図３】図２に示したエンドエフェクターＥ及びコネクターＰＬ１をロボット座標系ＲＣにおけるＺ軸方向の正方向から負方向に向かって見た場合の上面図である。
【図４】コネクターＰＬ１及びコネクターＰＬ２の規格の具体例を示す図である。
【図５】ロボット制御装置３０のハードウェア構成の一例を示す図である。
【図６】ロボット制御装置３０の機能構成の一例を示す図である。
【図７】ロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
【図８】制御点Ｔが１回目の第１挿入動作における待機位置に移動した場合のコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。
【図９】第１挿入動作が開始された直後のコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。
【図１０】終了条件が満たされている場合におけるコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。
【図１１】第２挿入動作が行われた後のコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。
【図１２】挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触した場合におけるコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。
【図１３】離間動作が行われた後のコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。
【図１４】第１挿入動作と離間動作とを２回以上行う場合に、第１挿入動作を行うたびに変化する待機位置であって挿入部ＰＬ２１のコネクターＰＬ１を挿入される側の面上に射影される位置の一例を、当該面の中心を原点とした二次元グラフにプロットした図である。
【図１５】エンドエフェクターＥにより把持されたコネクターＰＬ１をロボット座標系ＲＣにおけるＸ軸の正方向から負方向に向かって見た場合の他の例を示す側面図である。
【図１６】図１５に示したエンドエフェクターＥ及びコネクターＰＬ１をロボット座標系ＲＣにおけるＺ軸方向の正方向から負方向に向かって見た場合の一例の上面図である。
【図１７】図１５に示したエンドエフェクターＥ及びコネクターＰＬ１をロボット座標系ＲＣにおけるＺ軸方向の正方向から負方向に向かって見た場合の他の例の上面図である。
【発明を実施するための形態】
【００１５】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００１６】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット２０と、ロボット制御装置３０を備える。
【００１７】
ロボット２０は、アームＡと、アームＡを支持する支持台Ｂを備える単腕ロボットである。単腕ロボットは、この一例におけるアームＡのような１本のアーム（腕）を備えるロボットである。なお、ロボット２０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２本以上のアーム（例えば、２本以上のアームＡ）を備えるロボットである。なお、複腕ロボットのうち、２本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット２０は、２本のアームを備える双腕ロボットであってもよく、３本以上のアーム（例えば、３本以上のアームＡ）を備える複腕ロボットであってもよい。また、ロボット２０は、スカラロボットや、直角座標ロボット等の他のロボットであってもよい。直角座標ロボットは、例えば、ガントリロボットである。
【００１８】
アームＡは、エンドエフェクターＥと、マニピュレーターＭと、力検出部２１を備える。
エンドエフェクターＥは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。当該指部は、２本以上の指を備える。以下では、一例として、当該指部が４本の指である指Ｆ１〜指Ｆ４を備える場合について説明する。エンドエフェクターＥは、指Ｆ１〜指Ｆ４のそれぞれによって物体を挟むことにより、物体を把持する。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、磁石や治具等によって物体を持ち上げることが可能な他のエンドエフェクターであってもよい。
【００１９】
エンドエフェクターＥが備える指部は、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該指部は、ロボット制御装置３０から取得される制御信号に基づいて指Ｆ１〜指Ｆ４のそれぞれを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。また、当該指部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２０】
マニピュレーターＭは、７つの関節を備える。また、当該７つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭを備えるアームＡは、７軸垂直多関節型のアームである。アームＡは、支持台Ｂと、エンドエフェクターＥと、マニピュレーターＭと、マニピュレーターＭが備える７つの関節それぞれのアクチュエーターとによる連携した動作によって７軸の自由度の動作を行う。なお、アームＡは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【００２１】
アームＡが７軸の自由度で動作する場合、アームＡは、６軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これによりアームＡは、例えば、動作が滑らかになり、更にアームＡの周辺に存在する物体との干渉を容易に回避することができる。また、アームＡが７軸の自由度で動作する場合、アームＡの制御は、アームＡが８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
【００２２】
マニピュレーターＭが備える７つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、マニピュレーターＭを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、マニピュレーターＭが備える７つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２３】
力検出部２１は、エンドエフェクターＥとマニピュレーターＭの間に備えられる。力検出部２１は、例えば、力センサーである。力検出部２１は、エンドエフェクターＥ、又はエンドエフェクターＥにより把持された物体に作用した力やモーメント（トルク）を検出する。力検出部２１は、検出した力やモーメントの大きさを示す値を出力値として含む力検出情報を通信によりロボット制御装置３０へ出力する。力検出部２１は、力検出器の一例である。
【００２４】
力検出情報は、ロボット制御装置３０によるアームＡの制御のうちの力検出情報に基づく制御に用いられる。力検出情報に基づく制御は、例えば、インピーダンス制御等のコンプライアントモーション制御のことである。なお、力検出部２１は、トルクセンサー等のエンドエフェクターＥ、又はエンドエフェクターＥにより把持された物体に加わる力やモーメントの大きさを示す値を検出する他のセンサーであってもよい。
【００２５】
力検出部２１は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、力検出部２１とロボット制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００２６】
なお、ロボット２０は、上記において説明した機能部に加えて、１以上の撮像部を備える構成であってもよい。以下では、一例として、ロボット２０が撮像部を備えない場合について説明する。
【００２７】
ロボット制御装置３０は、この一例において、ロボットコントローラーである。ロボット制御装置３０は、予め入力された動作プログラムに基づいて制御信号を生成する。ロボット制御装置３０は、生成した制御信号をロボット２０に送信し、ロボット２０に所定の作業を行わせる。以下では、説明の便宜上、ロボット制御装置３０による当該制御信号の生成及び送信についての説明を省略し、ロボット制御装置３０がロボット２０に行わせる動作、及びロボット２０を動作させる際にロボット制御装置３０が行う処理について説明する。なお、ロボット制御装置３０は、図１に示したようにロボット２０の外部に設置される構成に代えて、ロボット２０に内蔵される構成であってもよい。
【００２８】
＜ロボットが行う所定の作業の概要＞
以下、実施形態においてロボット２０が行う所定の作業の概要について説明する。
この一例におけるロボット２０は、重力方向と、重力方向と反対方向とから第１対象物を挟み、第１対象物を第２対象物が備える挿入部に挿入する作業を所定の作業として行う。
【００２９】
以下では、一例として、ロボット座標系ＲＣにおけるＺ軸の負方向が重力方向と一致している場合について説明する。ロボット座標系ＲＣは、ロボット制御装置３０がアームＡを動かす場合の基準となる三次元局所座標系である。なお、ロボット座標系ＲＣにおけるＺ軸の負方向は、重力方向と異なる方向と一致している構成であってもよい。
【００３０】
また、以下では、一例として、第１対象物が、通信用の接続ケーブルにおける雄型のコネクター（プラグ又はジャック）ＰＬ１である場合について説明する。なお、第１対象物は、コネクターＰＬ１に代えて、産業用の部品や部材、装置等であってもよく、生体等であってもよい。
【００３１】
また、以下では、一例として、第２対象物が、通信用の接続ケーブルにおける雌型のコネクター（レセプタクル）であって、第１対象物の一例である雄型のコネクターＰＬ１と接続されるコネクターＰＬ２である場合について説明する。この場合、コネクターＰＬ２は、前述の第２対象物が備える挿入部として、挿入部ＰＬ２１を備える。なお、第２対象物は、コネクターＰＬ２に代えて、産業用の部品や部材、装置等であってもよく、生体等であってもよい。
【００３２】
図１に示した例では、コネクターＰＬ２は、治具Ｇによって支持されている。また、当該例では、コネクターＰＬ２は、ロボット２０の接地面（例えば、床面）に設けられた治具Ｇによって支持されている。なお、コネクターＰＬ２は、壁面や天井面等の他の位置に設けられた治具Ｇによって支持されている構成であってもよい。
【００３３】
ここで、図２及び図３を参照し、ロボット２０のエンドエフェクターＥによるコネクターＰＬ１の把持の方法について説明する。
【００３４】
図２は、エンドエフェクターＥにより把持されたコネクターＰＬ１をロボット座標系ＲＣにおけるＸ軸の正方向から負方向に向かって見た場合の一例を示す側面図である。当該側面図は、マニピュレーターＭが備える関節のうちのエンドエフェクターＥを回動させる関節の回動軸と、ロボット座標系ＲＣにおけるＹ軸とが一致している場合の側面図である。また、図２では、指Ｆ１及び指Ｆ３と、コネクターＰＬ１との相対的な位置関係を明確にするため、指Ｆ２及び指Ｆ４を省略している。
【００３５】
図２に示したように、エンドエフェクターＥは、指Ｆ１と指Ｆ３のそれぞれを動作させ、コネクターＰＬ１を重力方向と、重力方向と反対方向とからコネクターＰＬ１を挟むことにより、コネクターＰＬ１を把持する。前述したように、この一例において、重力方向は、ロボット座標系ＲＣにおけるＺ軸の負方向である。すなわち、エンドエフェクターＥは、指Ｆ１を重力方向に移動させてコネクターＰＬ１に近づけるとともに、指Ｆ３を当該反対方向に移動させてコネクターＰＬ１に近づけることにより、指Ｆ１及び指Ｆ３によってコネクターＰＬ１を挟み、コネクターＰＬ１を把持する。このため、図２に示した例では、指Ｆ１は、コネクターＰＬ１の部位のうちの当該Ｚ軸の正方向側の部位と接触しており、指Ｆ３は、コネクターＰＬ１の部位のうちの当該Ｚ軸の負方向側の部位と接触している。
【００３６】
これにより、ロボット２０は、コネクターＰＬ１の重さや、コネクターＰＬ１が備えるケーブルの重さによって、ロボット２０の部位のうちのコネクターＰＬ１を挟んでいる部位であるエンドエフェクターＥとコネクターＰＬ１との相対的な位置関係の重力方向へのずれを抑制することができる。当該位置関係が重力方向にずれない場合、ロボット２０は、コネクターＰＬ１を挿入部ＰＬ２１に挿入する際に挿入部ＰＬ２１を探る動作のうちの重力方向に沿った方向への動作を省略することができる。その結果、ロボット２０は、コネクターＰＬ１をコネクターＰＬ２の挿入部ＰＬ２１に挿入する時間を短縮することができる。
【００３７】
図３は、図２に示したエンドエフェクターＥ及びコネクターＰＬ１をロボット座標系ＲＣにおけるＺ軸方向の正方向から負方向に向かって見た場合の上面図である。図３では、指Ｆ２及び指Ｆ４と、コネクターＰＬ１との相対的な位置関係を明確にするため、指Ｆ１及び指Ｆ３を省略している。
【００３８】
図３に示したように、エンドエフェクターＥは、指Ｆ２と指Ｆ４のそれぞれを動作させ、コネクターＰＬ１を重力方向と直交する方向に規制させた状態で把持する。図３に示した例では、エンドエフェクターＥは、指Ｆ２を重力方向と直交する方向のうちの当該Ｘ軸の負方向に移動させてコネクターＰＬ１に近づけるとともに、指Ｆ４を重力方向と直交する方向のうちの当該Ｘ軸の正方向に移動させてコネクターＰＬ１に近づけることにより、指Ｆ２及び指Ｆ４によってコネクターＰＬ１を挟み、コネクターＰＬ１を重力方向と直交する方向に規制させた状態を実現する。このため、図３に示した例では、指Ｆ２は、コネクターＰＬ１の部位のうちの当該Ｘ軸の正方向側の部位と接触しており、指Ｆ４は、コネクターＰＬ１の部位のうちの当該Ｘ軸の負方向側の部位と接触している。
【００３９】
これにより、ロボット２０は、ロボット２０の部位のうちのコネクターＰＬ１を挟んでいる部位であるエンドエフェクターＥとコネクターＰＬ１との相対的な位置関係の重力方向へのずれを抑制するとともに、当該位置関係の重力方向と直交する方向へのずれを抑制することができる。当該位置関係が当該方向にずれない場合、ロボット２０は、コネクターＰＬ１を挿入部ＰＬ２１に挿入する際に挿入部ＰＬ２１を探る動作のうちの当該方向に沿った方向への動作を更に省略することができる。その結果、ロボット２０は、コネクターＰＬ１をコネクターＰＬ２の挿入部ＰＬ２１に挿入する時間を更に短縮することができる。
【００４０】
図１に示した例では、ロボット２０は、図２及び図３に示したように、指Ｆ１〜指Ｆ４のそれぞれによって、コネクターＰＬ１を重力方向と、重力方向と反対方向とからコネクターＰＬ１を挟んだ状態であり、且つコネクターＰＬ１を重力方向と直交する方向に規制させた状態である固定状態で予め把持している。なお、ロボット２０は、予めコネクターＰＬ１を把持しておらず、所定の給材領域に配置されたコネクターＰＬ１を固定状態で把持する構成であってもよい。また、ロボット２０は、所定の作業として他の作業を行う構成であってもよい。また、固定状態は、コネクターＰＬ１を重力方向と直交する方向に規制させていない状態であってロボット２０がコネクターＰＬ１を重力方向と、重力方向と反対方向とからコネクターＰＬ１を挟んだ状態であってもよい。
【００４１】
＜ロボット制御装置が行う処理の概要＞
以下、実施形態におけるロボット２０に所定の作業を行わせるためにロボット制御装置３０が行う処理の概要について説明する。
【００４２】
以下では、一例として、ロボット座標系ＲＣにおけるＹ軸の正方向と、コネクターＰＬ１を挿入部ＰＬ２１に挿入させる方向である第１方向Ａ１とが一致するようにコネクターＰＬ２が治具Ｇによって支持されている場合について説明する。すなわち、この一例において、挿入部ＰＬ２１に挿入されたコネクターＰＬ１を挿入部ＰＬ２１から引き抜く方向と逆の方向（第１方向Ａ１）は、当該Ｙ軸の正方向と一致している。なお、コネクターＰＬ２は、コネクターＰＬ１を挿入部ＰＬ２１に挿入させる方向が、当該Ｙ軸の正方向と異なる他の方向と一致するように治具Ｇによって支持される構成であってもよい。
【００４３】
また、この一例おいて、コネクターＰＬ１の先端部の中心には、当該中心とともに動くＴＣＰ（Tool  Center  Point）である制御点Ｔが設定される。コネクターＰＬ１の先端部は、コネクターＰＬ１の端部のうちの挿入部ＰＬ２１に挿入する側の端部のことである。コネクターＰＬ１の先端部は、治具Ｇに支持されたコネクターＰＬ２が備える挿入部ＰＬ２１にコネクターＰＬ１が挿入された状態において第１方向Ａ１と直交する面を有する。当該面の形状は、例えば、長方形である。すなわち、この一例におけるコネクターＰＬ１の先端部の中心は、当該長方形の図心のことである。
【００４４】
制御点Ｔには、コネクターＰＬ１の位置及び姿勢を表す三次元局所座標系である制御点座標系ＣＣが設定される。制御点座標系ＣＣの原点は、制御点Ｔ、すなわちコネクターＰＬ１の先端部の中心の位置を表す。また、制御点座標系ＣＣにおける各座標軸の方向は、制御点Ｔ、すなわちコネクターＰＬ１の先端部の中心の姿勢を表す。例えば、制御点Ｔには、コネクターＰＬ１が挿入部ＰＬ２１に挿入されている状態において、制御点座標系ＣＣにおけるＺ軸の正方向が、ロボット座標系ＲＣにおけるＹ軸の正方向と一致し、制御点座標系ＣＣにおけるＸ軸の正方向が、ロボット座標系ＲＣにおけるＸ軸の正方向とが一致するように制御点座標系ＣＣが設定される。
【００４５】
ロボット制御装置３０は、予め記憶されたコネクターＰＬ２の挿入部ＰＬ２１の位置を示す情報である位置情報と、後述する待機位置情報とに基づいて、アームＡによりコネクターＰＬ１を移動させることにより、コネクターＰＬ１の制御点Ｔを所定の待機位置に移動させ、制御点Ｔの姿勢を所定の待機姿勢に一致させる。
【００４６】
待機位置は、所定の作業においてロボット制御装置３０がロボット２０に行わせる動作のうち、コネクターＰＬ１をコネクターＰＬ２に近づける動作である第１挿入動作における制御点Ｔの始点を示す位置である。また、所定の待機姿勢は、この一例において、制御点座標系ＣＣにおけるＺ軸の正方向がロボット座標系ＲＣにおけるＹ軸の正方向と一致し、制御点座標系ＣＣにおけるＸ軸の正方向がロボット座標系ＲＣにおけるＸ軸の正方向と一致する姿勢である。以下では、一例として、制御点Ｔの姿勢が、予め待機姿勢と一致している場合について説明する。この場合、ロボット制御装置３０は、現在の制御点Ｔの位置から待機位置まで制御点Ｔを移動させる間において制御点Ｔの姿勢を保持させたまま移動させる構成であってもよく、当該間において制御点Ｔの姿勢を変化させながら制御点Ｔの位置を待機位置に移動させる構成であってもよい。
【００４７】
なお、固定状態が、コネクターＰＬ１を重力方向と直交する方向に規制させていない状態であってロボット２０がコネクターＰＬ１を重力方向と、重力方向と反対方向とからコネクターＰＬ１を挟んだ状態である場合、ロボット制御装置３０は、現在の制御点Ｔの位置から待機位置まで制御点Ｔを移動させる間において制御点Ｔの姿勢を保持させたまま移動させる構成であることが望ましい。このようにすることにより、ロボット制御装置３０は、アームＡによるコネクターＰＬ１の移動において重力によりエンドエフェクターＥとコネクターＰＬ１との相対的な位置関係が重力方向と直交する方向へずれてしまうことを抑制することができる。
【００４８】
また、挿入部ＰＬ２１の位置は、この一例において、挿入部ＰＬ２１の先端部の中心の位置によって表される。挿入部ＰＬ２１の先端部は、挿入部ＰＬ２１の端部のうちのコネクターＰＬ１が挿入される側の端部のことである。挿入部ＰＬ２１の先端部は、治具Ｇに支持された状態において第１方向Ａ１と直交する面を有する。当該面の形状は、例えば、長方形である。すなわち、この一例における挿入部ＰＬ２１の先端部の中心は、当該長方形の図心のことである。なお、挿入部ＰＬ２１の位置は、これに代えて、当該図心に対応付けられた他の位置であってもよい。
【００４９】
なお、ロボット制御装置３０に予め記憶された位置情報は、挿入部ＰＬ２１の位置を示す情報に代えて、基準となる位置である基準位置から挿入部ＰＬ２１の位置までの相対的な位置を示す情報であってもよい。例えば、ロボット２０が架台に設置されている場合であり、ロボット２０が設置されている架台とコネクターＰＬ２を支持している治具Ｇが設置されている架台とが異なる架台であった場合、ロボット制御装置３０に予め記憶された位置情報が示す挿入部ＰＬ２１の位置と、現在の挿入部ＰＬ２１の位置とは、振動等によってずれてしまうことがある。また、ロボット制御装置３０に挿入部ＰＬ２１の位置を記憶させる教示を行う場合、周囲に干渉してしまう他の物体が存在している等の理由により当該教示が行えないことがある。
【００５０】
この場合、治具Ｇが設置されている架台に基準位置を設け、当該基準位置から挿入部ＰＬ２１までの相対的な位置を示す情報を予めロボット制御装置３０に記憶させておくことにより、ロボット制御装置３０は、当該基準位置のみを改めて記憶させることによって、所定の作業を行うことができる。その結果、ユーザーは、ロボット制御装置３０に、挿入部ＰＬ２１の位置を記憶させることなく、所定の作業を行わせることができる。
【００５１】
ロボット制御装置３０は、アームＡにより制御点Ｔを第１挿入動作における始点である待機位置に移動させた後、ロボット２０に第１挿入動作を行わせることによりコネクターＰＬ１をコネクターＰＬ２に近づけさせ始める。具体的には、ロボット制御装置３０は、アームＡによりコネクターＰＬ１をコネクターＰＬ１とコネクターＰＬ２とが近づく方向である第１方向Ａ１に移動させ始める。第１挿入動作が行われている間、ロボット制御装置３０は、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したか否かを力検出情報に基づいて判定することを繰り返す。
【００５２】
ロボット制御装置３０は、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触していないと力検出情報に基づいて判定し続けている限り、ロボット２０に第１挿入動作を継続させ続ける。そして、ロボット制御装置３０は、アームＡによりコネクターＰＬ１を挿入部ＰＬ２１に挿入させる。
【００５３】
一方、ロボット制御装置３０は、第１挿入動作が行われている間に、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したと力検出情報に基づいて判定した場合、アームＡによりコネクターＰＬ１とコネクターＰＬ２とを離間させる。
【００５４】
これにより、ロボット制御装置３０は、コネクターＰＬ２が備える挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触した場合にコネクターＰＬ１及びコネクターＰＬ２を変形させてしまうことを抑制することができる。
【００５５】
また、ロボット制御装置３０は、コネクターＰＬ１とコネクターＰＬ２とを離間させる際、過去に制御点Ｔが待機位置に待機したタイミングのうちの直近のタイミングにおける待機位置とは異なる位置を新たな待機位置として、当該待機位置に制御点Ｔを移動させる。これにより、ロボット制御装置３０は、コネクターＰＬ１とコネクターＰＬ２とを離間させるとともに、過去の待機位置と挿入部ＰＬ２１の位置との相対的な位置関係を、新たな待機位置と挿入部ＰＬ２１との相対的な位置関係に変化させる。すなわち、ロボット制御装置３０は、コネクターＰＬ１とコネクターＰＬ２とを離間させるたびに、第１挿入動作における制御点Ｔの始点を過去の当該始点とは異なる始点に変更させる。そして、ロボット制御装置３０は、ロボット２０に再び第１挿入動作を行わせることにより、コネクターＰＬ１をコネクターＰＬ２に近づけさせる。
【００５６】
このように、ロボット制御装置３０は、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したと力検出情報に基づいて判定した場合であっても、アームＡによりコネクターＰＬ１をコネクターＰＬ２に近づけることとコネクターＰＬ１をコネクターＰＬ２から離間させることとを繰り返すことによって、コネクターＰＬ１とコネクターＰＬ２とのうちいずれか一方又は両方を変形させてしまうことを抑制しつつ、コネクターＰＬ１を挿入部ＰＬ２１に挿入することができる。
【００５７】
以下では、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したと力検出情報に基づいて判定した場合に、ロボット制御装置３０がコネクターＰＬ１とコネクターＰＬ２とを離間させる処理について詳しく説明する。
【００５８】
＜コネクターの規格の具体例＞
以下、図４を参照し、コネクターＰＬ１及びコネクターＰＬ２の規格の具体例について説明する。図４は、コネクターＰＬ１及びコネクターＰＬ２の規格の具体例を示す図である。図４に示したように、コネクターＰＬ１及びコネクターＰＬ２の規格は、例えば、ＵＳＢ−Ａ型やＨＤＭＩ（High-Definition  Multimedia  Interface、登録商標）である。
【００５９】
コネクターＰＬ１及びコネクターＰＬ２の規格がＵＳＢ−Ａ型である場合、コネクターＰＬ１をコネクターＰＬ２の挿入部ＰＬ２１に挿入するのに要する圧力は、例えば、１０〜１５ニュートンである。また、この圧力を発生させるためにエンドエフェクターＥがコネクターＰＬ１の把持に要する圧力である把持圧力は、例えば、１０．３ニュートンである。
【００６０】
また、コネクターＰＬ１及びコネクターＰＬ２の規格がＨＤＭＩ（登録商標）である場合、コネクターＰＬ１をコネクターＰＬ２の挿入部ＰＬ２１に挿入するのに要する圧力は、例えば、４０〜４５ニュートンである。また、この圧力を発生させるためにエンドエフェクターＥがコネクターＰＬ１の把持に要する圧力である把持圧力は、例えば、１４ニュートンである。
【００６１】
なお、コネクターＰＬ１及びコネクターＰＬ２の規格は、ＵＳＢ−Ａ型やＨＤＭＩ（登録商標）に代えて、他の規格であってもよい。
【００６２】
＜ロボット制御装置のハードウェア構成＞
以下、図５を参照し、ロボット制御装置３０のハードウェア構成について説明する。図５は、ロボット制御装置３０のハードウェア構成の一例を示す図である。ロボット制御装置３０は、例えば、ＣＰＵ（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）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１１４】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１１５】
１…ロボットシステム、２０…ロボット、２１…力検出部、３０…ロボット制御装置、３１…ＣＰＵ、３２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、４０…力検出情報取得部、４２…接触判定部、４４…位置情報読出部、４６…待機位置情報読出部、４８…ロボット制御部
【図１】
2017196705.tif 000003
【図２】
2017196705.tif 000004
【図３】
2017196705.tif 000005
【図４】
2017196705.tif 000006
【図５】
2017196705.tif 000007
【図６】
2017196705.tif 000008
【図７】
2017196705.tif 000009
【図８】
2017196705.tif 000010
【図９】
2017196705.tif 000011
【図１０】
2017196705.tif 000012
【図１１】
2017196705.tif 000013
【図１２】
2017196705.tif 000014
【図１３】
2017196705.tif 000015
【図１４】
2017196705.tif 000016
【図１５】
2017196705.tif 000017
【図１６】
2017196705.tif 000018
【図１７】
2017196705.tif 000019