(57)【特許請求の範囲】
【請求項１】
アームと、
前記アームに備えられ、力を検出する力検出器と、
を備え、
前記アームにより第１対象物を第２対象物に近づけ、前記第２対象物が備え、前記第１対象物が挿入される挿入部とは異なる非挿入部位置に前記第１対象物が接触したことを前記力検出器の出力に基づいて判定した場合、前記第１対象物を前記第２対象物から離間させ、前記非挿入部位置への前記第１対象物の接触、及び前記第１対象物と前記第２対象物との離間を２回以上行う場合、前記第１対象物を前記挿入部に挿入する挿入方向に向かって見て、移動距離を拡げながら前記第１対象物を螺旋状に移動させる、
ロボット。
【請求項２】
前記非挿入部位置に前記第１対象物が接触したと判定した場合、前記第１対象物を前記挿入部に挿入する挿入方向と逆の方向以外の方向に前記第１対象物を前記第２対象物から離間させる、
請求項１に記載のロボット。
【請求項３】
前記非挿入部位置に前記第１対象物が接触したと判定した場合、前記非挿入部位置からの前記第１対象物の移動の軌跡を直線にして、前記第１対象物を前記挿入部に挿入する挿入方向と逆の方向以外の方向に前記第１対象物を前記第２対象物から離間させる、
請求項１又は２に記載のロボット。
【請求項４】
アームと、
前記アームに備えられ、力を検出する力検出器と、
を備え、
前記アームにより第２対象物を第１対象物に近づけ、前記第２対象物が備える挿入部とは異なる非挿入部位置に前記第１対象物が接触したことを前記力検出器の出力に基づいて判定した場合、前記第２対象物を前記第１対象物から離間させ、前記非挿入部位置への前記第１対象物の接触、及び前記第１対象物と前記第２対象物との離間を２回以上行う場合、前記第１対象物を前記挿入部に挿入する挿入方向に向かって見て、移動距離を拡げながら前記第２対象物を螺旋状に移動させる、
ロボット。
【請求項５】
前記非挿入部位置に前記第１対象物が接触したと判定した場合、前記第１対象物を前記挿入部に挿入する挿入方向と逆の方向以外の方向に前記第２対象物を前記第１対象物から離間させる、
請求項４に記載のロボット。
【請求項６】
前記非挿入部位置に前記第１対象物が接触したと判定した場合、前記第２対象物の移動の軌跡を直線にして、前記第１対象物を前記挿入部に挿入する挿入方向と逆の方向以外の方向に前記第２対象物を前記第１対象物から離間させる、
請求項４又は５に記載のロボット。
【請求項７】
請求項１から６のうちいずれか一項に記載のロボットと、
前記ロボットを制御するロボット制御装置と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット、及びロボットシステムに関する。
【背景技術】
【０００２】
２つの物体を嵌合させるロボットの研究や開発が行われている。
【０００３】
これに関し、第１のワークを第２のワークへ嵌合させる所定の作業である嵌合作業を、第１のワークを第２のワークへ接触させる接触動作と、第１のワークで第２のワークの形状を探る探り動作と、第１のワークを第２のワークへ挿入する挿入動作との３つの動作によって行うロボットが知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１６６６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなロボットでは、第１のワークを第２のワークに接触させたまま第１のワークを動かして第２のワークの形状を探るため、第１のワークと第２のワークとのうちいずれか一方又は両方を変形させてしまう場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、アームと、前記アームに備えられ、力を検出する力検出器と、を備え、前記アームにより第１対象物又は第２対象物の少なくとも一方を前記第１対象物と前記第２対象物とが近づく方向に移動させ、前記第２対象物が備える挿入部とは異なる位置に前記第１対象物が接触したことを前記力検出器の出力に基づいて判定した場合、前記第１対象物と前記第２対象物とを離間させる、ロボットである。
この構成により、ロボットは、アームにより第１対象物又は第２対象物の少なくとも一方を第１対象物と第２対象物とが近づく方向に移動させ、第２対象物が備える挿入部とは異なる位置に第１対象物が接触したことを力検出器の出力に基づいて判定した場合、第１対象物と第２対象物とを離間させる。これにより、ロボットは、第２対象物が備える挿入部とは異なる位置に第１対象物が接触した場合に第１対象物及び第２対象物を変形させてしまうことを抑制することができる。
【０００７】
また、本発明の他の態様は、ロボットにおいて、前記位置に前記第１対象物が接触したと判定した場合、前記第１対象物と前記第２対象物とが離れる方向のうち前記近づく方向と逆の方向以外の方向に、前記第１対象物又は前記第２対象物の少なくとも一方を移動させ、前記第１対象物と前記第２対象物とを離間させる、構成が用いられてもよい。
この構成により、ロボットは、第２対象物が備える挿入部とは異なる位置に第１対象物が接触したと判定した場合、第１対象物と第２対象物とが離れる方向のうち第１対象物と第２対象物とが近づく方向と逆の方向以外の方向に、第１対象物又は第２対象物の少なくとも一方を移動させ、第１対象物と第２対象物とを離間させる。これにより、ロボットは、第１対象物又は第２対象物の少なくとも一方を、前回の位置であって第１対象物と第２対象物とが近づく方向に移動させ始めた位置と異なる位置から当該方向に移動させ始めることができる。
【０００８】
また、本発明の他の態様は、ロボットにおいて、前記位置に前記第１対象物が接触したと判定した場合、前記第１対象物又は前記第２対象物の少なくとも一方を、前記第１対象物と前記第２対象物とが離れる方向のうち前記近づく方向と逆の方向以外の方向に前記位置から移動の軌跡を直線にして移動させ、前記第１対象物と前記第２対象物とを離間させる、構成が用いられてもよい。
この構成により、ロボットは、第２対象物が備える挿入部とは異なる位置に第１対象物が接触したと判定した場合、第１対象物又は第２対象物の少なくとも一方を、第２対象物が備える挿入部とは異なる位置から移動の軌跡を直線にして、第１対象物と第２対象物とが離れる方向のうち第１対象物と第２対象物とが近づく方向と逆の方向以外の方向に移動させ、第１対象物と第２対象物とを離間させる。これにより、ロボットは、第１対象物又は第２対象物の少なくとも一方を、第１対象物と第２対象物とを離間させてから、第１対象物と第２対象物とが近づく方向に再び移動させ始める位置まで移動させるのに要する時間を短縮することができる。
【０００９】
また、本発明の他の態様は、ロボットにおいて、前記第２対象物の挿入部と異なる位置への前記第１対象物の接触、及び前記第１対象物と前記第２対象物との離間を２回以上行う場合、前記近づく方向に向かって見て、前記第１対象物又は前記第２対象物の少なくとも一方を螺旋状に移動させる、構成が用いられてもよい。
この構成により、ロボットは、第２対象物の挿入部と異なる位置への第１対象物の接触、及び第１対象物と第２対象物との離間を２回以上行う場合、第１対象物と第２対象物とが近づく方向に向かって見て、第１対象物又は第２対象物の少なくとも一方を螺旋状に移動させる。これにより、ロボットは、第１対象物と第２対象物とが近づく方向に移動させ始める位置であって第１対象物と第２対象物の挿入部との相対的な位置を螺旋状に変化させながら第１対象物が第２対象物の挿入部に挿入することが可能な位置を探すことができる。
【００１０】
また、本発明の他の態様は、ロボットにおいて、前記第１対象物は電子部品である、構成が用いられてもよい。
この構成により、ロボットは、アームにより電子部品又は第２対象物の少なくとも一方を電子部品と第２対象物とが近づく方向に移動させ、第２対象物が備える挿入部とは異なる位置に電子部品が接触したことを力検出器の出力に基づいて判定した場合、電子部品と第２対象物とを離間させる。これにより、ロボットは、第２対象物が備える挿入部とは異なる位置に電子部品が接触した場合に電子部品及び第２対象物を変形させてしまうことを抑制することができる。
【００１１】
また、本発明の他の態様は、ロボットにおいて、基準となる位置である基準位置を教示することにより、前記第１対象物又は前記第２対象物の少なくとも一方を前記近づく方向に移動させる、構成が用いられてもよい。
この構成により、ロボットは、基準となる位置である基準位置を教示することにより、第１対象物又は第２対象物の少なくとも一方を第１対象物と第２対象物とが近づく方向に移動させる。これにより、ロボットは、基準位置を教示することにより第１対象物又は第２対象物の少なくとも一方を第１対象物と第２対象物とが近づく方向に移動させることができる。
【００１２】
また、本発明の他の態様は、上記に記載のロボットと、前記ロボットを制御するロボット制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムは、アームにより第１対象物又は第２対象物の少なくとも一方を第１対象物と第２対象物とが近づく方向に移動させ、第２対象物が備える挿入部とは異なる位置に第１対象物が接触したことを力検出器の出力に基づいて判定した場合、第１対象物と第２対象物とを離間させる。これにより、ロボットシステムは、第２対象物が備える挿入部とは異なる位置に第１対象物が接触した場合に第１対象物及び第２対象物を変形させてしまうことを抑制することができる。
【００１３】
以上により、ロボット、及びロボットシステムは、アームにより第１対象物又は第２対象物の少なくとも一方を第１対象物と第２対象物とが近づく方向に移動させ、第２対象物が備える挿入部とは異なる位置に第１対象物が接触したことを力検出器の出力に基づいて判定した場合、第１対象物と第２対象物とを離間させる。これにより、ロボット、及びロボットシステムは、第２対象物が備える挿入部とは異なる位置に第１対象物が接触した場合に第１対象物及び第２対象物を変形させてしまうことを抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】コンデンサーＥＰの面のうちのピンＰ１及びピンＰ２の両方が設けられた面と水平な方向からコンデンサーＥＰを見た場合のコンデンサーＥＰの一例を示す図である。
【図３】基板Ｂの面のうちのピンＰ１が挿入される側の面の一例を示す図である。
【図４】図３に示した基板Ｂの側面図である。
【図５】ロボット制御装置３０のハードウェア構成の一例を示す図である。
【図６】ロボット制御装置３０の機能構成の一例を示す図である。
【図７】第１実施形態におけるロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
【図８】制御点Ｔ１が初回の第１挿入動作における第１待機位置に移動した場合のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。
【図９】第１挿入動作が開始された直後のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。
【図１０】第１終了条件が満たされている場合におけるコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。
【図１１】穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触した場合におけるコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。
【図１２】第１離間動作が行われた後のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。
【図１３】第１挿入動作と第１離間動作とを２回以上行う場合に、第１方向から見た場合に、第１挿入動作を行うたびに変化する第１待機位置であって基板ＢのピンＰ１を挿入される側の面上に射影される位置の一例を、穴Ｈ１の中心を原点とした二次元グラフにプロットした図である。
【図１４】ステップＳ１５０において制御点Ｔ２が初回の第２挿入動作における第２待機位置に移動した後のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。
【図１５】第２挿入動作が開始された直後のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。
【図１６】第２終了条件が満たされている場合におけるコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。
【図１７】第３挿入動作が行われた後のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。
【図１８】穴Ｈ２とは異なる位置にコンデンサーＥＰ（のピンＰ２）が接触した場合におけるコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。
【図１９】図１８に示した状態におけるコンデンサーＥＰと基板Ｂとを、基板Ｂの面のうちのピンＰ１及びピンＰ２が挿入される側と反対側の面を第１方向と逆の方向から見た底面図である。
【図２０】第２離間動作が行われた後のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。
【図２１】第２実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２２】コネクターＰＬ１及びコネクターＰＬ２の規格の具体例を示す図である。
【図２３】第２実施形態におけるロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
【図２４】制御点Ｔ３が初回の第４挿入動作における第３待機位置に移動した場合のコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。
【図２５】第４挿入動作が開始された直後のコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。
【図２６】第３終了条件が満たされている場合におけるコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。
【図２７】第５挿入動作が行われた後のコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。
【図２８】挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触した場合におけるコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。
【図２９】第３離間動作が行われた後のコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。
【発明を実施するための形態】
【００１５】
＜第１実施形態＞
以下、本発明の第１実施形態について、図面を参照して説明する。
【００１６】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、第１実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット２０と、ロボット制御装置３０を備える。
ロボット２０は、アームと、アームを支持する支持台を備える単腕ロボットである。
【００１７】
単腕ロボットは、この一例における１本のアーム（腕）を備えるロボットである。なお、ロボット２０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２本以上のアームを備えるロボットである。なお、複腕ロボットのうち、２本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット２０は、２本のアームを備える双腕ロボットであってもよく、３本以上のアームを備える複腕ロボットであってもよい。
【００１８】
アームは、エンドエフェクターＥと、マニピュレーターＭと、力検出部２１を備える。
エンドエフェクターＥは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、磁石や治具等によって物体を持ち上げることが可能な他のエンドエフェクターであってもよい。
【００１９】
エンドエフェクターＥは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、エンドエフェクターＥは、ロボット制御装置３０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（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）等のハードウェア機能部であってもよい。
【００６７】
力検出情報取得部４０は、力検出部２１から力検出情報を取得する。
接触判定部４２は、力検出情報取得部４０が取得した力検出情報に基づいて、第２対象物が備える挿入部（例えば、上述の穴Ｈ１及び穴Ｈ２）と異なる位置に第１対象物が接触したか否かを判定する。
【００６８】
位置情報読出部４４は、記憶部３２から位置情報を読み出す。
待機位置情報読出部４６は、記憶部３２から第１待機位置情報及び第２待機位置情報を読み出す。
【００６９】
ロボット制御部４８は、力検出情報取得部４０が取得した力検出情報と、接触判定部４２が判定した判定結果と、位置情報読出部４４が記憶部３２から読み出した位置情報と、待機位置情報読出部４６が記憶部３２から読み出した第１待機位置情報及び第２待機位置情報との一部又は全部に基づいて、ロボット２０を動作させる。
【００７０】
＜ロボット制御装置がロボットに所定の作業を行わせる処理＞
以下、図７を参照し、第１実施形態におけるロボット制御装置３０がロボット２０に所定の作業を行わせる処理について説明する。図７は、第１実施形態におけるロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
【００７１】
位置情報読出部４４は、記憶部３２から位置情報を読み出す（ステップＳ１００）。次に、待機位置情報読出部４６は、記憶部３２から第１待機位置情報及び第２待機位置情報を読み出す（ステップＳ１１０）。次に、ロボット制御部４８は、ステップＳ１００において位置情報読出部４４が記憶部３２から読み出した位置情報が示す穴Ｈ１の位置と、待機位置情報読出部４６が記憶部３２から読み出した第１待機位置情報とに基づいて、制御点Ｔ１を初回の第１待機位置へ移動させるとともに、第１待機位置における制御点Ｔ１の姿勢を所定の待機姿勢と一致させる（ステップＳ１２０）。そして、ロボット制御部４８は、第１挿入動作の実行順を示す情報が０を示すように初期化し、当該情報を記憶する。ここで、図８を参照し、ステップＳ１２０の処理について説明する。
【００７２】
図８は、制御点Ｔ１が１回目の第１挿入動作における第１待機位置に移動した場合のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。図８に示したように、１回目の第１挿入動作における第１待機位置は、基板Ｂの面のうちのピンＰ１が挿入される側の面に直交する方向に延伸する穴Ｈ１の中心軸ＣＡ上において、当該面からコンデンサーＥＰ側に向かって距離Ｌ７（単位は、例えば、ミリメートル）だけ離れた位置である。距離Ｌ７は、例えば、１０ミリメートルである。なお、距離Ｌ７は、これに代えて、他の距離であってもよい。
【００７３】
また、所定の待機姿勢は、第１挿入動作において、コンデンサーＥＰをコンデンサーＥＰと基板Ｂとが近づく方向である第１方向に移動させた場合に、ピンＰ１を穴Ｈ１に挿入させることが可能な姿勢である。具体的には、所定の待機姿勢は、ピンＰ１の中心軸であってピンＰ１が設けられたコンデンサーＥＰの面に直交する方向に延伸する中心軸と、中心軸ＣＡとが一致する姿勢である。すなわち、第１挿入動作における第１方向は、この一例において、中心軸ＣＡに沿ってコンデンサーＥＰと基板Ｂとが近づく方向である。
【００７４】
次に、ロボット制御部４８は、ロボット２０に第１挿入動作を開始させる（ステップＳ１３０）。ここで、図９を参照し、ステップＳ１３０の処理について説明する。図９は、第１挿入動作が開始された直後のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。図９に示したように、ロボット制御部４８は、アームによりコンデンサーＥＰをコンデンサーＥＰと基板Ｂとが近づく方向である第１方向Ｆ１に沿って移動させ始める。第１方向Ｆ１は、前述したように、中心軸ＣＡに沿ってコンデンサーＥＰと基板Ｂとが近づく方向である。また、第１挿入動作において、ロボット制御部４８は、力検出情報取得部４０が力検出部２１から取得した力検出情報に基づく制御によって第１挿入動作を行う。
【００７５】
次に、接触判定部４２は、力検出情報取得部４０が力検出部２１から取得した力検出情報に基づいて、ステップＳ１３０から開始された第１挿入動作において、穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触したか否かを判定する（ステップＳ１４０）。接触判定部４２は、力検出部２１から取得した力検出情報に基づいて、ピンＰ１が設けられたコンデンサーＥＰの面に直交する方向の力であってピンＰ１に加わった力が、所定の第１閾値以上であると判定した場合、穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触したと判定する。第１閾値は、ピンＰ１が座屈し始める荷重未満の力である。一方、接触判定部４２は、力検出部２１から取得した力検出情報に基づいて、ピンＰ１が設けられたコンデンサーＥＰの面に直交する方向の力であってピンＰ１に加わった力が、所定の第１閾値未満であると判定した場合、穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触していないと判定する。穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触していないと接触判定部４２が判定した場合（ステップＳ１４０−Ｎｏ）、ロボット制御部４８は、第１挿入動作を終了させるための条件である第１終了条件が満たされたか否かを判定する（ステップＳ１４５）。ここで、図１０を参照し、第１終了条件について説明する。
【００７６】
図１０は、第１終了条件が満たされている場合におけるコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。第１終了条件は、この一例において、前述の中心軸ＣＡ上における制御点Ｔ１の位置が、基板Ｂの面のうちのピンＰ１が挿入される側の面から第１方向Ｆ１側に距離Ｌ８（単位は、例えば、ミリメートル）以上離れていることである。図１０に示した例では、中心軸ＣＡ上における制御点Ｔ１の位置は、当該面から第１方向Ｆ１側に距離Ｌ８だけ離れている。距離Ｌ８は、例えば、１０ミリメートルである。なお、距離Ｌ８は、これに代えて、他の距離であってもよい。また、第１終了条件は、これに代えて、他の条件であってもよい。
【００７７】
ステップＳ１４５において、第１終了条件が満たされていないとロボット制御部４８が判定した場合（ステップＳ１４５−Ｎｏ）、接触判定部４２は、ステップＳ１４０に遷移し、穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触したか否かを再び判定する。一方、第１終了条件が満たされたと判定した場合（ステップＳ１４５−Ｙｅｓ）、ロボット制御部４８は、第１方向Ｆ１に向かう制御点Ｔ１の移動を停止させ、第１挿入動作を終了させる。そして、ロボット制御部４８は、ステップＳ１００において位置情報読出部４４が記憶部３２から読み出した位置情報が示す穴Ｈ２の位置と、ステップＳ１１０において待機位置情報読出部４６が記憶部３２から読み出した第２待機位置情報に基づいて、制御点Ｔ２を、１回目の第２待機位置へ移動させる（ステップＳ１５０）。
【００７８】
一方、ステップＳ１４０において、穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触したと接触判定部４２が判定した場合（ステップＳ１４０−Ｙｅｓ）、ロボット制御部４８は、所定の作業における第１挿入動作の実行順を示す情報が示す実行順を、１だけ増加させる。そして、ロボット制御部４８は、ステップＳ１００において位置情報読出部４４が記憶部３２から読み出した位置情報が示す穴Ｈ１の位置と、ステップＳ１１０において待機位置情報読出部４６が記憶部３２から読み出した第１待機位置情報と、当該実行順を示す情報とに基づいて、当該情報が示す実行順に応じた第１待機位置を特定する。ロボット制御部４８は、特定した第１待機位置に基づいて、アームによりコンデンサーＥＰを、コンデンサーＥＰと基板Ｂとが離れる方向のうち第１方向と逆の方向以外の方向に移動させることにより、コンデンサーＥＰと基板Ｂとを離間させるとともに、制御点Ｔ１を当該第１待機位置に移動させる第１離間動作をロボット２０に行わせる（ステップＳ１８０）。ステップＳ１８０において第１離間動作が行われた後、ロボット制御部４８は、ステップＳ１３０に遷移し、再び第１挿入動作を開始する。ここで、図１１及び図１２を参照し、穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触した場合におけるコンデンサーＥＰと基板Ｂとの状態と、ステップＳ１８０における第１離間動作とについて説明する。
【００７９】
図１１は、穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触した場合におけるコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。コンデンサーＥＰのピンＰ１は、ステップＳ１３０において制御点Ｔ１を１回目の第１挿入動作における第１待機位置に移動させた場合であっても、アームの剛性による誤差や、基板Ｂが設置された位置に関する誤差等の誤差によって、ピンＰ１が穴Ｈ１とは異なる位置に接触してしまう場合がある。図１１に示した状態は、このような誤差によってピンＰ１が穴Ｈ１とは異なる位置に接触してしまった状態の一例を示している。ステップＳ１４０において、図１１に示したように穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触したと接触判定部４２が判定した場合、ロボット制御部４８は、図１２に示すように、ステップＳ１８０において第１離間動作を行う。
【００８０】
図１２は、第１離間動作が行われた後のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。図１２に示したように、ロボット制御部４８は、制御点Ｔ１（すなわち、コンデンサーＥＰ）を、コンデンサーＥＰと基板Ｂとが離れる方向のうち第１方向と逆の方向（すなわち、中心軸ＣＡに沿った方向）以外の方向Ｆ２に移動させることにより、コンデンサーＥＰと基板Ｂとを離間させるとともに、制御点Ｔ１を前回の第１待機位置と異なる第１待機位置に移動させる第１離間動作をロボット２０に行わせる。当該第１待機位置は、１回目の第１挿入動作における第１待機位置の場合と同様に、基板Ｂの面のうちのピンＰ１が挿入される側の面から第１方向Ｆ１と逆の方向側に距離Ｌ７だけ離れた位置である。しかし、第１離間動作の後において、当該面上を第１方向に向かって見た場合、次の（今回の）第１待機位置の当該面上に射影される位置は、前回の第１挿入動作における第１待機位置の当該面上に射影される位置と異なる位置である。なお、図１２に示した例では、第１離間動作が行われた後、当該面上を第１方向Ｆ１に向かって見た場合、第１待機位置の当該面上に射影される位置が、当該面上に穴Ｈ１の中心と一致している。
【００８１】
また、ロボット制御部４８は、第１離間動作において、制御点Ｔ１を、制御点Ｔ１が接触していた位置であって穴Ｈ１と異なる位置から移動の軌跡を直線にして、コンデンサーＥＰと基板Ｂとが離れる方向のうち第１方向Ｆ１と逆の方向以外の方向に移動させ、コンデンサーＥＰと基板Ｂとを離間させる。これにより、ロボット制御部４８は、コンデンサーＥＰを、コンデンサーＥＰと基板Ｂとを離間させてから、コンデンサーＥＰと基板Ｂとが近づく方向に再び移動させ始める位置（すなわち、第１待機位置）まで移動させるのに要する時間を短縮することができる。なお、ロボット制御部４８は、第１離間動作において、制御点Ｔ１を、制御点Ｔ１が接触していた位置であって穴Ｈ１と異なる位置から移動の軌跡を直線以外の軌跡にして、コンデンサーＥＰと基板Ｂとが離れる方向のうち第１方向Ｆ１と逆の方向以外の方向に移動させ、コンデンサーＥＰと基板Ｂとを離間させる構成であってもよい。
【００８２】
また、この一例において、第１挿入動作と第１離間動作とを２回以上行う場合、すなわち、穴Ｈ１と異なる位置へのコンデンサーＥＰ（のピンＰ１）の接触、及びコンデンサーＥＰと基板Ｂとの離間を２回以上行う場合、ロボット制御部４８は、図１３に示すように、第１待機位置情報に基づいて、第１待機位置を螺旋状の軌跡に沿って変化させる。当該螺旋状の軌跡は、第１待機位置の軌跡のうち、基板Ｂの面のうちのピンＰ１が挿入される側の面上に第１待機位置を射影した場合における軌跡である。図１３は、第１挿入動作と第１離間動作とを２回以上行う場合に、第１挿入動作を行うたびに変化する第１待機位置であって基板ＢのピンＰ１を挿入される側の面上に射影される位置の一例を、穴Ｈ１の中心を原点とした二次元グラフにプロットした図である。
【００８３】
図１３に示したように、初回の第１挿入動作における第１待機位置を示す点ＰＰ０は、当該二次元グラフにおける原点に位置している。また、２回目の第１挿入動作における第１待機位置を示す点ＰＰ１は、当該二次元グラフにおける原点からＸ軸の正の方向及びＹ軸の正の方向にずれた点に位置している。また、３回目の第１挿入動作における第１待機位置を示す点ＰＰ１は、当該二次元グラフにおける点ＰＰ１からＸ軸の負の方向及びＹ軸の正の方向にずれた点に位置している。図１３に示した二次元グラフには、このような第１待機位置を示す点が２０点プロットされている。なお、点ＰＰ２０は、１９回目の第２挿入動作における第１待機位置を示す点である。このように、ロボット制御部４８は、第１挿入動作を行うたびに、第１待機位置情報に基づいて、第１待機位置を螺旋状の軌跡に沿って変化させる。
【００８４】
ステップＳ１５０の処理が行われた後、ロボット制御部４８は、第２挿入動作を開始する（ステップＳ１５５）。ここで、図１４及び図１５を参照し、ステップＳ１５０において制御点Ｔ２が１回目の第２挿入動作における第２待機位置に移動した後のコンデンサーＥＰと基板Ｂとの状態と、ステップＳ１５５の処理とについて説明する。
【００８５】
図１４は、ステップＳ１５０において制御点Ｔ２が１回目の第２挿入動作における第２待機位置に移動した後のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。図１４に示したように、１回目の第２挿入動作における第２待機位置は、基板Ｂの面のうちのピンＰ２が挿入される側の面に直交する方向に延伸する穴Ｈ２の中心軸ＣＡ２上において、当該面からコンデンサーＥＰ側に向かって距離Ｌ８（単位は、例えば、ミリメートル）だけ離れた位置である。距離Ｌ８は、例えば、５ミリメートルである。なお、距離Ｌ８は、これに代えて、他の距離であってもよい。
【００８６】
図１５は、第２挿入動作が開始された直後のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。図１５に示したように、ロボット制御部４８は、アームによりコンデンサーＥＰをコンデンサーＥＰと基板Ｂとが近づく方向である第１方向Ｆ１に沿って移動させ始める。第１方向Ｆ１は、前述したように、中心軸ＣＡに沿ってコンデンサーＥＰと基板Ｂとが近づく方向であるとともに、中心軸ＣＡ２に沿ってコンデンサーＥＰと基板Ｂとが近づく方向である。また、第２挿入動作において、ロボット制御部４８は、力検出情報取得部４０が力検出部２１から取得した力検出情報に基づく制御によって第２挿入動作を行う。
【００８７】
次に、接触判定部４２は、力検出情報取得部４０が力検出部２１から取得した力検出情報に基づいて、ステップＳ１５５から開始された第２挿入動作において、穴Ｈ２とは異なる位置にコンデンサーＥＰ（のピンＰ２）が接触したか否かを判定する（ステップＳ１６０）。接触判定部４２は、力検出部２１から取得した力検出情報に基づいて、ピンＰ２が設けられたコンデンサーＥＰの面に直交する方向の力であってピンＰ２に加わった力が、所定の第２閾値以上であると判定した場合、穴Ｈ２とは異なる位置にコンデンサーＥＰ（のピンＰ２）が接触したと判定する。第２閾値は、ピンＰ２が座屈し始める荷重未満の力である。一方、接触判定部４２は、力検出部２１から取得した力検出情報に基づいて、ピンＰ２が設けられたコンデンサーＥＰの面に直交する方向の力であってピンＰ２に加わった力が、所定の第２閾値未満であると判定した場合、穴Ｈ２とは異なる位置にコンデンサーＥＰ（のピンＰ２）が接触していないと判定する。穴Ｈ２とは異なる位置にコンデンサーＥＰ（のピンＰ２）が接触していないと接触判定部４２が判定した場合（ステップＳ１６０−Ｎｏ）、ロボット制御部４８は、第２挿入動作を終了させるための条件である第２終了条件が満たされたか否かを判定する（ステップＳ１６５）。ここで、図１６を参照し、第２終了条件について説明する。
【００８８】
図１６は、第２終了条件が満たされている場合におけるコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。第２終了条件は、この一例において、前述の中心軸ＣＡ２上における制御点Ｔ２の位置が、基板Ｂの面のうちのピンＰ２が挿入される側の面から第１方向Ｆ１側に距離Ｌ９（単位は、例えば、ミリメートル）以上離れていることである。図１６に示した例では、中心軸ＣＡ２上における制御点Ｔ２の位置は、当該面から第１方向Ｆ１側に距離Ｌ９だけ離れている。距離Ｌ９は、例えば、１０ミリメートルである。なお、距離Ｌ９は、これに代えて、他の距離であってもよい。また、第２終了条件は、これに代えて、他の条件であってもよい。
【００８９】
ステップＳ１６５において、第２終了条件が満たされていないとロボット制御部４８が判定した場合（ステップＳ１６５−Ｎｏ）、接触判定部４２は、ステップＳ１６０に遷移し、穴Ｈ２とは異なる位置にコンデンサーＥＰ（のピンＰ２）が接触したか否かを再び判定する。一方、第２終了条件が満たされたと判定した場合（ステップＳ１６５−Ｙｅｓ）、ロボット制御部４８は、第１方向Ｆ１に向かう制御点Ｔ２の移動を停止させ、第２挿入動作を終了させる。そして、ロボット制御部４８は、基板ＢのピンＰ１及びピンＰ２が挿入される側の面と、コンデンサーＥＰのピンＰ１及びピンＰ２が設けられている面とが接面するまでコンデンサーＥＰを第１方向Ｆ１に移動させる第３挿入動作をロボット２０に行わせ（ステップＳ１７０）、第１エンドエフェクターＥ１にコンデンサーＥＰを離させてからアームを所定の終了位置に移動させて処理を終了する。なお、ステップＳ１７０において、ロボット制御部４８は、基板ＢのピンＰ１及びピンＰ２が挿入される側の面と、コンデンサーＥＰのピンＰ１及びピンＰ２が設けられている面とが接面との間の間隔が所定の間隔と一致するまで、コンデンサーＥＰを第１方向Ｆ１に移動させる第３挿入動作をロボット２０に行わせる構成であってもよい。
【００９０】
ここで、図１７を参照し、ステップＳ１７０における第３挿入動作について説明する。図１７は、第３挿入動作が行われた後のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。図１７に示したように、ロボット制御部４８は、第３挿入動作において、基板ＢのピンＰ１及びピンＰ２が挿入される側の面と、コンデンサーＥＰのピンＰ１及びピンＰ２が設けられている面とが接面するまでコンデンサーＥＰを第１方向Ｆ１に移動させる。これにより、ロボット制御部４８は、コンデンサーＥＰと基板Ｂとを完全に組み付けることができる。なお、第３挿入動作は、これに代えて、他の動作であってもよい。
【００９１】
一方、ステップＳ１６０において、穴Ｈ２とは異なる位置にコンデンサーＥＰ（のピンＰ２）が接触したと接触判定部４２が判定した場合（ステップＳ１６０−Ｙｅｓ）、ロボット制御部４８は、所定の作業における第２挿入動作の実行順を示す情報が示す実行順を、１だけ増加させる。そして、ロボット制御部４８は、ステップＳ１００において位置情報読出部４４が記憶部３２から読み出した位置情報が示す穴Ｈ２の位置と、ステップＳ１１０において待機位置情報読出部４６が記憶部３２から読み出した第２待機位置情報と、当該実行順を示す情報とに基づいて、当該情報が示す実行順に応じた第２待機位置を特定する。ロボット制御部４８は、特定した第２待機位置に基づいて、アームによりコンデンサーＥＰを、コンデンサーＥＰと基板Ｂとが離れる方向のうち第１方向と逆の方向以外の方向に移動させることにより、コンデンサーＥＰと基板Ｂとを離間させるとともに、制御点Ｔ２を当該第２待機位置に移動させる第２離間動作をロボット２０に行わせる（ステップＳ１９０）。ステップＳ１９０において第２離間動作が行われた後、ロボット制御部４８は、ステップＳ１５０に遷移し、再び第２挿入動作を開始する。ここで、図１８〜図２０を参照し、穴Ｈ２とは異なる位置にコンデンサーＥＰ（のピンＰ２）が接触した場合におけるコンデンサーＥＰと基板Ｂとの状態と、ステップＳ１９０における第２離間動作とについて説明する。
【００９２】
図１８は、穴Ｈ２とは異なる位置にコンデンサーＥＰ（のピンＰ２）が接触した場合におけるコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。コンデンサーＥＰのピンＰ２は、ステップＳ１５０において制御点Ｔ２を１回目の第２挿入動作における第２待機位置に移動させた場合であっても、アームの剛性による誤差や、基板Ｂが設置された位置に関する誤差等の誤差によって、ピンＰ１が穴Ｈ１とは異なる位置に接触してしまう場合がある。図１８に示した状態は、このような誤差によってピンＰ２が穴Ｈ２とは異なる位置に接触してしまった状態の一例を示している。この場合、図１９に示したように、ロボット制御部４８は、ピンＰ１を回転軸として制御点Ｔ２を回転させることにより、コンデンサーＥＰを第１方向に移動させてピンＰ２を穴Ｈ２に挿入することができる位置まで制御点Ｔ２の位置を移動させることができる。図１９は、図１８に示した状態におけるコンデンサーＥＰと基板Ｂとを、基板Ｂの面のうちのピンＰ１及びピンＰ２が挿入される側と反対側の面を第１方向Ｆ１と逆の方向から見た底面図である。図１９に示した矢印ＣＦは、ピンＰ１を回転軸として制御点Ｔ２を回転させた場合における制御点Ｔ２の軌跡を表している。ステップＳ１６０において、穴Ｈ２とは異なる位置にコンデンサーＥＰ（のピンＰ２）が接触したと接触判定部４２が判定した場合、ロボット制御部４８は、図２０に示すように、ステップＳ１９０において第２離間動作を行う。
【００９３】
図２０は、第２離間動作が行われた後のコンデンサーＥＰと基板Ｂとの状態の一例を示す図である。図２０に示したように、ロボット制御部４８は、制御点Ｔ２（すなわち、コンデンサーＥＰ）を、コンデンサーＥＰと基板Ｂとが離れる方向のうち第１方向と逆の方向（すなわち、中心軸ＣＡ２に沿った方向）以外の方向に移動させることにより、コンデンサーＥＰと基板Ｂとを離間させるとともに、制御点Ｔ２を前回の第２待機位置と異なる第２待機位置に移動させる第２離間動作をロボット２０に行わせる。例えば、ロボット制御部４８は、制御点Ｔ２を第１方向Ｆ１と逆の方向に移動するようにコンデンサーＥＰを基板Ｂから離間させるとともに、ピンＰ１を回転軸として制御点Ｔ２を回転させる。図２０に示した矢印Ｆ４は、この制御点Ｔ２の回転の方向を表している。当該第２待機位置は、１回目の第２挿入動作における第２待機位置の場合と同様に、基板Ｂの面のうちのピンＰ２が挿入される側の面から第１方向Ｆ１と逆の方向側に距離Ｌ１０だけ離れた位置である。しかし、第２離間動作の後において、当該面上を第１方向から見た場合、次の（今回の）第２待機位置の当該面上に射影される位置は、前回の第２挿入動作における第２待機位置の当該面上に射影される位置と異なる位置である。なお、図２０に示した例では、第２離間動作が行われた後、当該面上を第１方向Ｆ１に向かって見た場合、第２待機位置の当該面上に射影される位置が、当該面上に穴Ｈ２の中心と一致している。
【００９４】
また、ロボット制御部４８は、第２離間動作において、制御点Ｔ２を、制御点Ｔ２が接触していた位置であって穴Ｈ２と異なる位置から移動の軌跡を直線にして、コンデンサーＥＰと基板Ｂとが離れる方向のうち第１方向Ｆ１と逆の方向以外の方向に移動させ、コンデンサーＥＰと基板Ｂとを離間させる。これにより、ロボット制御部４８は、コンデンサーＥＰを、コンデンサーＥＰと基板Ｂとを離間させてから、コンデンサーＥＰと基板Ｂとが近づく方向に再び移動させ始める位置（すなわち、第２待機位置）まで移動させるのに要する時間を短縮することができる。なお、ロボット制御部４８は、第２離間動作において、制御点Ｔ２を、制御点Ｔ２が接触していた位置であって穴Ｈ２と異なる位置から移動の軌跡を直線以外の軌跡にして、コンデンサーＥＰと基板Ｂとが離れる方向のうち第１方向Ｆ１と逆の方向以外の方向に移動させ、コンデンサーＥＰと基板Ｂとを離間させる構成であってもよい。
【００９５】
以上のように、ロボット制御装置３０は、コンデンサーＥＰと基板Ｂの両方を変形させてしまうことを抑制しつつ、コンデンサーＥＰのピンＰ１を基板Ｂの穴Ｈ１に挿入するとともに、コンデンサーＥＰのピンＰ２を基板Ｂの穴Ｈ２に挿入することができる。特に、この一例におけるコンデンサーＥＰのピンＰ１及びピンＰ２のようなピンは、４〜５ニュートン程度の力が加わることによって座屈してしまう場合がある。ロボット制御装置３０は、ロボット２０により、このような折れやすいピンを座屈させずに穴に挿入させることできる。このため、ロボット制御装置３０（又はロボット制御装置３０を内蔵したロボット２０）は、部品や製品の組み立て工場等において不良品を作り出さない作業を行うことができ、その結果、作業効率や生産性を向上させることができる。
【００９６】
ここで、発明者の実験によると、ロボット２０がピンＰ１を穴Ｈ１と異なる位置に接触させずに穴Ｈ１に挿入させるとともに、ピンＰ２を穴Ｈ２と異なる位置に接触させずに穴Ｈ２に挿入させることに成功した場合、ロボット２０がピンＰ１を穴Ｈ１に挿入させるとともにピンＰ２を穴Ｈ２に挿入させるのに要する時間の平均は、１．０５秒である。当該実験を複数回行った場合、ロボット２０がピンＰ１を穴Ｈ１に挿入させるとともにピンＰ２を穴Ｈ２に挿入させるのに要する時間は、複数回行われた当該実験のそれぞれ毎に異なる。そのため、当該平均は、当該実験を複数回行った際に得られた複数の実験結果の平均である。
【００９７】
また、当該実験によると、ロボット２０が１回目の第１挿入動作によって０．８ミリメートルだけ穴Ｈ１からずれた位置にピンＰ１を接触させた場合において、ロボット２０がピンＰ１を穴Ｈ１に挿入させるとともにピンＰ２を穴Ｈ２に挿入させるのに要する時間の平均は、１０．６６秒である。当該実験を複数回行った場合、ロボット２０が１回目の第１挿入動作によって０．８ミリメートルだけ穴Ｈ１からずれた位置にピンＰ１を接触させた際に行われる第１挿入動作の回数と、第４挿入動作の回数とはそれぞれ、複数回行われた当該実験のそれぞれ毎に異なる。そのため、当該平均は、当該実験を複数回行った際に得られた複数の実験結果の平均である。
【００９８】
なお、第１実施形態において、力検出部２１は、第１挿入動作及び第２挿入動作を行う前に、力検出部２１が検出している力を０に初期化する構成であってもよい。
【００９９】
また、ロボット制御装置３０は、アームにより基板ＢをコンデンサーＥＰと基板Ｂとが近づく方向に移動させ、基板Ｂが備える穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触したか否かを力検出情報に基づいて判定し、基板Ｂが備える穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触したと判定した場合、コンデンサーＥＰと基板Ｂとを離間させる構成であってもよい。この場合、エンドエフェクターＥは、コンデンサーＥＰに代えて、基板Ｂを把持する。
【０１００】
また、ロボット制御装置３０は、ロボット２０が複腕ロボットである場合、１本目のアームが備えるエンドエフェクターによりコンデンサーＥＰを把持し、２本目のアームが備えるエンドエフェクターにより基板Ｂを把持し、２本のアームによりコンデンサーＥＰと基板ＢとをコンデンサーＥＰと基板Ｂとが互いに近づく方向に移動させ、基板Ｂが備える穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触したことを力検出情報に基づいて判定し、基板Ｂが備える穴Ｈ１とは異なる位置にコンデンサーＥＰ（のピンＰ１）が接触したと判定した場合、コンデンサーＥＰと基板Ｂとを離間させる構成であってもよい。
【０１０１】
また、ロボット制御装置３０は、ロボットシステム１又はロボット２０が撮像部を備えている場合、撮像部により基板ＢのピンＰ１及びピンＰ２が挿入される側の面を含む撮像画像を撮像し、撮像した当該撮像画像に基づいて、穴Ｈ１と穴Ｈ２とのそれぞれの位置を検出する構成であってもよい。この場合、制御部３６は、位置情報読出部４４を備えていなくてもよい。
【０１０２】
また、ロボット制御装置３０は、ロボットシステム１又はロボット２０が撮像部を備えている場合であり、アームにより基板ＢをコンデンサーＥＰと基板Ｂとが近づく方向に移動させる場合、撮像部によりコンデンサーＥＰのピンＰ１及びピンＰ２を含む撮像画像を撮像し、撮像した当該撮像画像に基づいて、制御点Ｔ１と制御点Ｔ２とのそれぞれの位置を検出する構成であってもよい。
【０１０３】
また、ロボット制御装置３０は、ロボットシステム１又はロボット２０が撮像部を備えている場合であり、ロボット２０が複腕ロボットであって、１本目のアームが備えるエンドエフェクターによりコンデンサーＥＰを把持し、２本目のアームが備えるエンドエフェクターにより基板Ｂを把持し、２本のアームによりコンデンサーＥＰと基板ＢとをコンデンサーＥＰと基板Ｂとが互いに近づく方向に移動させる場合、撮像部によりコンデンサーＥＰのピンＰ１及びピンＰ２、及び基板Ｂの穴Ｈ１及び穴Ｈ２を含む撮像画像を撮像し、撮像した当該撮像画像に基づいて、制御点Ｔ１及び制御点Ｔ２、又は穴Ｈ１及び穴Ｈ２との少なくとも一方の位置を検出する構成であってもよい。
【０１０４】
また、第１対象物と第２対象物との組み合わせは、コンデンサーＥＰと基板Ｂとの組み合わせに代えて、互いに嵌合される２つの対象物の組み合わせであれば如何なる組み合わせであってもよい。
【０１０５】
＜第２実施形態＞
以下、本発明の第２実施形態について、図面を参照して説明する。なお、第２実施形態におけるロボット２０の構成は、第１実施形態におけるロボット２０の構成と同様な構成であるため、説明を省略する。
【０１０６】
＜ロボットが行う所定の作業の概要＞
以下、第２実施形態においてロボット２０が行う所定の作業の概要について説明する。
図２１は、第２実施形態に係るロボットシステム１の構成の一例を示す図である。図２１において、第２実施形態におけるロボット２０は、第１実施形態におけるロボット２０と同様に、エンドエフェクターＥによって第１対象物を予め把持している。なお、ロボット２０は、予め第１対象物を把持しておらず、所定の給材領域に配置された第１対象物を把持する構成であってもよい。
【０１０７】
第２実施形態では、第１対象物が、通信用の接続ケーブルにおける雄型のコネクター（プラグ又はジャック）ＰＬ１である場合について説明する。なお、第１対象物は、コネクターＰＬ１に代えて、産業用の部品や部材、装置等であってもよく、生体等であってもよい。
【０１０８】
また、第２実施形態では、第２対象物が、通信用の接続ケーブルにおける雌型のコネクター（レセプタクル）であって、第１実施形態の一例である雄型のコネクターと接続されるコネクターＰＬ２である場合について説明する。図１では、コネクターＰＬ２は、治具Ｇ２によって支持されている。なお、第２対象物は、コネクターＰＬ２に代えて、産業用の部品や部材、装置等であってもよく、生体等であってもよい。また、図２１では、コネクターＰＬ２は、ロボット２０の接地面（例えば、床面）に設けられた治具Ｇ２によって支持されているが、壁面や天井面等の他の位置に設けられた治具Ｇ２によって支持されている構成であってもよい。
【０１０９】
この一例において、ロボット２０は、所定の作業として、コネクターＰＬ１を、コネクターＰＬ２が備える挿入部ＰＬ２１に挿入する。
【０１１０】
＜ロボット制御装置が行う処理の概要＞
以下、第２実施形態におけるロボット２０に所定の作業を行わせるためにロボット制御装置３０が行う処理の概要について説明する。
【０１１１】
以下では、一例として、ロボット制御装置３０がアームを動かす場合の基準となる三次元座標系であるロボット座標系のＹ軸の正の方向と、コネクターＰＬ１を挿入部ＰＬ２１に挿入させる方向である第１方向Ｆ５とが一致するようにコネクターＰＬ２を治具Ｇ２によって支持させる場合について説明する。すなわち、挿入部ＰＬ２１に挿入されたコネクターＰＬ１を挿入部ＰＬ２１から引き抜く方向と逆の方向（第１方向Ｆ５）は、当該Ｙ軸の正の方向と一致している。なお、コネクターＰＬ１を挿入部ＰＬ２１に挿入させる方向が、他の方向と一致するようにコネクターＰＬ２を治具Ｇ２によって支持させてもよい。
【０１１２】
また、この一例おいて、コネクターＰＬ１の先端部の中心には、当該中心とともに動くＴＣＰである制御点Ｔ３が設定される。コネクターＰＬ１の先端部は、コネクターＰＬ１の端部のうちの挿入部ＰＬ２１に挿入する側の端部のことである。コネクターＰＬ１の先端部は、治具Ｇ２に支持されたコネクターＰＬ２が備える挿入部ＰＬ２１にコネクターＰＬ１が挿入された状態において第１方向Ｆ５と直交する面を有する。当該面の形状は、例えば、長方形である。すなわち、この一例におけるコネクターＰＬ１の先端部の中心は、当該長方形の図心のことである。
【０１１３】
制御点Ｔ３には、コネクターＰＬ１の位置及び姿勢を表す三次元局所座標系が設定される。当該三次元局所座標系の原点は、制御点Ｔ３、すなわちコネクターＰＬ１の先端部の中心の位置を表す。また、当該三次元局所座標系の各座標軸の方向は、制御点Ｔ３、すなわちコネクターＰＬ１の先端部の中心の姿勢を表す。例えば、制御点Ｔ３には、コネクターＰＬ１が挿入部ＰＬ２１に挿入されている状態において、当該三次元局所座標系のＺ軸の正の方向が、ロボット座標系のＹ軸の正の方向と一致するように当該三次元局所座標系が設定される。
【０１１４】
ロボット制御装置３０は、予め記憶部３２に記憶されたコネクターＰＬ２の挿入部ＰＬ２１の位置を示す情報である位置情報に基づいて、アームによりコネクターＰＬ１を移動させることにより、コネクターＰＬ１の制御点Ｔ３を所定の待機位置である第３待機位置に移動させ、制御点Ｔ３の姿勢を所定の待機姿勢にさせる。第３待機位置は、所定の作業においてロボット制御装置３０がロボット２０に行わせる動作のうち、コネクターＰＬ１をコネクターＰＬ２に近づける動作である第４挿入動作における制御点Ｔ３の始点を示す位置である。また、所定の待機姿勢は、この一例において、制御点Ｔ３に設定された三次元局所座標系のＺ軸の正の方向がロボット座標系のＹ軸の正の方向と一致する姿勢である。
【０１１５】
また、挿入部ＰＬ２１の位置は、この一例において、挿入部ＰＬ２１の先端部の中心の位置によって表される。挿入部ＰＬ２１の先端部は、挿入部ＰＬ２１の端部のうちのコネクターＰＬ１が挿入される側の端部のことである。挿入部ＰＬ２１の先端部は、治具Ｇ２に支持された状態において第１方向Ｆ５と直交する面を有する。当該面の形状は、例えば、長方形である。すなわち、この一例における挿入部ＰＬ２１の先端部の中心は、当該長方形の図心のことである。なお、挿入部ＰＬ２１の位置は、これに代えて、当該図心に対応付けられた他の位置であってもよい。
【０１１６】
なお、予め記憶部３２に記憶されたコネクターＰＬ２の挿入部ＰＬ２１の位置を示す情報である位置情報は、挿入部ＰＬ２１の位置を示す情報に代えて、基準となる位置である基準位置から挿入部ＰＬ２１の位置までの相対的な位置を示す情報であってもよい。例えば、ロボット２０が架台に設置されている場合であり、ロボット２０が設置されている架台とコネクターＰＬ２を支持している治具Ｇ２が設置されている架台とが異なる架台であった場合、ロボット制御装置３０に予め記憶されている位置情報が示す挿入部ＰＬ２１の位置と、現在の挿入部ＰＬ２１の位置とは、振動等によってずれてしまうことがある。また、ロボット制御装置３０に挿入部ＰＬ２１の位置を記憶させる教示を行う場合、周囲に干渉してしまう他の物体が存在している等の理由により当該教示が行えないことがある。
【０１１７】
この場合、治具Ｇ２が設置されている架台に基準位置を設け、当該基準位置から挿入部ＰＬ２１までの相対的な位置を示す情報を予めロボット制御装置３０に記憶させておくことにより、ロボット制御装置３０は、当該基準位置のみを改めて記憶させることによって、所定の作業を行うことができる。その結果、ユーザーは、ロボット制御装置３０に、挿入部ＰＬ２１の位置を記憶させることなく、所定の作業を行わせることができる。
【０１１８】
ロボット制御装置３０は、アームにより制御点Ｔ３を第４挿入動作における始点である第３待機位置に移動させた後、ロボット２０に第４挿入動作を行わせることによりコネクターＰＬ１をコネクターＰＬ２に近づけさせ始める。具体的には、ロボット制御装置３０は、アームによりコネクターＰＬ１をコネクターＰＬ１とコネクターＰＬ２とが近づく方向である第１方向Ｆ５に移動させ始める。第４挿入動作が行われている間、ロボット制御装置３０は、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したか否かを力検出情報に基づいて判定することを繰り返す。ロボット制御装置３０は、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触していないと力検出情報に基づいて判定し続けている限り、ロボット２０に第４挿入動作を継続させ続ける。そして、ロボット制御装置３０は、アームによりコネクターＰＬ１を挿入部ＰＬ２１に挿入させる。
【０１１９】
一方、ロボット制御装置３０は、第４挿入動作が行われている間に、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したと力検出情報に基づいて判定した場合、アームによりコネクターＰＬ１とコネクターＰＬ２とを離間させる。これにより、ロボット制御装置３０は、コネクターＰＬ２が備える挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触した場合にコネクターＰＬ１及びコネクターＰＬ２を変形させてしまうことを抑制することができる。
【０１２０】
また、ロボット制御装置３０は、コネクターＰＬ１とコネクターＰＬ２とを離間させる際、過去に制御点Ｔ３が第３待機位置に待機したタイミングのうちの直近のタイミングにおける第３待機位置とは異なる位置を新たな第３待機位置として、当該第３待機位置に制御点Ｔ３を移動させる。これにより、ロボット制御装置３０は、コネクターＰＬ１とコネクターＰＬ２とを離間させるとともに、過去の第３待機位置と挿入部ＰＬ２１の位置との相対的な位置関係を、新たな第３待機位置と挿入部ＰＬ２１との相対的な位置関係に変化させる。すなわち、ロボット制御装置３０は、第４挿入動作における制御点Ｔ３の始点を、コネクターＰＬ１とコネクターＰＬ２とを離間させるたびに、コネクターＰＬ１とコネクターＰＬ２とを離間させるとともに、過去の当該始点とは異なる始点に変更させる。そして、ロボット制御装置３０は、ロボット２０に再び第４挿入動作を行わせることにより、コネクターＰＬ１をコネクターＰＬ２に近づけさせる。
【０１２１】
このように、ロボット制御装置３０は、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したと力検出情報に基づいて判定した場合であっても、アームによりコネクターＰＬ１をコネクターＰＬ２に近づけることとコネクターＰＬ１をコネクターＰＬ２から離間させることとを繰り返すことによって、コネクターＰＬ１とコネクターＰＬ２とのうちいずれか一方又は両方を変形させてしまうことを抑制しつつ、コネクターＰＬ１を挿入部ＰＬ２１に挿入することができる。
【０１２２】
第２実施形態では、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したと力検出情報に基づいて判定した場合に、ロボット制御装置３０がコネクターＰＬ１とコネクターＰＬ２とを離間させる処理について詳しく説明する。
【０１２３】
＜コネクターの規格の具体例＞
以下、図２２を参照し、コネクターＰＬ１及びコネクターＰＬ２の規格の具体例について説明する。図２２は、コネクターＰＬ１及びコネクターＰＬ２の規格の具体例を示す図である。図２２に示したように、コネクターＰＬ１及びコネクターＰＬ２の規格は、例えば、ＵＳＢ−Ａ型やＨＤＭＩ（High-Definition  Multimedia  Interface、登録商標）である。
【０１２４】
コネクターＰＬ１及びコネクターＰＬ２の規格がＵＳＢ−Ａ型である場合、コネクターＰＬ１をコネクターＰＬ２の挿入部ＰＬ２１に挿入するのに要する圧力は、例えば、１０〜１５ニュートンである。また、この圧力を発生させるためにエンドエフェクターＥがコネクターＰＬ１の把持に要する圧力である把持圧力は、例えば、１０．３ニュートンである。
【０１２５】
また、コネクターＰＬ１及びコネクターＰＬ２の規格がＨＤＭＩ（登録商標）である場合、コネクターＰＬ１をコネクターＰＬ２の挿入部ＰＬ２１に挿入するのに要する圧力は、例えば、４０〜４５ニュートンである。また、この圧力を発生させるためにエンドエフェクターＥがコネクターＰＬ１の把持に要する圧力である把持圧力は、例えば、１４ニュートンである。
【０１２６】
なお、コネクターＰＬ１及びコネクターＰＬ２の規格は、ＵＳＢ−Ａ型やＨＤＭＩ（登録商標）に代えて、他の規格であってもよい。
【０１２７】
＜ロボット制御装置のハードウェア構成及び機能構成＞
第２実施形態におけるロボット制御装置３０のハードウェア構成及び機能構成は、第１実施形態におけるロボット制御装置３０のハードウェア構成及び機能構成と同様な構成であるため、説明を省略する。
【０１２８】
＜ロボット制御装置がロボットに所定の作業を行わせる処理＞
以下、図２３を参照し、第２実施形態におけるロボット制御装置３０がロボット２０に所定の作業を行わせる処理について説明する。図２３は、第２実施形態におけるロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
【０１２９】
位置情報読出部４４は、記憶部３２から位置情報を読み出す（ステップＳ３００）。次に、待機位置情報読出部４６は、記憶部３２に予め記憶された第３待機位置情報を記憶部３２から読み出す（ステップＳ１１０）。ここで、第３待機位置情報について説明する。第３待機位置情報は、第３待機位置から挿入部ＰＬ２１の位置までの相対的な位置を示す情報と、ロボット２０による所定の作業において繰り返し行われる第４挿入動作の実行順を示す情報とが対応付けられた情報を含む。例えば、当該実行順が０である場合に当該実行順を示す情報に対応付けられる位置であって第３待機位置から挿入部ＰＬ２１の位置までの相対的な位置を示す情報は、１回目の第４挿入動作における位置であって第３待機位置から挿入部ＰＬ２１の位置までの相対的な位置を示す情報である。また、当該実行順が１である場合に当該実行順を示す情報に対応付けられる位置であって第３待機位置から挿入部ＰＬ２１の位置までの相対的な位置を示す情報は、２回目の第４挿入動作における位置であって第３待機位置から挿入部ＰＬ２１の位置までの相対的な位置を示す情報である。すなわち、ロボット制御装置３０は、位置情報が示す挿入部ＰＬ２１の位置と、第３待機位置情報に基づいて、第４挿入動作をロボット２０に行わせるたびに、第４挿入動作の実行順に応じた第３待機位置を特定し、制御点Ｔ３を当該第３待機位置へ移動させる。
【０１３０】
次に、ロボット制御部４８は、ステップＳ３００において位置情報読出部４４が記憶部３２から読み出した位置情報が示す挿入部ＰＬ２１の位置と、ステップＳ３１０において待機位置情報読出部４６が記憶部３２から読み出した第３待機位置情報とに基づいて、アームを動作させ、制御点Ｔ３を初回の第３待機位置へ移動させるとともに、第３待機位置における制御点Ｔ３の姿勢を、前述の所定の待機姿勢と一致させる（ステップＳ３２０）。そして、ロボット制御部４８は、第４挿入動作の実行順を示す情報が０を示すように初期化し、当該情報を記憶する。ここで、図２４を参照し、ステップＳ３２０の処理について説明する。
【０１３１】
図２４は、制御点Ｔ３が１回目の第４挿入動作における第３待機位置に移動した場合のコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。図２４に示した三次元座標系は、前述したロボット座標系である。図２４に示したように、１回目の第４挿入動作における第３待機位置は、コネクターＰＬ１の姿勢が所定の姿勢である場合において、挿入部ＰＬ２１の先端部が有する面からのロボット座標系におけるＹ軸の負の方向に向かって距離Ｌ１１（単位は、例えば、ミリメートル）だけ離れた位置である。距離Ｌ１１は、例えば、１０ミリメートルである。なお、距離Ｌ１１は、これに代えて、他の距離であってもよい。
【０１３２】
次に、ロボット制御部４８は、ロボット２０に第４挿入動作を開始させる（ステップＳ３３０）。ここで、図２５を参照し、ステップＳ３３０の処理について説明する。図２５は、第４挿入動作が開始された直後のコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。図２５に示した三次元座標系は、前述したロボット座標系である。図２５に示したように、ロボット制御部４８は、アームによりコネクターＰＬ１をコネクターＰＬ１とコネクターＰＬ２とが近づく方向である第１方向Ｆ５に沿って移動させ始める。第１方向Ｆ１は、前述したように、この一例において、ロボット座標系におけるＹ軸の正の方向である。また、第４挿入動作において、ロボット制御部４８は、力検出情報取得部４０が力検出部２１から取得した力検出情報に基づく制御によって第４挿入動作を行う。
【０１３３】
次に、接触判定部４２は、力検出情報取得部４０が力検出部２１から取得した力検出情報に基づいて、ステップＳ３３０から開始された第４挿入動作において、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したか否かを判定する（ステップＳ３４０）。接触判定部４２は、力検出部２１から取得した力検出情報に基づいて、コネクターＰＬ１に対して第１方向Ｆ５と逆の方向に加わった力が、所定の第３閾値以上であると判定した場合、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したと判定する。第３閾値は、コネクターＰＬ１を挿入部ＰＬ２１に挿入する際に必要な最小の力（例えば、図２２に示した必要挿入圧力）より大きな力である。例えば、コネクターＰＬ１とコネクターＰＬ２の規格が、図２２に示したＵＳＢ−Ａ型の場合、第３閾値は、１０ニュートンよりも大きな力である。一方、接触判定部４２は、力検出部２１から取得した力検出情報に基づいて、コネクターＰＬ１に対して第１方向Ｆ５と逆の方向に加わった力が、所定の第３閾値未満であると判定した場合、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触していないと判定する。挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触していないと接触判定部４２が判定した場合（ステップＳ３４０−Ｎｏ）、ロボット制御部４８は、第４挿入動作を終了させるための条件である第３終了条件が満たされたか否かを判定する（ステップＳ３４５）。ここで、図２６を参照し、第３終了条件について説明する。
【０１３４】
図２６は、第３終了条件が満たされている場合におけるコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。図２６に示した三次元座標系は、前述したロボット座標系である。第３終了条件は、この一例において、制御点Ｔ３のロボット座標系におけるＹ軸に沿った方向における位置が、挿入部ＰＬ２１の先端部が有する面から第１方向Ｆ５側に距離Ｌ１１（単位は、例えば、ミリメートル）以上離れていることである。図２６に示した例では、制御点Ｔ３の位置は、当該面から当該Ｙ軸に沿って第１方向Ｆ５側に距離Ｌ１１だけ離れている。距離Ｌ１１は、例えば、５ミリメートルである。なお、距離Ｌ１１は、これに代えて、他の距離であってもよい。また、第３終了条件は、これに代えて、他の条件であってもよい。
【０１３５】
ステップＳ３４５において、第３終了条件が満たされていないとロボット制御部４８が判定した場合（ステップＳ３４５−Ｎｏ）、接触判定部４２は、ステップＳ３４０に遷移し、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したか否かを再び判定する。一方、第３終了条件が満たされたと判定した場合（ステップＳ３４５−Ｙｅｓ）、ロボット制御部４８は、第１方向Ｆ５に向かう制御点Ｔ３の移動を停止させ、第４挿入動作を終了させる。そして、ロボット制御部４８は、コネクターＰＬ１がコネクターＰＬ２に完全に挿入されるまでコネクターＰＬ１を第１方向Ｆ５に移動させる第５挿入動作をロボット２０に行わせ（ステップＳ３５０）、第１エンドエフェクターＥ１にコネクターＰＬ１を離させてからアームを所定の終了位置に移動させて処理を終了する。ここで、図２７を参照し、ステップＳ３５０における第５挿入動作について説明する。
【０１３６】
図２７は、第５挿入動作が行われた後のコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。図２７に示した三次元座標系は、前述したロボット座標系である。
図２７に示したように、ロボット制御部４８は、第５挿入動作において、アームによりコネクターＰＬ１を、コネクターＰＬ１がコネクターＰＬ２に完全に挿入するまで第１方向Ｆ５に移動させる。これにより、ロボット制御部４８は、コネクターＰＬ１とコネクターＰＬ２とを完全に接続することができる。なお、第５挿入動作は、これに代えて、他の動作であってもよい。
【０１３７】
一方、ステップＳ３４０において、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したと接触判定部４２が判定した場合（ステップＳ３４０−Ｙｅｓ）、ロボット制御部４８は、所定の作業における第４挿入動作の実行順を示す情報が示す実行順を、１だけ増加させる。そして、ロボット制御部４８は、ステップＳ３００において位置情報読出部４４が記憶部３２から読み出した位置情報が示す挿入部ＰＬ２１の位置と、ステップＳ３１０において待機位置情報読出部４６が記憶部３２から読み出した第３待機位置情報と、当該実行順を示す情報とに基づいて、第４挿入動作が行われた回数に応じた第３待機位置を特定する。ロボット制御部４８は、特定した第３待機位置に基づいて、アームによりコネクターＰＬ１を、コネクターＰＬ１とコネクターＰＬ２とが離れる方向のうち第１方向Ｆ５と逆の方向（この一例において、ロボット座標系のＹ軸の負の方向）以外の方向に移動させることにより、コネクターＰＬ１とコネクターＰＬ２とを離間させるとともに、制御点Ｔ３を当該第３待機位置に移動させる第３離間動作をロボット２０に行わせる（ステップＳ３６０）。ステップＳ３６０において第３離間動作が行われた後、ロボット制御部４８は、ステップＳ３３０に遷移し、再び第４挿入動作を開始する。ここで、図２８及び図２９を参照し、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触した場合におけるコネクターＰＬ１とコネクターＰＬ２との状態と、ステップＳ３６０における第３離間動作とについて説明する。
【０１３８】
図２８は、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触した場合におけるコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。コネクターＰＬ１の挿入部ＰＬ２１は、ステップＳ３２０において制御点Ｔ３を１回目の第４挿入動作における第３待機位置に移動させた場合であっても、アームの剛性による誤差や、基板Ｂが設置された位置に関する誤差等の誤差によって、コネクターＰＬ１が挿入部ＰＬ２１とは異なる位置に接触してしまう場合がある。図２８に示した状態は、このような誤差によってコネクターＰＬ１が挿入部ＰＬ２１とは異なる位置に接触してしまった状態の一例を示している。ステップＳ３４０において、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したと接触判定部４２が判定した場合、ロボット制御部４８は、図２９に示すように、ステップＳ３６０において第３離間動作を行う。
【０１３９】
図２９は、第３離間動作が行われた後のコネクターＰＬ１とコネクターＰＬ２との状態の一例を示す図である。図２９に示したように、ロボット制御部４８は、制御点Ｔ３（すなわち、コネクターＰＬ１）を、コネクターＰＬ１とコネクターＰＬ２とが離れる方向のうち第１方向Ｆ５と逆の方向（この一例において、ロボット座標系のＹ軸の負の方向）以外の方向Ｆ６に移動させることにより、コネクターＰＬ１とコネクターＰＬ２とを離間させるとともに、制御点Ｔ３を前回の第３待機位置と異なる第３待機位置に移動させる第３離間動作をロボット２０に行わせる。当該第３待機位置は、１回目の第４挿入動作における第３待機位置の場合と同様に、挿入部ＰＬ２１の先端部が有する面からロボット座標系のＹ軸に沿って第１方向Ｆ５と逆の方向側に距離Ｌ１１だけ離れた位置である。しかし、第３離間動作の後において、当該面上を第１方向Ｆ５に向かって見た場合、第３待機位置の当該面上に射影される位置は、１回目の第４挿入動作における第３待機位置の当該面上に射影される位置と異なる位置である。
【０１４０】
また、ロボット制御部４８は、第３離間動作において、制御点Ｔ３を、制御点Ｔ３が接触していた位置であって挿入部ＰＬ２１と異なる位置から移動の軌跡を直線にして、コネクターＰＬ１とコネクターＰＬ２とが離れる方向のうち第１方向Ｆ５と逆の方向以外の方向に移動させ、コネクターＰＬ１とコネクターＰＬ２とを離間させる。これにより、ロボット制御部４８は、コネクターＰＬ１を、コネクターＰＬ１とコネクターＰＬ２とを離間させてから、コネクターＰＬ１とコネクターＰＬ２とが近づく方向に再び移動させ始める位置（すなわち、第３待機位置）まで移動させるのに要する時間を短縮することができる。なお、ロボット制御部４８は、第３離間動作において、制御点Ｔ３を、制御点Ｔ３が接触していた位置であって挿入部ＰＬ２１と異なる位置から移動の軌跡を直線以外の軌跡にして、コネクターＰＬ１とコネクターＰＬ２とが離れる方向のうち第１方向Ｆ５と逆の方向以外の方向に移動させ、コネクターＰＬ１とコネクターＰＬ２とを離間させる構成であってもよい。
【０１４１】
また、この一例において、第４挿入動作と第３離間動作とを２回以上行う場合、すなわち、挿入部ＰＬ２１と異なる位置へのコネクターＰＬ１の接触、及びコネクターＰＬ１とコネクターＰＬ２との離間を２回以上行う場合、ロボット制御部４８は、前述の図１３に示すように、第３待機位置情報に基づいて、第３待機位置を螺旋状の軌跡に沿って変化させる。制御点Ｔ３を螺旋状に移動させる処理については、図１３における制御点Ｔ１を螺旋状に移動させる処理と同様な処理であるため、説明を省略する。
【０１４２】
なお、第２実施形態において、力検出部２１は、第４挿入動作を行う前に、力検出部２１が検出している力を０に初期化する構成であってもよい。
【０１４３】
また、ロボット制御装置３０は、第１実施形態における第１離間動作と第２離間動作のうちいずれか一方又は両方が実行させる回数に上限を設定している構成であってもよい。例えば、第１離間動作が実行させる回数の上限が３回の場合、ロボット制御装置３０は、４回目の第１離間動作が実行させる際に、当該第１離間動作を実行させずにエラーを表示部３５に表示させる構成であってもよい。
【０１４４】
また、ロボット制御装置３０は、第２実施形態における第３離間動作が実行させる回数に上限を設定している構成であってもよい。例えば、第３離間動作が実行させる回数の上限が３回の場合、ロボット制御装置３０は、４回目の第３離間動作が実行させる際に、当該第３離間動作を実行させずにエラーを表示部３５に表示させる構成であってもよい。
【０１４５】
以上のように、ロボット制御装置３０は、コネクターＰＬ１とコネクターＰＬ２の両方を変形させてしまうことを抑制しつつ、コネクターＰＬ１を挿入部ＰＬ２１に挿入することができる。このため、ロボット制御装置３０（又はロボット制御装置３０を内蔵したロボット２０）は、部品や製品の組み立て工場等において不良品を作り出さない作業を行うことができ、その結果、作業効率や生産性を向上させることができる。
【０１４６】
なお、ロボット制御装置３０は、アームによりコネクターＰＬ２をコネクターＰＬ１とコネクターＰＬ２とが近づく方向に移動させ、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したか否かを力検出情報に基づいて判定し、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したと判定した場合、コネクターＰＬ１とコネクターＰＬ２とを離間させる構成であってもよい。この場合、エンドエフェクターＥは、コネクターＰＬ１に代えて、コネクターＰＬ２を把持する。
【０１４７】
また、ロボット制御装置３０は、ロボット２０が複腕ロボットである場合、１本目のアームが備えるエンドエフェクターによりコネクターＰＬ１を把持し、２本目のアームが備えるエンドエフェクターによりコネクターＰＬ２を把持し、２本のアームによりコネクターＰＬ１とコネクターＰＬ２とをコネクターＰＬ１とコネクターＰＬ２とが互いに近づく方向に移動させ、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したことを力検出情報に基づいて判定し、挿入部ＰＬ２１とは異なる位置にコネクターＰＬ１が接触したと判定した場合、コネクターＰＬ１とコネクターＰＬ２とを離間させる構成であってもよい。
【０１４８】
また、ロボット制御装置３０は、ロボットシステム１又はロボット２０が撮像部を備えている場合、撮像部により挿入部ＰＬ２１の先端部が有する面を含む撮像画像を撮像し、撮像した当該撮像画像に基づいて、挿入部ＰＬ２１の位置を検出する構成であってもよい。この場合、制御部３６は、位置情報読出部４４を備えていなくてもよい。
【０１４９】
また、ロボット制御装置３０は、ロボットシステム１又はロボット２０が撮像部を備えている場合であり、アームによりコネクターＰＬ２をコネクターＰＬ１とコネクターＰＬ２とが近づく方向に移動させる場合、撮像部によりコネクターＰＬ１の先端部が有する面を含む撮像画像を撮像し、撮像した当該撮像画像に基づいて、制御点Ｔ３の位置を検出する構成であってもよい。
【０１５０】
また、ロボット制御装置３０は、ロボットシステム１又はロボット２０が撮像部を備えている場合であり、ロボット２０が複腕ロボットであって、１本目のアームが備えるエンドエフェクターによりコネクターＰＬ１を把持し、２本目のアームが備えるエンドエフェクターによりコネクターＰＬ２を把持し、２本のアームによりコネクターＰＬ１とコネクターＰＬ２とをコネクターＰＬ１とコネクターＰＬ２とが互いに近づく方向に移動させる場合、撮像部によりコネクターＰＬ１の先端部が有する面、及び挿入部ＰＬ２１の先端部が有する面を含む撮像画像を撮像し、撮像した当該撮像画像に基づいて、制御点Ｔ３又は挿入部ＰＬ２１の少なくとも一方の位置を検出する構成であってもよい。
【０１５１】
また、第１対象物と第２対象物との組み合わせは、コネクターＰＬ１とコネクターＰＬ２との組み合わせに代えて、互いに嵌合される２つの対象物の組み合わせであれば如何なる組み合わせであってもよい。
【０１５２】
以上説明したように、第１実施形態及び第２実施形態におけるロボット２０（又はロボットシステム１）は、アームにより第１対象物又は第２対象物の少なくとも一方を第１対象物と第２対象物とが近づく方向に移動させ、第２対象物が備える挿入部とは異なる位置に第１対象物が接触したことを力検出部２１の出力（この一例において、力検出情報）に基づいて判定した場合、第１対象物と第２対象物とを離間させる。これにより、ロボット２０は、第２対象物が備える挿入部とは異なる位置に第１対象物が接触した場合に第１対象物及び第２対象物を変形させてしまうことを抑制することができる。
【０１５３】
また、ロボット２０は、第２対象物が備える挿入部とは異なる位置に第１対象物が接触したと判定した場合、第１対象物と第２対象物とが離れる方向のうち第１対象物と第２対象物とが近づく方向と逆の方向以外の方向に、第１対象物又は第２対象物の少なくとも一方を移動させ、第１対象物と第２対象物とを離間させる。これにより、ロボット２０は、第１対象物又は第２対象物の少なくとも一方を、第１対象物と第２対象物とが離間する前後において異なる位置から第１対象物と第２対象物とが近づく方向に移動させることができる。
【０１５４】
また、ロボット２０は、第２対象物が備える挿入部とは異なる位置に第１対象物が接触したと判定した場合、第１対象物又は第２対象物の少なくとも一方を、第２対象物が備える挿入部とは異なる位置から移動の軌跡を直線にして、第１対象物と第２対象物とが離れる方向のうち第１対象物と第２対象物とが近づく方向と逆の方向以外の方向に移動させ、第１対象物と第２対象物とを離間させる。これにより、ロボット２０は、第１対象物又は第２対象物の少なくとも一方を、第１対象物と第２対象物とを離間させてから、第１対象物と第２対象物とが近づく方向に再び移動させ始める位置まで移動させるのに要する時間を短縮することができる。
【０１５５】
また、ロボット２０は、第２対象物の挿入部と異なる位置への第１対象物の接触、及び第１対象物と第２対象物との離間を２回以上行う場合、第１対象物と第２対象物とが近づく方向から見て、第１対象物又は第２対象物の少なくとも一方を螺旋状に移動させる。これにより、ロボット２０は、第１対象物と第２対象物とが近づく方向に移動させ始める位置であって第１対象物と第２対象物の挿入部との相対的な位置を螺旋状に変化させながら第１対象物が第２対象物の挿入部に挿入することが可能な位置を探すことができる。
【０１５６】
また、ロボット２０は、アームにより電子部品又は第２対象物の少なくとも一方を電子部品と第２対象物とが近づく方向に移動させ、第２対象物が備える挿入部とは異なる位置に電子部品が接触したことを力検出器の出力に基づいて判定した場合、電子部品と第２対象物とを離間させる。これにより、ロボット２０は、第２対象物が備える挿入部とは異なる位置に電子部品が接触した場合に電子部品及び第２対象物を変形させてしまうことを抑制することができる。
【０１５７】
また、ロボット２０は、基準となる位置である基準位置を教示することにより、第１対象物又は第２対象物の少なくとも一方を第１対象物と第２対象物とが近づく方向に移動させる。これにより、ロボット２０は、基準位置を教示することにより第１対象物又は第２対象物の少なくとも一方を第１対象物と第２対象物とが近づく方向に移動させることができる。
【０１５８】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１５９】
また、以上に説明した装置（例えば、ロボット制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１６０】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１６１】
１…ロボットシステム、２０…ロボット、２１…力検出部、３０…ロボット制御装置、３１…ＣＰＵ、３２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、４０…力検出情報取得部、４２…接触判定部、４４…位置情報読出部、４６…待機位置情報読出部、４８…ロボット制御部
【図１】
0006693098.tif 000002
【図２】
0006693098.tif 000003
【図３】
0006693098.tif 000004
【図４】
0006693098.tif 000005
【図５】
0006693098.tif 000006
【図６】
0006693098.tif 000007
【図７】
0006693098.tif 000008
【図８】
0006693098.tif 000009
【図９】
0006693098.tif 000010
【図１０】
0006693098.tif 000011
【図１１】
0006693098.tif 000012
【図１２】
0006693098.tif 000013
【図１３】
0006693098.tif 000014
【図１４】
0006693098.tif 000015
【図１５】
0006693098.tif 000016
【図１６】
0006693098.tif 000017
【図１７】
0006693098.tif 000018
【図１８】
0006693098.tif 000019
【図１９】
0006693098.tif 000020
【図２０】
0006693098.tif 000021
【図２１】
0006693098.tif 000022
【図２２】
0006693098.tif 000023
【図２３】
0006693098.tif 000024
【図２４】
0006693098.tif 000025
【図２５】
0006693098.tif 000026
【図２６】
0006693098.tif 000027
【図２７】
0006693098.tif 000028
【図２８】
0006693098.tif 000029
【図２９】
0006693098.tif 000030