(57)【要約】【課題】第１物体に対する作業において誤動作を抑制することができるロボットを提供すること。【解決手段】力検出部を有する第１把持部を備え、前記力検出部からの出力に基づいて、前記第１把持部の一部を動かして第１物体に当接させた後、前記一部と前記第１物体との当接面に垂直な方向を含む方向であって前記第１物体から前記一部が離間する第１方向に前記一部を動かし、前記第１把持部の他の部を当該垂直な方向と異なる第２方向から前記第１物体に当接させる、ロボット。【選択図】図３
2017100198.tif 000002
【特許請求の範囲】
【請求項１】
力検出部を有する第１把持部を備え、
前記力検出部からの出力に基づいて、前記第１把持部の一部を動かして第１物体に当接させた後、前記一部と前記第１物体との当接面に垂直な方向を含む方向であって前記第１物体から前記一部が離間する第１方向に前記一部を動かし、前記第１把持部の他の部を当該垂直な方向と異なる第２方向から前記第１物体に当接させる、
ロボット。
【請求項２】
前記第１方向に前記一部を動かして前記一部と前記第１物体とを離間させ、前記第１把持部の他の部を前記第２方向から前記第１物体に当接させる、
請求項１に記載のロボット。
【請求項３】
前記一部と前記第１物体とを当接させたまま、前記第１把持部の他の部を前記第２方向から前記第１物体に当接させる、
請求項１に記載のロボット。
【請求項４】
前記一部は、前記第１把持部の掌部であり、前記他の部は、前記第１把持部の指部である、
請求項１から３のうちいずれか一項に記載のロボット。
【請求項５】
前記他の部を前記第２方向から前記第１物体に当接させた後、前記第１把持部により前記第１物体を把持する、
請求項１から４のうちいずれか一項に記載のロボット。
【請求項６】
前記第１把持部を備える第１アームと、第２把持部を備える第２アームとを備え、前記第１物体を前記第２把持部により把持した状態で、前記一部を動かして第１物体に当接させた後、前記第１方向に前記一部を動かし、前記他の部を前記第２方向から前記第１物体に当接させる、
請求項１から５のうちいずれか一項に記載のロボット。
【請求項７】
前記他の部を前記第２方向から前記第１物体に当接させた後、前記第１方向と異なる第３方向に前記第１物体を動かす、
請求項１から６のうちいずれか一項に記載のロボット。
【請求項８】
前記第３方向に前記第１物体を動かし、前記第１物体と嵌合する第２物体と前記第１物体とを嵌合又は分解させる、
請求項７に記載のロボット。
【請求項９】
前記第１把持部を備える第１アームと、第３把持部を備える第３アームとを備え、前記第２物体を前記第３把持部により把持した状態で、前記第１物体と前記第２物体とを嵌合又は分解させる、
請求項８に記載のロボット。
【請求項１０】
力検出部を有する把持部を備え、
前記力検出部からの出力に基づいて、前記把持部の一部を第１物体に近づけて当接させた後、前記一部を前記第１物体から遠ざけて、前記把持部の他の部を前記第１物体に近づけて当接させる、
ロボット。
【請求項１１】
力検出部を有する第１把持部を備えるロボットに、
前記力検出部からの出力に基づいて、前記第１把持部の一部を動かして第１物体に当接させた後、前記一部と前記第１物体との当接面に垂直な方向を含む方向であって前記第１物体から前記一部が離間する第１方向に前記一部を動かし、前記第１把持部の他の部を当該垂直な方向と異なる第２方向から前記第１物体に当接させる、
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット、及び制御方法に関する。
【背景技術】
【０００２】
力センサー等の力検出部からの出力に基づいて製品の組み立てや分解をロボットに行わせる技術の研究や開発が行われている。
【０００３】
これに関し、組立ロボットによってワークを対象物に複数の動作で組み付けさせる場合に、各動作における組み付け方向の外力の最大値を記憶し、組立ロボットが備えるロボットアームを制御して各動作を順次実行し、各動作の実行中に、力センサーで検出された組み付け方向の外力が、各動作における最大値に達したときに、ロボットアームを停止させる組立ロボットの制御方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−４３２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、この制御方法では、意図していない外力が力センサーにより検出された場合、ロボットアームは、当該外力が発生した原因に依らずに当該外力の大きさに応じて、意図していない動作である誤動作を行う場合があり、作業の効率を向上させることが困難な場合があった。例えば、当該誤動作には、ロボットアームの動作の停止等が含まれる。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、力検出部を有する第１把持部を備え、前記力検出部からの出力に基づいて、前記第１把持部の一部を動かして第１物体に当接させた後、前記一部と前記第１物体との当接面に垂直な方向を含む方向であって前記第１物体から前記一部が離間する第１方向に前記一部を動かし、前記第１把持部の他の部を当該垂直な方向と異なる第２方向から前記第１物体に当接させる、ロボットである。
この構成により、ロボットは、力検出部からの出力に基づいて、第１把持部の一部を動かして第１物体に当接させた後、当該一部と第１物体との当接面に垂直な方向を含む方向であって第１物体から当該一部が離間する第１方向に当該一部を動かし、第１把持部の他の部を当該垂直な方向と異なる第２方向から第１物体に当接させる。これにより、ロボットは、第１物体に対する作業において誤動作を抑制することができる。
【０００７】
また、本発明の他の態様は、ロボットにおいて、前記第１方向に前記一部を動かして前記一部と前記第１物体とを離間させ、前記第１把持部の他の部を前記第２方向から前記第１物体に当接させる、構成が用いられてもよい。
この構成により、ロボットは、第１方向に第１把持部の一部を動かして当該一部と第１物体とを離間させ、第１把持部の他の部を第２方向から第１物体に当接させる。これにより、ロボットは、意図していない外力が力検出部により検出されることを抑制し、第１物体に対する作業において、より確実に誤動作を抑制することができる。
【０００８】
また、本発明の他の態様は、ロボットにおいて、前記一部と前記第１物体とを当接させたまま、前記第１把持部の他の部を前記第２方向から前記第１物体に当接させる、構成が用いられてもよい。
この構成により、ロボットは、第１把持部の一部と第１物体とを当接させたまま、第１把持部の他の部を第２方向から第１物体に当接させる。これにより、ロボットは、第１把持部の一部を第１物体に当接させたまま行う作業において、意図していない外力であって力検出部により検出される外力の大きさを小さくすることができ、その結果、第１物体に対する作業において誤動作を抑制することができる。
【０００９】
また、本発明の他の態様は、ロボットにおいて、前記一部は、前記第１把持部の掌部であり、前記他の部は、前記第１把持部の指部である、構成が用いられてもよい。
この構成により、ロボットは、力検出部からの出力に基づいて、第１把持部の掌部を動かして第１物体に当接させた後、当該掌部と第１物体との当接面に垂直な方向を含む方向であって第１物体から当該掌部が離間する第１方向に当該掌部を動かし、第１把持部の指部を当該垂直な方向と異なる第２方向から第１物体に当接させる。これにより、ロボットは、指部による第１物体に対する作業において、力検出部により検出された力であって掌部に加わる意図していない力に基づく誤動作を抑制することができる。
【００１０】
また、本発明の他の態様は、ロボットにおいて、前記他の部を前記第２方向から前記第１物体に当接させた後、前記第１把持部により前記第１物体を把持する、構成が用いられてもよい。
この構成により、ロボットは、第１把持部の他の部を第２方向から第１物体に当接させた後、第１把持部により第１物体を把持する。これにより、ロボットは、第１物体を把持する動作を伴う作業において誤動作を抑制することができる。
【００１１】
また、本発明の他の態様は、ロボットにおいて、前記第１把持部を備える第１アームと、第２把持部を備える第２アームとを備え、前記第１物体を前記第２把持部により把持した状態で、前記一部を動かして第１物体に当接させた後、前記第１方向に前記一部を動かし、前記他の部を前記第２方向から前記第１物体に当接させる、構成が用いられてもよい。
この構成により、ロボットは、第１物体を第２把持部により把持した状態で、第１把持部の一部を動かして第１物体に当接させた後、第１方向に当該一部を動かし、第１把持部の他の部を第２方向から第１物体に当接させる。これにより、ロボットは、第１物体を第２把持部により把持した状態で第１把持部により行われる第１物体に対する作業において、誤動作を抑制することができる。
【００１２】
また、本発明の他の態様は、ロボットにおいて、前記他の部を前記第２方向から前記第１物体に当接させた後、前記第１方向と異なる第３方向に前記第１物体を動かす、構成が用いられてもよい。
この構成により、ロボットは、第１把持部の他の部を第２方向から第１物体に当接させた後、第１方向と異なる第３方向に第１物体を動かす。これにより、ロボットは、第１物体を第３方向へ移動させる動作を伴う作業において誤動作を抑制することができる。
【００１３】
また、本発明の他の態様は、ロボットにおいて、前記第３方向に前記第１物体を動かし、前記第１物体と嵌合する第２物体と前記第１物体とを嵌合又は分解させる、構成が用いられてもよい。
この構成により、ロボットは、第３方向に第１物体を動かし、第１物体と嵌合する第２物体と第１物体とを嵌合又は分解させる。これにより、ロボットは、第１物体と第２物体とを嵌合又は分解させる動作を伴う作業において誤動作を抑制することができる。
【００１４】
また、本発明の他の態様は、ロボットにおいて、前記第１把持部を備える第１アームと、第３把持部を備える第３アームとを備え、前記第２物体を前記第３把持部により把持した状態で、前記第１物体と前記第２物体とを嵌合又は分解させる、構成が用いられてもよい。
この構成により、ロボットは、第２物体を第３把持部により把持した状態で、第１物体と第２物体とを嵌合又は分解させる。これにより、ロボットは、第２物体を第３把持部により把持した状態で第１物体と第２物体とを嵌合又は分解させる動作を伴う作業において誤動作を抑制することができる。
【００１５】
また、本発明の他の態様は、力検出部を有する把持部を備え、前記力検出部からの出力に基づいて、前記把持部の一部を第１物体に近づけて当接させた後、前記一部を前記第１物体から遠ざけて、前記把持部の他の部を前記第１物体に近づけて当接させる、ロボットである。
この構成により、ロボットは、力検出部からの出力に基づいて、把持部の一部を第１物体に近づけて当接させた後、当該一部を第１物体から遠ざけて、把持部の他の部を第１物体に近づけて当接させる。これにより、ロボットは、第１物体に対する作業において誤動作を抑制することができる。
【００１６】
また、本発明の他の態様は、力検出部を有する第１把持部を備えるロボットに、前記力検出部からの出力に基づいて、前記第１把持部の一部を動かして第１物体に当接させた後、前記一部と前記第１物体との当接面に垂直な方向を含む方向であって前記第１物体から前記一部が離間する第１方向に前記一部を動かし、前記第１把持部の他の部を当該垂直な方向と異なる第２方向から前記第１物体に当接させる、制御方法である。
この構成により、制御方法は、力検出部からの出力に基づいて、第１把持部の一部を動かして第１物体に当接させた後、当該一部と第１物体との当接面に垂直な方向を含む方向であって第１物体から当該一部が離間する第１方向に当該一部を動かし、第１把持部の他の部を当該垂直な方向と異なる第２方向から第１物体に当接させる。これにより、制御方法は、第１物体に対する作業において誤動作を抑制することができる。
【００１７】
以上により、ロボット、及び制御方法は、力検出部からの出力に基づいて、第１把持部の一部を動かして第１物体に当接させた後、当該一部と第１物体との当接面に垂直な方向を含む方向であって第１物体から当該一部が離間する第１方向に当該一部を動かし、第１把持部の他の部を当該垂直な方向と異なる第２方向から第１物体に当接させる。これにより、ロボット、及び制御方法は、第１物体に対する作業において誤動作を抑制することができる。
また、ロボットは、力検出部からの出力に基づいて、把持部の一部を第１物体に近づけて当接させた後、当該一部を第１物体から遠ざけて、把持部の他の部を第１物体に近づけて当接させる。これにより、ロボットは、第１物体に対する作業において誤動作を抑制することができる。
【図面の簡単な説明】
【００１８】
【図１】第１実施形態に係るロボット２０の一例を示す構成図である。
【図２】ロボット制御装置３０のハードウェア構成の一例を示す図である。
【図３】ロボット制御装置３０の機能構成の一例を示す図である。
【図４】ロボット制御装置３０がロボット２０に所定の動作を行わせる処理の流れの一例を示すフローチャートである。
【図５】第１エンドエフェクターＥ１が所定の待機位置において姿勢を所定の待機姿勢と一致させた時の第１エンドエフェクターＥ１と第１物体Ｏとの位置関係の一例を示す図である。
【図６】ステップＳ１１０の処理によって掌部Ｈ１の掌面Ｈ１１が第１物体Ｏに当接された時の第１エンドエフェクターＥ１と第１物体Ｏとの位置関係の一例を示す図である。
【図７】ステップＳ１２０の処理によって第１物体Ｏの位置と第１エンドエフェクターＥ１の位置との間の距離のうちの掌面移動軸ＨＡ１に沿った距離が所定の第１距離Ｌ１と一致した時の第１エンドエフェクターＥ１と第１物体Ｏとの相対的な位置関係の一例を示す図である。
【図８】ステップＳ１３０の処理によって、掌部Ｈ１が第１物体Ｏから離間した時の第１エンドエフェクターＥ１と第１物体Ｏとの相対的な位置関係の一例を示す図である。
【図９】ステップＳ１４０の処理が行われている間に指部Ｆ１３が第１物体Ｏに当接した時の第１エンドエフェクターＥ１と第１物体Ｏとの相対的な位置関係の一例を示す図である。
【図１０】第１エンドエフェクターＥ１により第１物体Ｏが把持された時の第１エンドエフェクターＥ１と第１物体Ｏとの相対的な位置関係の一例を示す図である。
【図１１】倣い把持動作における縦方向検出力の変動を表すグラフの一例を示す図である。
【図１２】倣い把持動作が行われている時間帯における横方向検出力の変動を表すグラフの一例を示す図である。
【図１３】ロボット制御装置Ｘが図４に示したステップＳ７０〜ステップＳ１２０までの処理と、ステップＳ１４０の処理とを順に行った場合の横方向検出力の変動を表すグラフの一例を示す図である。
【図１４】第２実施形態に係るロボット２０の一例を示す構成図である。
【図１５】所定の組付状態における第１物体Ｏ１と第２物体Ｏ２のそれぞれの一例を示す図である。
【図１６】第１物体Ｏ１及び第２物体Ｏ２を図１５に示した切断面Ｋ−Ｋにおいて切断した際の切断面の一例を示す図である。
【図１７】第２実施形態におけるロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
【図１８】第１エンドエフェクターＥ１が所定の待機位置において姿勢を所定の待機姿勢と一致させた時の第１エンドエフェクターＥ１と第１物体Ｏ１との位置関係の一例を示す図である。
【図１９】ステップＳ２４０の処理によって掌部Ｈ１の掌面Ｈ１１が第１物体Ｏ１の上面に当接された時の第１エンドエフェクターＥ１と第１物体Ｏ１との位置関係の一例を示す図である。
【図２０】ステップＳ２５０の処理によって、ロボット２０が掌面Ｈ１１を第１物体Ｏ１の上面に当接させた状態を保ったまま、掌部Ｈ１を第１方向に動かした時の第１エンドエフェクターＥ１と第１物体Ｏ１との相対的な位置関係の一例を示す図である。
【図２１】倣い把持動作によって第１物体Ｏ１が指部Ｆ１によって把持された時の第１エンドエフェクターＥ１と第１物体Ｏ１との相対的な位置関係の一例を示す図である。
【図２２】第１エンドエフェクターＥ１により第１物体Ｏ１が把持された時の第１エンドエフェクターＥ１と第１物体Ｏ１との相対的な位置関係の一例を示す図である。
【図２３】図１７に示したフローチャートにおける処理において行われる動作における縦方向検出力の変動を表すグラフの一例を示す図である。
【発明を実施するための形態】
【００１９】
＜第１実施形態＞
以下、本発明の第１実施形態について、図面を参照して説明する。図１は、第１実施形態に係るロボット２０の一例を示す構成図である。
【００２０】
＜ロボットの構成＞
まず、ロボット２０の構成について説明する。
ロボット２０は、例えば、複腕ロボットである。複腕ロボットは、２以上のアーム（腕）を備えるロボットである。図１には、一例として、２つのアームを備えるロボットをロボット２０として示している。このような２つのアームを備えるロボットは、双腕ロボットと称される場合がある。すなわち、図１に示したロボット２０は、複腕ロボットのうちの双腕ロボットである。なお、ロボット２０は、複腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットは、１本のアームを備えるロボットである。例えば、単腕ロボットは、複腕ロボットが備える２以上のアームのうちのいずれか１つを備える。
【００２１】
ロボット２０は、２つのアームとして第１アームと第２アームを備える。また、ロボット２０は、第１アーム及び第２アームを支持する支持台と、ロボット制御装置３０を備える。
【００２２】
第１アームは、第１エンドエフェクターＥ１と、第１マニピュレーターＭ１と、第１力検出部１１を備える。
【００２３】
第１エンドエフェクターＥ１は、この一例において、物体を把持可能な４本の指部Ｆ１１〜Ｆ１４のそれぞれと、第１設置面と、掌部Ｈ１を備えるエンドエフェクターである。図１では、４本の指部Ｆ１１〜指部Ｆ１４のそれぞれをまとめて指部Ｆ１として示している。第１設置面は、第１エンドエフェクターＥ１が有する面のうち、指部Ｆ１１〜指部Ｆ１４のそれぞれが設けられた面のことである。指部Ｆ１１〜指部Ｆ１４のそれぞれは、第１把持部の他の部の一例である。
【００２４】
この一例において、第１エンドエフェクターＥ１の重心の位置には、当該重心とともに動くＴＣＰ（Tool  Center  Point）である制御点Ｔ１１が設定される。制御点Ｔ１１には、当該重心の位置及び姿勢を表す三次元局所座標系が設定される。当該三次元局所座標系の原点は、制御点Ｔ１１、すなわち当該重心の位置を表す。また、当該三次元局所座標系の各座標軸の方向は、制御点Ｔ１１、すなわち当該重心の姿勢を表す。なお、制御点Ｔ１１が設定される位置は、当該重心の位置に代えて、第１エンドエフェクターＥ１に対応付けられた他の位置であってもよい。以下では、一例として、当該三次元局所座標系におけるＺ軸の負の方向が、掌面移動軸ＨＡ１に沿った方向のうち第１設置面から掌面Ｈ１１に向かう方向と一致している場合について説明する。
【００２５】
掌部Ｈ１は、第１エンドエフェクターＥ１を人間の手に対応付けた場合に、人間の掌に対応する部位である。掌部Ｈ１は、第１設置面上の位置であって指部Ｆ１１〜指部Ｆ１４のそれぞれによって囲まれる位置に設けられる。具体的には、指部Ｆ１１と指部Ｆ１３とは、掌部Ｈ１を介して対向しており、指部Ｆ１２と指部Ｆ１４とは、掌部Ｈ１を介して対向している。また、この一例において、指部Ｆ１１〜指部Ｆ１４のそれぞれは、第１設置面上を、制御点Ｔ１１の姿勢を表す三次元局所座標系におけるＸ軸及びＹ軸のそれぞれに沿った方向に移動することができる。指部Ｆ１１〜指部Ｆ１４のそれぞれは、当該Ｘ軸及びＹ軸のそれぞれに沿った方向への移動により、物体を把持することができる。
【００２６】
また、掌部Ｈ１は、図１において図示しない掌面Ｈ１１と、掌面Ｈ１１を移動させる図示しない機構部Ｈ１２を有する。掌面Ｈ１１は、人間の掌の面に対応する面であり、第１設置面に対して水平な面である。掌面Ｈ１１は、機構部Ｈ１２の駆動に伴って、第１設置面と直交する軸である掌面移動軸ＨＡ１に沿って移動する。機構部Ｈ１２は、例えば、直動アクチュエーターを備えており、当該直動アクチュエーターの駆動によって掌面Ｈ１１を掌面移動軸ＨＡ１に沿って移動させる。掌部Ｈ１は、第１把持部の一部の一例である。
【００２７】
第１エンドエフェクターＥ１は、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、第１エンドエフェクターＥ１は、ロボット制御装置３０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。また、第１エンドエフェクターＥ１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。第１エンドエフェクターＥ１は、第１把持部の一例である。
【００２８】
第１マニピュレーターＭ１は、７つの関節と、第１撮像部２１を備える。また、７つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、第１マニピュレーターＭ１を備える第１アームは、７軸垂直多関節型のアームである。第１アームは、支持台と、第１エンドエフェクターＥ１と、第１マニピュレーターＭ１と、第１マニピュレーターＭ１が備える７つの関節それぞれのアクチュエーターとによる連携した動作によって７軸の自由度の動作を行う。なお、第１アームは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【００２９】
第１マニピュレーターＭ１が備える７つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、第１マニピュレーターＭ１を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、第１マニピュレーターＭ１が備える７つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３０】
第１撮像部２１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。この一例において、第１撮像部２１は、第１マニピュレーターＭ１の一部に備えられる。そのため、第１撮像部２１は、第１アームの動きに応じて移動する。また、第１撮像部２１が撮像可能な範囲は、第１アームの動きに応じて変化する。第１撮像部２１は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。
【００３１】
また、第１撮像部２１は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第１撮像部２１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３２】
第１力検出部１１は、第１エンドエフェクターＥ１と第１マニピュレーターＭ１の間に備えられる。第１力検出部１１は、例えば、力センサーである。第１力検出部１１は、第１エンドエフェクターＥ１、又は第１エンドエフェクターＥ１により把持された物体に作用した力やモーメント（トルク）を検出する。第１力検出部１１は、検出した力やモーメントの大きさを示す値を出力値として含む第１力検出情報を通信によりロボット制御装置３０へ出力する。
【００３３】
第１力検出情報は、ロボット制御装置３０による第１アームの第１力検出情報に基づく制御に用いられる。第１力検出情報に基づく制御は、例えば、インピーダンス制御等のコンプライアンス制御のことである。なお、第１力検出部１１は、トルクセンサー等の第１エンドエフェクターＥ１、又は第１エンドエフェクターＥ１により把持された物体に加わる力やモーメントの大きさを示す値を検出する他のセンサーであってもよい。
【００３４】
第１力検出部１１は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第１力検出部１１とロボット制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００３５】
第２アームは、第２エンドエフェクターＥ２と第２マニピュレーターＭ２を備える。第２アームは、第３アームの一例でもある。
【００３６】
第２エンドエフェクターＥ２は、この一例において、物体を把持可能な４本の指部Ｆ２１〜Ｆ２４のそれぞれと、第２設置面と、掌部Ｈ２を備えるエンドエフェクターである。図１では、４本の指部Ｆ２１〜指部Ｆ２４のそれぞれをまとめて指部Ｆ２として示している。第２設置面は、第２エンドエフェクターＥ２が有する面のうち、指部Ｆ２１〜指部Ｆ２４のそれぞれが設けられた面のことである。
【００３７】
この一例において、第２エンドエフェクターＥ２の重心の位置には、当該重心とともに動くＴＣＰである制御点Ｔ２１が設定される。制御点Ｔ２１には、当該重心の位置及び姿勢を表す三次元局所座標系が設定される。当該三次元局所座標系の原点は、制御点Ｔ２１、すなわち当該重心の位置を表す。また、当該三次元局所座標系の各座標軸の方向は、制御点Ｔ２１、すなわち当該重心の姿勢を表す。なお、制御点Ｔ２１が設定される位置は、当該重心の位置に代えて、第２エンドエフェクターＥ２に対応付けられた他の位置であってもよい。以下では、一例として、当該三次元局所座標系におけるＺ軸の負の方向が、掌面移動軸ＨＡ２に沿った方向のうち第２設置面から掌面Ｈ２１に向かう方向と一致している場合について説明する。
【００３８】
掌部Ｈ２は、第２エンドエフェクターＥ２を人間の手に対応付けた場合に、人間の掌に対応する部位である。掌部Ｈ２は、第２設置面上の位置であって指部Ｆ２１〜指部Ｆ２４のそれぞれによって囲まれる位置に設けられる。具体的には、指部Ｆ２１と指部Ｆ２３とは、掌部Ｈ２を介して対向しており、指部Ｆ２２と指部Ｆ２４とは、掌部Ｈ２を介して対向している。また、この一例において、指部Ｆ２１〜指部Ｆ２４のそれぞれは、第２設置面上を、制御点Ｔ２１の姿勢を表す三次元局所座標系におけるＸ軸及びＹ軸のそれぞれに沿った方向に移動することができる。指部Ｆ２１〜指部Ｆ２４のそれぞれは、当該Ｘ軸及びＹ軸のそれぞれに沿った方向への移動により、物体を把持することができる。
【００３９】
また、掌部Ｈ２は、図１において図示しない掌面Ｈ２１と、掌面Ｈ２１を移動させる図示しない機構部Ｈ２２を有する。掌面Ｈ２１は、人間の掌の面に対応する面であり、第２設置面に対して水平な面である。掌面Ｈ２１は、機構部Ｈ２２の駆動に伴って、第２設置面と直交する軸である掌面移動軸ＨＡ２に沿って移動する。機構部Ｈ２２は、例えば、直動アクチュエーターを備えており、当該直動アクチュエーターの駆動によって掌面Ｈ２１を掌面移動軸ＨＡ２に沿って移動させる。
【００４０】
第２エンドエフェクターＥ２は、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、第２エンドエフェクターＥ２は、ロボット制御装置３０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、第２エンドエフェクターＥ２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。第２エンドエフェクターＥ２は、第２把持部又は第３把持部の一例である。
【００４１】
第２マニピュレーターＭ２は、７つの関節と、第２撮像部２２を備える。また、７つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、第２マニピュレーターＭ２を備える第２アームは、７軸垂直多関節型のアームである。第２アームは、支持台と、第２エンドエフェクターＥ２と、第２マニピュレーターＭ２と、第２マニピュレーターＭ２が備える７つの関節それぞれのアクチュエーターとによる連携した動作によって７軸の自由度の動作を行う。なお、第２アームは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【００４２】
第２マニピュレーターＭ２が備える７つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、第２マニピュレーターＭ２を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、第２マニピュレーターＭ２が備える７つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００４３】
第２撮像部２２は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。この一例において、第２撮像部２２は、第２マニピュレーターＭ２の一部に備えられる。そのため、第２撮像部２２は、第２アームの動きに応じて移動する。また、第２撮像部２２が撮像可能な範囲は、第２アームの動きに応じて変化する。第２撮像部２２は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。
【００４４】
また、第２撮像部２２は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２撮像部２２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００４５】
第２力検出部１２は、第２エンドエフェクターＥ２と第２マニピュレーターＭ２の間に備えられる。第２力検出部１２は、例えば、力センサーである。第２力検出部１２は、第２エンドエフェクターＥ２、又は第２エンドエフェクターＥ２により把持された物体に作用した力やモーメント（トルク）を検出する。第２力検出部１２は、検出した力やモーメントの大きさを示す値を出力値として含む第２力検出情報を通信によりロボット制御装置３０へ出力する。
【００４６】
第２力検出情報は、ロボット制御装置３０による第２アームの第２力検出情報に基づく制御に用いられる。第２力検出情報に基づく制御は、例えば、インピーダンス制御等のコンプライアンス制御のことである。なお、第２力検出部１２は、トルクセンサー等の第２エンドエフェクターＥ２、又は第２エンドエフェクターＥ２により把持された物体に加わる力やモーメントの大きさを示す値を検出する他のセンサーであってもよい。
【００４７】
第２力検出部１２は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２力検出部１２とロボット制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００４８】
また、ロボット２０は、第３撮像部２３と、第４撮像部２４を備える。
第３撮像部２３は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第３撮像部２３は、第４撮像部２４が撮像可能な範囲を第４撮像部２４とともにステレオ撮像可能な部位に備えられる。第３撮像部２３は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第３撮像部２３は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００４９】
第４撮像部２４は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第４撮像部２４は、第３撮像部２３が撮像可能な範囲を第３撮像部２３とともにステレオ撮像可能な部位に備えられる。第４撮像部２４は、ケーブルによって通信可能にロボット制御装置３０と接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第４撮像部２４は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００５０】
ロボット制御装置３０は、ロボット２０に内蔵される。ロボット制御装置３０は、ロボット２０に制御信号を送信することにより、ロボット２０を動作させる。これにより、ロボット制御装置３０は、ロボット２０に所定の作業を行わせる。
【００５１】
なお、ロボット制御装置３０は、ロボット２０に内蔵される構成に代えて、ロボット２０の外部に設置される構成であってもよい。この場合、ロボット２０とロボット制御装置３０は、ケーブルによりイーサネット（登録商標）やＵＳＢ等の規格によって行われる有線通信、又はＷｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続され、ロボットシステムを構成する。
【００５２】
また、ロボット２０は、第１撮像部２１と、第２撮像部２２と、第３撮像部２３と、第４撮像部２４のうちの一部又は全部を備えない構成であってもよい。ロボット２０が第１撮像部２１と、第２撮像部２２と、第３撮像部２３と、第４撮像部２４の全部を備えない場合、ロボット制御装置３０には、第１物体Ｏのロボット座標系における位置及び姿勢が予め記憶される。
【００５３】
＜ロボットが行う所定の作業の概要＞
以下、ロボット２０が行う所定の作業の概要について説明する。
この一例において、ロボット２０は、所定の作業として、第１アームと第２アームの両方により作業することが可能な領域である作業領域に配置された物体を把持し、把持した物体を図示しない給材領域に給材（配置）する作業を行う。なお、ロボット２０は、これに代えて、所定の作業として、他の作業を行う構成であってもよい。また、作業領域は、第１アームと第２アームのうちいずれか一方により作業することが可能な領域であってもよい。
【００５４】
図１に示した例では、作業領域は、作業台ＴＢの上面を含む領域である。作業台ＴＢは、例えば、テーブルである。なお、作業台ＴＢは、テーブルに代えて、床面や棚等の他の物体であってもよい。作業台ＴＢの上面には、ロボット２０が把持する物体として、第１物体Ｏが配置されている。なお、作業台ＴＢの上面には、第１物体Ｏが１つだけ配置される構成に代えて、複数の第１物体Ｏが配置される構成であってもよい。
【００５５】
第１物体Ｏは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。図１では、図の簡略化のため、第１物体Ｏを直方体形状の物体として表している。なお、第１物体Ｏは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、第１物体Ｏの形状は、直方体形状に代えて、他の形状であってもよい。また、作業台ＴＢの上面に複数の第１物体Ｏが配置されている場合、当該複数の第１物体Ｏの一部又は全部の形状は、互いに同じ形状であってもよく、互いに異なる形状であってもよい。
【００５６】
なお、ロボット２０は、作業台ＴＢの上面に設置された第１物体Ｏに対して第１エンドエフェクターＥ１により所定の作業を行う構成に代えて、第２エンドエフェクターＥ２により第１物体Ｏを把持し、第２エンドエフェクターＥ２により把持された第１物体Ｏに対して第１エンドエフェクターＥ１により所定の作業を行う構成であってもよい。また、この場合の第１エンドエフェクターＥ１と第２エンドエフェクターＥ２との役割は、逆であってもよい。
【００５７】
＜ロボット制御装置が行う処理の概要＞
以下、ロボット２０に所定の作業を行わせるためにロボット制御装置３０が行う処理の概要について説明する。
【００５８】
ロボット制御装置３０は、作業領域を含む範囲を撮像範囲として第３撮像部２３と第４撮像部２４にステレオ撮像させる。そして、ロボット制御装置３０は、第３撮像部２３と第４撮像部２４がステレオ撮像した撮像画像を取得する。ロボット制御装置３０は、取得した撮像画像に基づいて、作業領域内に配置された第１物体Ｏのロボット座標系における位置及び姿勢を算出する。例えば、ロボット制御装置３０は、当該撮像画像に基づいて、パターンマッチングにより第１物体Ｏのロボット座標系における位置及び姿勢を算出する。なお、以下では、撮像画像上の各点を表す座標は、予め行われたキャリブレーションにより、ロボット座標系における各点を表す座標が対応付けられている場合について説明する。
【００５９】
なお、第１物体Ｏの表面に、第１物体Ｏのロボット座標系における位置及び姿勢を示すマーカーが貼付されていた場合、ロボット制御装置３０は、当該撮像画像から当該マーカーを検出し、検出したマーカーに基づいて第１物体Ｏのロボット座標系における位置及び姿勢を算出する構成であってもよい。
【００６０】
第１物体Ｏの位置は、この一例において、第１物体Ｏの重心の位置によって表される。また、第１物体Ｏの姿勢は、第１物体Ｏの重心の位置に設定された三次元局所座標系の各座標軸の方向によって表される。以下では、一例として、当該三次元局所座標系における３つの座標軸のそれぞれの方向が、ロボット座標系における３つの座標軸のそれぞれの方向と一致する場合について説明する。すなわち、この一例では、当該三次元局所座標系におけるＸ軸の正の方向と、ロボット座標系におけるＸ軸の正の方向とが一致し、当該三次元局所座標系におけるＹ軸の正の方向と、ロボット座標系におけるＹ軸の正の方向とが一致し、当該三次元局所座標系におけるＺ軸の正の方向と、ロボット座標系におけるＺ軸の正の方向とが一致する。
【００６１】
なお、第１物体Ｏの位置は、第１物体Ｏの重心の位置によって表される構成に代えて、第１物体Ｏに対応付けられた他の位置により表される構成であってもよい。また、第１物体Ｏの姿勢は、第１物体Ｏの重心の位置に設定された三次元局所座標系の各座標軸によって表される構成に代えて、第１物体Ｏの他の位置に設定された三次元局所座標系の各座標軸によって表される構成であってもよい。
【００６２】
第１物体Ｏのロボット座標系における位置及び姿勢を算出した後、ロボット制御装置３０は、算出した第１物体Ｏのロボット座標系における位置及び姿勢に基づいて、第１物体Ｏを第１エンドエフェクターＥ１に把持させる。なお、ロボット制御装置３０は、これに代えて、第１物体Ｏを第２エンドエフェクターＥ２に把持させる構成であってもよく、第１エンドエフェクターＥ１と第２エンドエフェクターＥ２の両方に把持させる構成であってもよい。
【００６３】
第１エンドエフェクターＥ１に第１物体Ｏを把持させる際、ロボット制御装置３０は、第１エンドエフェクターＥ１の掌部Ｈ１と第１物体Ｏとを当接させることにより、第１物体Ｏの位置と第１エンドエフェクターＥ１の位置との間の距離のうち、掌面移動軸ＨＡ１に沿った距離を所定の第１距離Ｌ１に一致させる動作である位置決め動作を第１エンドエフェクターＥ１に行わせる。第１距離Ｌ１は、第１物体Ｏを指部Ｆ１１〜指部Ｆ１４のそれぞれによって把持した場合に、第１物体Ｏと第１エンドエフェクターＥ１との相対的な位置及び姿勢が振動等によってずれ難いように把持できる距離であれば、如何なる距離であってもよい。当該位置決め動作の際、ロボット制御装置３０は、第１力検出部１１から取得した第１力検出情報に基づく制御によって、掌部Ｈ１と第１物体Ｏとを当接させる。このような位置決め動作によって、ロボット制御装置３０は、指部に第１物体Ｏ１を把持させる際の誤動作を抑制することができる。
【００６４】
当該位置決め動作の後、ロボット制御装置３０は、指部Ｆ１１〜指部Ｆ１４のそれぞれによって第１物体Ｏを把持させる。この際、ロボット制御装置３０は、制御点Ｔ１１と指部Ｆ１１〜指部Ｆ１４のそれぞれとを移動させ、指部Ｆ１１〜指部Ｆ１４のそれぞれにより第１物体Ｏを把持させた状態における第１エンドエフェクターＥ１の位置と第１物体Ｏの位置との相対的な位置及び姿勢を、所定の把持位置及び把持姿勢と一致させる倣い把持動作を第１エンドエフェクターＥ１に行わせる。
【００６５】
具体的には、倣い把持動作において、ロボット制御装置３０は、第１物体Ｏの位置と第１エンドエフェクターＥ１の位置との間の距離のうち、掌面移動軸ＨＡ１に沿った距離を所定の第１距離Ｌ１に一致させた状態である第１位置決め状態を保ったまま、第１エンドエフェクターＥ１の姿勢を表す三次元局所座標系におけるＸＹ平面（Ｘ軸とＹ軸とによって張られる平面）上における第１物体Ｏの位置と、第１エンドエフェクターＥ１の位置とを一致させるとともに、第１エンドエフェクターＥ１の姿勢を表す三次元局所座標系におけるＸ軸の正の方向と、第１物体Ｏの姿勢を表す三次元局所座標系におけるＸ軸の正の方向とを一致させ、第１エンドエフェクターＥ１の姿勢を表す三次元局所座標系におけるＹ軸の正の方向と、第１物体Ｏの姿勢を表す三次元局所座標系におけるＹ軸の正の方向とを一致させ、第１エンドエフェクターＥ１の姿勢を表す三次元局所座標系におけるＺ軸の正の方向と、第１物体Ｏの姿勢を表す三次元局所座標系におけるＺ軸の正の方向とを一致させる。また、ロボット制御装置３０は、第１力検出部１１から取得した第１力検出情報に基づく制御によって倣い把持動作を行う。
【００６６】
ここで、第１位置決め状態を保ったまま倣い把持動作を行った場合、第１力検出部１１により検出される力であって掌面移動軸ＨＡ１に沿った方向の力である縦方向検出力は、変動する。縦方向検出力は、この一例において、第１力検出部１１が検出する力のうちの制御点Ｔ１１の姿勢を表す三次元局所座標系におけるＺ軸に沿った方向の力である。また、縦方向検出力の変動は、第１力検出部１１により検出される力であって当該方向と直交する方向の力である横方向検出力の変動を生じさせる。横方向検出力は、この一例において、第１力検出部１１が検出する力のうちの制御点Ｔ１１の姿勢を表す三次元局所座標系におけるＸ軸又はＹ軸の少なくとも一方に沿った方向の力である。このような現象は、一般的な力センサーにおいて発生してしまうことが知られている。
【００６７】
また、このような横方向検出力の変動が発生した場合、ロボット制御装置３０は、第１力検出部１１から取得した第１力検出情報に基づく制御によって行われる倣い把持動作において、意図しない動作である誤動作をロボット２０に行わせてしまう場合がある。当該誤動作には、ロボット２０の動作の停止も含まれる。
【００６８】
そこで、ロボット制御装置３０は、第１力検出部１１から取得した第１力検出情報に基づいて、ロボット２０に位置決め動作を行わせた後、掌部Ｈ１を第１物体Ｏから離間させてから倣い把持動作を行わせる。これにより、ロボット制御装置３０は、第１物体Ｏに対する作業において誤動作を抑制することができる。
【００６９】
より具体的には、ロボット制御装置３０は、第１力検出部１１から取得した第１力検出情報に基づいて、ロボット２０に位置決め動作を行わせることによって第１エンドエフェクターＥ１の一部である掌部Ｈ１を動かして第１物体Ｏに当接させた後、掌部Ｈ１と第１物体Ｏとの当接面に垂直な方向を含む方向であって第１物体Ｏから掌部Ｈ１が離間する第１方向に掌部Ｈ１を動かし、ロボット２０に倣い把持動作を行わせることによって第１エンドエフェクターＥ１の他の部である指部Ｆ１１〜指部Ｆ１４のいずれか１つを当該垂直な方向と異なる第２方向から第１物体Ｏに当接させる。これにより、ロボット制御装置３０は、第１物体に対する作業においてロボット２０の誤動作を抑制することができる。
【００７０】
換言すると、ロボット制御装置３０は、第１力検出部１１から取得した第１力検出情報に基づいて、ロボット２０に位置決め動作を行わせることによって掌部Ｈ１を第１物体Ｏに近づけて当接させた後、掌部Ｈ１を第１物体Ｏから遠ざけて、ロボット２０に倣い把持動作を行わせることによって指部Ｆ１１〜指部Ｆ１４のいずれか１つを第１物体Ｏに近づけて当接させる。
【００７１】
すなわち、ロボット制御装置３０を内蔵するロボット２０は、第１力検出部１１から取得した第１力検出情報に基づいて、第１エンドエフェクターＥ１の一部である掌部Ｈ１を動かして第１物体Ｏに当接させた後、掌部Ｈ１と第１物体Ｏとの当接面に垂直な方向を含む方向であって第１物体Ｏから掌部Ｈ１が離間する第１方向に掌部Ｈ１を動かし、第１エンドエフェクターＥ１の他の部である指部Ｆ１１〜指部Ｆ１４のいずれか１つを当該垂直な方向と異なる第２方向から第１物体Ｏに当接させる。これにより、ロボット２０は、第１物体Ｏに対する作業において誤動作を抑制することができる。
【００７２】
換言すると、ロボット制御装置３０を内蔵するロボット２０は、第１力検出部１１から取得した第１力検出情報に基づいて、掌部Ｈ１を第１物体Ｏに近づけて当接させた後、掌部Ｈ１を第１物体Ｏから遠ざけて、指部Ｆ１１〜指部Ｆ１４のいずれか１つを第１物体Ｏに近づけて当接させる。
【００７３】
本実施形態では、ロボット制御装置３０が、第１力検出部１１から取得した第１力検出情報に基づいて、ロボット２０に位置決め動作を行わせた後、掌部Ｈ１を第１物体Ｏから離間させてから倣い把持動作を行わせる処理について詳しく説明する。
【００７４】
倣い把持動作が行われた後、ロボット制御装置３０は、予め記憶された図示しない給材領域を示す情報に基づいて、ロボット２０に第１物体Ｏを当該給材領域に給材（配置）させる。このようにして、ロボット制御装置３０は、ロボット２０に所定の動作を行わせる。
【００７５】
なお、ロボット制御装置３０は、これに代えて、第１力検出部１１から取得した第１力検出情報に基づいて、第１エンドエフェクターＥ１の一部である掌部Ｈ１を動かして第１物体Ｏに当接させた後、掌部Ｈ１と第１物体Ｏとの当接面に垂直な方向を含む方向であって第１物体Ｏから掌部Ｈ１が離間する第１方向に掌部Ｈ１を動かし、掌部Ｈ１と第１物体Ｏとを当接させたまま、第１エンドエフェクターＥ１の他の部である指部Ｆ１１〜指部Ｆ１４のいずれか１つを当該垂直な方向と異なる第２方向から第１物体Ｏに当接させる構成であってもよい。この場合、ロボット制御装置３０は、倣い把持動作において、意図していない横方向検出力の大きさを小さくすることができ、その結果、第１物体Ｏに対する作業において誤動作を抑制することができる。
【００７６】
＜ロボット制御装置のハードウェア構成＞
以下、図２を参照し、ロボット制御装置３０のハードウェア構成について説明する。図２は、ロボット制御装置３０のハードウェア構成の一例を示す図である。ロボット制御装置３０は、例えば、ＣＰＵ（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）等のハードウェア機能部であってもよい。
【００８１】
撮像制御部４０は、作業領域を含む撮像範囲を第３撮像部２３と第４撮像部２４にステレオ撮像させる。
力検出情報取得部４１は、第１力検出部１１から第１力検出情報を取得する。
画像取得部４２は、第３撮像部２３と第４撮像部２４がステレオ撮像した撮像画像を、第３撮像部２３と第４撮像部２４から取得する。
【００８２】
位置姿勢算出部４４は、画像取得部４２が取得した撮像画像に基づいて、第１物体Ｏのロボット座標系における位置及び姿勢を算出する。
ロボット制御部４６は、位置姿勢算出部４４が算出した第１物体Ｏのロボット座標系における位置及び姿勢に基づいて、所定の作業を行わせる。
【００８３】
＜ロボット制御装置がロボットに所定の動作を行わせる処理＞
以下、図４を参照し、ロボット制御装置３０がロボット２０に所定の動作を行わせる処理について説明する。図４は、ロボット制御装置３０がロボット２０に所定の動作を行わせる処理の流れの一例を示すフローチャートである。
【００８４】
撮像制御部４０は、作業領域を含む撮像範囲を第３撮像部２３と第４撮像部２４にステレオ撮像させる（ステップＳ７０）。次に、画像取得部４２は、ステップＳ７０において第３撮像部２３と第４撮像部２４にステレオ撮像された撮像画像を、第３撮像部２３と第４撮像部２４から取得する（ステップＳ８０）。次に、位置姿勢算出部４４は、ステップＳ８０において画像取得部４２が取得した撮像画像に基づいて、第１物体Ｏのロボット座標系における位置及び姿勢を算出する（ステップＳ９０）。
【００８５】
次に、ロボット制御部４６は、予め記憶部３２に記憶された待機位置姿勢情報を記憶部３２から読み出す。待機位置姿勢情報は、例えば、ロボット制御装置３０が第３撮像部２３及び第４撮像部２４から取得した撮像画像に基づいて算出された第１物体Ｏの位置及び姿勢からの相対的な位置及び姿勢を示す情報である。そして、ロボット制御部４６は、記憶部３２から読み出した待機位置姿勢情報と、ステップＳ９０において位置姿勢算出部４４が算出した第１物体Ｏのロボット座標系における位置及び姿勢とに基づいて、第１エンドエフェクターＥ１を所定の待機位置に移動させるとともに、第１エンドエフェクターＥ１の姿勢を所定の待機姿勢に一致させる（ステップＳ１００）。ここで、図５を参照し、ステップＳ１００の処理について説明する。
【００８６】
図５は、第１エンドエフェクターＥ１が所定の待機位置において姿勢を所定の待機姿勢と一致させた時の第１エンドエフェクターＥ１と第１物体Ｏとの位置関係の一例を示す図である。図５に示した三次元座標系の各座標軸は、ロボット座標系の各座標軸を表す。前述した通り、この一例では、第１物体Ｏの姿勢を表す三次元局所座標系の各座標軸と、ロボット座標系の各座標軸とが一致している。また、図５では、掌部Ｈ１の第１物体Ｏに対する相対的な位置を明確にするため、指部Ｆ１２及び指部Ｆ１４を省略している。なお、このような指部Ｆ１２及び指部Ｆ１４の省略は、図５以外の他の図においても掌部Ｈ１の第１物体Ｏに対する相対的な位置を明確にするために行っている。
【００８７】
図５において、第１エンドエフェクターＥ１の位置は、所定の待機位置と一致している。所定の待機位置は、第１物体Ｏの上面に掌面Ｈ１１を当接させることが可能な位置である。例えば、所定の待機位置は、第１物体Ｏの高さが数センチメートルから十数センチメートルの場合、第１物体Ｏの位置からロボット座標系におけるＺ軸の正の方向に数センチメートルから数十センチメートル離れた位置である。また、所定の待機位置は、掌面Ｈ１１から第１物体Ｏに向かう方向に向かって掌面Ｈ１１を見た場合、掌面Ｈ１１と第１物体Ｏとが重なる領域が見える位置である。なお、所定の待機位置は、これに代えて、第１物体Ｏの形状や大きさに応じた他の位置であってもよい。
【００８８】
また、図５において、第１エンドエフェクターＥ１の姿勢は、所定の待機姿勢と一致している。所定の待機姿勢は、この一例において、ロボット座標系ＲＣ（すなわち、第１物体Ｏの姿勢を表す三次元局所座標系）におけるＺ軸と、第１エンドエフェクターＥ１の姿勢を表す三次元局所座標系ＥＣにおけるＺ軸（すなわち、掌面移動軸ＨＡ１）とが一致する姿勢である。また、所定の待機姿勢は、ロボット座標系ＲＣにおけるＸ軸と、三次元局所座標系ＥＣにおけるＸ軸とが一致する姿勢である。また、所定の待機姿勢は、ロボット座標系ＲＣにおけるＹ軸と、三次元局所座標系ＥＣにおけるＹ軸とが一致する姿勢である。なお、所定の待機姿勢は、作業台ＴＢの上面に設置された第１物体Ｏの姿勢に応じた他の姿勢であってもよい。
【００８９】
ステップＳ１００の処理が行われた後、ロボット制御部４６は、力検出情報取得部４１が第１力検出部１１から取得した第１力検出情報に基づく制御によって、掌部Ｈ１を動かして掌面Ｈ１１を第１物体Ｏに当接させる（ステップＳ１１０）。ここで、図６を参照し、ステップＳ１１０の処理について説明する。図６は、ステップＳ１１０の処理によって掌部Ｈ１の掌面Ｈ１１が第１物体Ｏに当接された時の第１エンドエフェクターＥ１と第１物体Ｏとの位置関係の一例を示す図である。図６に示したように、ロボット制御部４６は、ステップＳ１１０の処理によって、掌面Ｈ１１を掌面移動軸ＨＡ１に沿った方向であって掌面Ｈ１１と第１設置面とが離れる方向に向かって移動させ、掌面Ｈ１１を第１物体Ｏの上面に当接させる。なお、図６に示した矢印が示す方向である方向Ａ１は、掌面Ｈ１１を掌面移動軸ＨＡ１に沿った方向であって掌面Ｈ１１と第１設置面とが離れる方向を示している。
【００９０】
ステップＳ１１０の処理が行われた後、ロボット制御部４６は、掌面Ｈ１１を第１物体Ｏに当接させた状態を保ったまま第１エンドエフェクターＥ１（の第１設置面）を掌面移動軸ＨＡ１１に沿って掌面Ｈ１１に近づけ、第１物体Ｏの位置と第１エンドエフェクターＥ１の位置との間の距離のうちの掌面移動軸ＨＡ１に沿った距離を所定の第１距離Ｌ１に一致させる（ステップＳ１２０）。この際、ロボット制御部４６は、予め記憶部３２に記憶された第１エンドエフェクターＥ１の構造を示す情報と、予め記憶部３２に記憶された情報であって第１物体Ｏの形状や大きさを示す情報とを記憶部３２から読み出し、読み出した情報に基づいて、第１物体Ｏの位置と第１エンドエフェクターＥ１の位置との間の距離のうちの掌面移動軸ＨＡ１に沿った距離が所定の第１距離Ｌ１と一致したか否かを判定する。
【００９１】
ここで、図７を参照し、ステップＳ１２０の処理について説明する。図７は、ステップＳ１２０の処理によって第１物体Ｏの位置と第１エンドエフェクターＥ１の位置との間の距離のうちの掌面移動軸ＨＡ１に沿った距離が所定の第１距離Ｌ１と一致した時の第１エンドエフェクターＥ１と第１物体Ｏとの相対的な位置関係の一例を示す図である。図５に示した点Ｇは、第１物体Ｏの重心の位置を表している。また、図５において、掌面Ｈ１１は、第１物体Ｏに当接されている。ステップＳ１２０において、ロボット制御部４６は、掌面Ｈ１１を第１物体Ｏに当接させた状態を保ったまま、第１エンドエフェクターＥ１を図５に示した矢印が示す方向である方向Ａ２に向かって移動させることにより、第１エンドエフェクターＥ１（の第１設置面）を掌面移動軸ＨＡ１１に沿って掌面Ｈ１１に近づける。方向Ａ２は、掌面移動軸ＨＡ１に沿った方向であって第１設置面から掌面Ｈ１１に向かう方向である。
【００９２】
そして、ロボット制御部４６は、第１物体Ｏの位置と第１エンドエフェクターＥ１の位置との間の距離のうちの掌面移動軸ＨＡ１に沿った距離を所定の第１距離Ｌ１に一致させる。図５に示した例では、第１エンドエフェクターＥ１（の重心）の位置を表す三次元局所座標系ＥＣの原点と、第１物体Ｏ（の重心）の位置を示す点Ｇとの間の距離であって、掌面移動軸ＨＡ１に沿った距離が、第１距離Ｌ１に一致している。
【００９３】
このように、ステップＳ１１０の処理とステップＳ１２０の処理とにより、ロボット制御部４６は、ロボット２０に前述の位置決め動作を行わせる。すなわち、図７に示した第１エンドエフェクターＥ１と第１物体Ｏとの相対的な位置関係は、ロボット制御部４６が第１エンドエフェクターＥ１に位置決め動作を行わせた時の第１エンドエフェクターＥ１と第１物体Ｏとの相対的な位置関係である。この位置決め動作により、ロボット制御部４６は、指部に第１物体Ｏ１を把持させる際の誤動作を抑制することができる。
【００９４】
ステップＳ１２０の処理が行われた後、ロボット制御部４６は、掌部Ｈ１を第１物体Ｏから離間させる（ステップＳ１３０）。ここで、図８を参照し、ステップＳ１３０の処理について説明する。図８は、ステップＳ１３０の処理によって、掌部Ｈ１が第１物体Ｏから離間した時の第１エンドエフェクターＥ１と第１物体Ｏとの相対的な位置関係の一例を示す図である。
【００９５】
ステップＳ１３０において、ロボット制御部４６は、掌部Ｈ１と第１物体Ｏとの当接面に垂直な方向を含む方向であって第１物体Ｏから掌部Ｈ１が離間する方向である第１方向に掌部Ｈ１を動かして掌部Ｈ１と第１物体Ｏとを離間させる。図８において、掌部Ｈ１と第１物体Ｏとの当接面は、第１物体Ｏの上面であるとともに掌面Ｈ１１である。この一例において、これらの面は、ロボット座標系ＲＣにおけるＺ軸に直交する面である。従って、この一例における第１方向は、掌面移動軸ＨＡ１に沿った方向であって、掌面Ｈ１１から第１設置面に向かう方向である。換言すると、この一例における第１方向は、ロボット座標系ＲＣにおけるＺ軸の正の方向であり、三次元局所座標系ＥＣにおけるＺ軸の正の方向である。図８に示した矢印が示す方向である方向Ａ３は、この一例における第１方向を示している。なお、第１方向は、方向Ａ３に代えて、当該当接面に垂直な方向を含む方向であって第１物体Ｏから掌部Ｈ１が離間する方向であれば他の方向であってもよい。
【００９６】
また、ロボット制御部４６は、掌部Ｈ１が有する機構部Ｈ１２を駆動させることによって掌面Ｈ１１を第１方向に向かって移動させ、掌部Ｈ１を第１物体Ｏから離間させる。なお、ロボット制御部４６は、これに代えて、第１エンドエフェクターＥ１の位置に対する相対的な掌部Ｈ１（の掌面Ｈ１１）の位置を変化させないまま、第１エンドエフェクターＥ１を第１方向に向かって移動させることにより、掌部Ｈ１を第１物体Ｏから離間させる構成であってもよい。この場合、ロボット制御部４６が第１エンドエフェクターＥ１を移動させる位置は、掌部Ｈ１を第１物体Ｏから離間させることが可能な位置であって、指部Ｆ１による第１物体Ｏの把持が可能な位置であれば如何なる位置であってもよい。
【００９７】
ステップＳ１３０の処理が行われた後、ロボット制御部４６は、倣い把持動作処理を行うことにより、ロボット２０に倣い把持動作を行わせ、制御点Ｔ１１と指部Ｆ１１〜指部Ｆ１４のそれぞれとを移動させ、指部Ｆ１１〜指部Ｆ１４のそれぞれにより第１物体Ｏを把持させた状態における制御点Ｔ１１の位置（すなわち、第１エンドエフェクターＥ１の位置）と第１物体Ｏの位置との相対的な位置及び姿勢を、所定の把持位置及び把持姿勢と一致させる（ステップＳ１４０）。ここで、図９及び図１０を参照し、ステップＳ１４０の処理について説明する。図９は、ステップＳ１４０の処理が行われている間に指部Ｆ１３が第１物体Ｏに当接した時の第１エンドエフェクターＥ１と第１物体Ｏとの相対的な位置関係の一例を示す図である。
【００９８】
以下では、図９において、指部Ｆ１１〜指部Ｆ１４のうちの指部Ｆ１３のみが第１物体Ｏに当接している場合について説明する。すなわち、図９に示した例は、指部Ｆ１１〜指部Ｆ１４のうちの指部Ｆ１３が最も早く第１物体Ｏに当接した場合の例である。ステップＳ１４０において、ロボット制御部４６は、図９に示した矢印が示す方向である方向Ａ４に向かって制御点Ｔ１１の位置を移動させ、制御点Ｔ１１の位置、すなわち第１エンドエフェクターＥ１の位置及び姿勢と、第１物体Ｏの位置及び姿勢との相対的な位置及び姿勢を、所定の把持位置及び把持姿勢と一致させる。
【００９９】
所定の把持位置は、この一例において、掌面移動軸ＨＡ１が制御点Ｔ１１と第１物体Ｏの重心との両方を通る位置であり、第１物体Ｏの位置と第１エンドエフェクターＥ１の位置との間の距離のうちの掌面移動軸ＨＡ１に沿った距離が第１距離Ｌ１と一致する位置である。また、所定の把持姿勢は、この一例において、ロボット座標系ＲＣ（すなわち、第１物体Ｏの姿勢を表す三次元局所座標系）におけるＺ軸と、第１エンドエフェクターＥ１の姿勢を表す三次元局所座標系ＥＣにおけるＺ軸（すなわち、掌面移動軸ＨＡ１）とが一致する姿勢である。また、所定の待機姿勢は、ロボット座標系ＲＣにおけるＸ軸と、三次元局所座標系ＥＣにおけるＸ軸とが一致する姿勢である。また、所定の待機姿勢は、ロボット座標系ＲＣにおけるＹ軸と、三次元局所座標系ＥＣにおけるＹ軸とが一致する姿勢である。
【０１００】
ロボット制御部４６は、このように制御点Ｔ１１の位置及び姿勢と第１物体Ｏの位置及び姿勢との相対的な位置及び姿勢を所定の把持位置及び把持姿勢と一致させるために制御点Ｔ１１を方向Ａ４に向かって移動させながら、指部Ｆ１１〜指部Ｆ１４のそれぞれを第１物体Ｏに近づく方向に移動させることにより、指部Ｆ１１〜指部Ｆ１４のそれぞれに第１物体Ｏを把持させる。
【０１０１】
この際、ロボット制御部４６は、力検出情報取得部４１が第１力検出部１１から取得した第１力検出情報に基づく制御によって、指部Ｆ１１〜指部Ｆ１４のそれぞれについて、第１物体Ｏに当接するまで指部を第１物体Ｏに近づける。図９に示した例では、ロボット制御部４６は、図９に示した矢印が示す方向である方向Ａ５に向かって指部Ｆ１１を移動させ、指部Ｆ１１を第１物体Ｏに近づける。この一例において、方向Ａ５は、ロボット座標系ＲＣにおけるＹ軸の負の方向である。また、図９に示した例では、ロボット制御部４６は、図９に示した矢印が示す方向である方向Ａ６に向かって指部Ｆ１３を移動させ、指部Ｆ１３を第１物体Ｏに近づける。この一例において、方向Ａ６は、ロボット座標系ＲＣにおけるＹ軸の正の方向である。
【０１０２】
例えば、ロボット制御部４６は、図９に示したように、指部Ｆ１１〜指部Ｆ１４のうちの指部Ｆ１３を第１物体Ｏに当接したと判定した場合、指部Ｆ１３の位置を、指部Ｆ１３が第１物体Ｏに当接した位置から変化させずに固定する。そして、ロボット制御部４６は、指部Ｆ１３の位置が固定させたまま、指部Ｆ１１と、指部Ｆ１２と、指部Ｆ１４とのそれぞれを、当該それぞれが第１物体Ｏと当接するまで第１物体Ｏに向かって近づけさせる。このような指部の動作を指部Ｆ１１〜指部Ｆ１４のそれぞれについて行うことにより、ロボット制御部４６は、指部Ｆ１１〜指部Ｆ１４の全てを第１物体Ｏに当接させる。
【０１０３】
ロボット制御部４６は、制御点Ｔ１１の位置及び姿勢と第１物体Ｏの位置及び姿勢との相対的な位置及び姿勢が所定の把持位置及び把持姿勢と一致するとともに、指部Ｆ１１〜指部Ｆ１４の全てが第１物体Ｏと当接した場合、指部Ｆ１１〜指部Ｆ１４のそれぞれに第１物体Ｏに対して所定の把持力を加えさせ、図１０に示したように第１エンドエフェクターＥ１に第１物体Ｏを把持させる。
【０１０４】
図１０は、第１エンドエフェクターＥ１により第１物体Ｏが把持された時の第１エンドエフェクターＥ１と第１物体Ｏとの相対的な位置関係の一例を示す図である。図１０に示した例では、制御点Ｔ１１の位置及び姿勢と第１物体Ｏの位置及び姿勢との相対的な位置及び姿勢が所定の把持位置及び把持姿勢と一致している。また、当該例では、指部Ｆ１１〜指部Ｆ１４の全てが第１物体Ｏと当接している。
【０１０５】
ステップＳ１４０の処理が行われた後、ロボット制御部４６は、記憶部３２から給材領域の位置を示す情報を読み出し、読み出した当該情報に基づいて、第１エンドエフェクターＥ１を移動させ、ステップＳ１４０において第１エンドエフェクターＥ１（の指部Ｆ１）により把持された第１物体Ｏを給材領域に給材する（ステップＳ１５０）。
【０１０６】
以上のように、ロボット制御部４６は、ロボット２０に所定の動作を行わせる。この際、ロボット制御部４６は、第１エンドエフェクターＥ１に位置決め動作を行わせた後、当該位置決め動作によって第１物体Ｏに当接させた掌部Ｈを離間させる動作を行わせてから倣い把持動作を行わせる。これにより、ロボット制御部４６は、第１物体Ｏに対する作業において誤動作を抑制することができる。すなわち、ロボット制御装置３０を内蔵するロボット２０は、第１物体Ｏに対する作業において誤動作を抑制することができる。
【０１０７】
＜倣い把持動作において第１力検出部が検出する力の変動＞
以下、図１１及び図１２を参照し、図４に示したステップＳ１４０の処理によって行われる倣い把持動作における縦方向検出力及び横方向検出力の変動について説明する。図１１は、倣い把持動作における縦方向検出力の変動を表すグラフの一例を示す図である。図１１に示したグラフの縦軸は、当該縦方向検出力の大きさを表す。図１１に示したグラフの横軸は、時間を表す。
【０１０８】
図１１に示した時刻ｔｓ０は、図４に示したステップＳ７０の処理が開始された時刻である。また、図１１に示した時刻ｔｓ１は、図４に示したステップＳ１１０の処理において掌面Ｈ１１が第１物体Ｏに当接した時刻である。また、図１１に示した時刻ｔｓ２は、図４に示したステップＳ１３０の処理において掌面Ｈ１１が第１物体Ｏから離間した時刻である。また、図１１に示した時刻ｔｓ３は、図４に示したステップＳ１４０の処理が終了した時刻である。
【０１０９】
この一例において、時刻ｔｓ０〜時刻ｔｓ１の区間と、時刻ｔｓ２〜時刻ｔｓ３の区間では、縦方向検出力は、変動していない。一方、時刻ｔｓ１〜時刻ｔｓ２の区間では、縦方向検出力の大きさが変動している。図１１に示した例では、当該区間において縦方向検出力の最大値が力ＦＦ１となっている。これは、ロボット制御部４６が第１力検出情報に基づく制御によって、第１力検出部１１が検出する力のうち三次元局所座標系ＥＣにおけるＺ軸の正の方向の力が力ＦＦ１と一致するまで掌部Ｈ１を第１物体Ｏに向かって移動させた結果である。
【０１１０】
図１１に示したように、ロボット制御部４６がロボット２０に位置決め動作を行わせた後（時刻ｔｓ２の後）に掌面Ｈ１１を第１物体Ｏから離間させるため、倣い把持動作が行われている時間帯の縦方向検出力は、ゼロであり、ゼロのまま変化しない。
【０１１１】
一方、図１２は、倣い把持動作が行われている時間帯における横方向検出力の変動を表すグラフの一例を示す図である。図１２に示したグラフの縦軸は、当該横方向検出力の大きさを表す。図１２に示したグラフの横軸は、時間を表す。図１２に示した時刻ｔｓ４は、図１１に示した時刻ｔｓ２〜時刻ｔｓ３の区間において倣い把持動作が開始された時刻である。また、図１２に示した時刻ｔｓ５は、図１１に示した時刻ｔｓ２〜時刻ｔｓ３の区間において指部Ｆ１１〜指部Ｆ１４のいずれかが第１物体Ｏに当接する直前の時刻である。図１２に示したように、時刻ｔｓ４〜時刻ｔｓ５の区間、すなわち倣い把持動作が行われている時間帯では、縦方向検出力が変動しないため、横方向検出力も変動していない。
【０１１２】
これに対し、図４に示したステップＳ１３０の処理を行わない他のロボット制御装置Ｘが、ステップＳ７０〜ステップＳ１２０までの処理と、ステップＳ１４０の処理とを順に行った場合、縦方向検出力が変動するため、横方向検出力が図１３に示したように変動する。
【０１１３】
図１３は、ロボット制御装置Ｘが図４に示したステップＳ７０〜ステップＳ１２０までの処理と、ステップＳ１４０の処理とを順に行った場合の横方向検出力の変動を表すグラフの一例を示す図である。図１３に示したように、当該場合、横方向検出力が変動してしまうため、ロボット制御装置Ｘがロボット２０に所定の作業を行わせると、倣い把持動作が行われている時間帯に、ロボット２０に誤動作を行わせてしまうことがある。例えば、このような横方向検出力の変動によって、第１力検出情報に基づく制御において設定されている閾値であってロボット２０の動作を停止させるための閾値を横方向検出力が超えたとロボット制御装置Ｘが判定した場合、ロボット制御装置Ｘは、ロボット２０を停止させてしまう。
【０１１４】
ロボット制御装置３０は、ロボット２０に所定の作業を行わせる際、図４に示したステップＳ１３０の処理によって、掌面Ｈ１１を第１物体Ｏから離間させるため、図１３に示したような横方向検出力の変動が生じず、その結果、ロボット２０に誤動作を行わせてしまうことを抑制することができる。
【０１１５】
なお、第１実施形態において、第１把持部の一部の一例は、掌部Ｈ１に代えて、指部Ｆ１であってもよく、第１把持部の他の部の一例は、指部Ｆ１に代えて、掌部Ｈ１であってもよい。この場合、ロボット２０は、例えば、指部Ｆ１によって位置決め動作を行ってから指部Ｆ１を第１物体Ｏから離間させた後、第２方向から掌部Ｈ１を第１物体Ｏに当接させる。
【０１１６】
以上説明したように、第１実施形態におけるロボット２０は、力検出部（この一例において、第１力検出部１１）からの出力に基づいて、第１把持部（この一例において、第１エンドエフェクターＥ１）の一部（この一例において、掌部Ｈ１）を動かして第１物体（この一例において、第１物体Ｏ）に当接させた後、当該一部と第１物体との当接面に垂直な方向を含む方向であって第１物体から当該一部が離間する第１方向に当該一部を動かし、第１把持部の他の部（この一例において、指部Ｆ１１〜指部Ｆ１４のいずれか）を当該垂直な方向と異なる第２方向から第１物体に当接させる。これにより、ロボット２０は、第１物体に対する作業において誤動作を抑制することができる。
【０１１７】
また、ロボット２０は、第１方向に第１把持部の一部を動かして当該一部と第１物体とを離間させ、第１把持部の他の部を第２方向から第１物体に当接させる。これにより、ロボット２０は、意図していない外力が力検出部により検出されることを抑制し、第１物体に対する作業において、より確実に誤動作を抑制することができる。
【０１１８】
また、ロボット２０は、第１把持部の他の部を第２方向から第１物体に当接させた後、第１把持部により第１物体を把持する。これにより、ロボット２０は、第１物体を把持する動作を伴う作業において誤動作を抑制することができる。
【０１１９】
また、ロボット２０は、第１物体を第２把持部（この一例において、第２エンドエフェクターＥ２）により把持した状態で、第１把持部の一部を動かして第１物体に当接させた後、第１方向に当該一部を動かし、第１把持部の他の部を第２方向から第１物体に当接させる。これにより、ロボット２０は、第１物体を第２把持部により把持した状態で第１把持部により行われる第１物体に対する作業において、誤動作の発生を抑制することができる。
【０１２０】
また、ロボット２０は、力検出部からの出力に基づいて、把持部の一部を第１物体に近づけて当接させた後、当該一部を第１物体から遠ざけて、把持部の他の部を第１物体に近づけて当接させる。これにより、ロボット２０は、第１物体に対する作業において誤動作を抑制することができる。
【０１２１】
＜第２実施形態＞
以下、本発明の第２実施形態について、図面を参照して説明する。なお、第２実施形態におけるロボット２０の構成は、第１実施形態におけるロボット２０の構成と同様な構成であるため、説明を省略する。
【０１２２】
＜ロボットが行う所定の作業の概要＞
以下、第２実施形態においてロボット２０が行う所定の作業の概要について説明する。
図１４は、第２実施形態に係るロボット２０の一例を示す構成図である。図１４において、第２実施形態におけるロボット２０は、所定の作業として、第１エンドエフェクターＥ１を動作させ、第１力検出情報に基づいて、掌部Ｈ１を動かして第１物体Ｏ１に当接させた後、掌部Ｈ１と第１物体Ｏ１との当接面に垂直な方向を含む方向であって第１物体Ｏ１から掌部Ｈ１が離間する第１方向に掌部Ｈ１を動かし、指部Ｆ１１〜指部Ｆ１４のいずれかを第２方向から第１物体Ｏ１に当接させた後、第１方向と異なる第３方向に第１物体Ｏ１を動かし、第１物体Ｏ１と嵌合する第２物体Ｏ２と、第１物体Ｏ１とを嵌合させる。なお、ロボット２０は、これに代えて、所定の作業として、第１エンドエフェクターＥ１によって第１物体Ｏ１を動かし、第２物体Ｏ２と、第１物体Ｏ１とを分解させる構成であってもよい。
【０１２３】
この一例において、第１物体Ｏ１と第２物体Ｏ２は、作業台ＴＢの上面において予め所定の組付状態となるように予め組み付けられている。所定の組付状態では、第１物体Ｏ１の位置及び姿勢と、第２物体Ｏ２の位置及び姿勢との相対的な位置及び姿勢が、所定の組付位置及び組付姿勢と一致している。そして、第１物体Ｏ１及び第２物体Ｏ２は、作業台ＴＢの上面に設置されている。なお、第１物体Ｏ１と第２物体Ｏ２とは、予め組み付けられている構成に代えて、互いに異なる場所に配置されている構成であってもよい。この場合、ロボット２０は、第１物体Ｏ１が配置された場所から第１物体Ｏ１を把持し、第１物体Ｏ１と第２物体Ｏ２とが所定の組付状態となるように、第１物体Ｏ１が配置された場所と異なる場所に配置された第２物体Ｏ２に第１物体Ｏ１を組み付ける。
【０１２４】
ここで、図１５及び図１６を参照し、第１物体Ｏ１と第２物体Ｏ２について説明する。図１５は、所定の組付状態における第１物体Ｏ１と第２物体Ｏ２のそれぞれの一例を示す図である。
【０１２５】
まず、第２物体Ｏ２について説明する。第２物体Ｏ２は、作業台ＴＢの上面に設置されている。この一例において、作業台ＴＢの上面は、ロボット座標系ＲＣにおけるＺ軸に直交する面である。第２物体Ｏ２は、作業台ＴＢの上面と接面している面と対向する面であってロボット座標系におけるＺ軸と直交する面である第２物体Ｏ２の上面を有する。第２物体Ｏ２の上面の形状は、この一例において、長方形である。なお、第２物体Ｏ２の上面の形状は、これに代えて、他の形状であってもよい。
【０１２６】
第２物体Ｏ２の上面には、当該長方形の長手方向の２つの端部のうちの一方に、ロボット座標系ＲＣにおけるＺ軸の正の方向に延伸する板状の突出部Ｗ１が形成されている。また、当該上面には、当該端部の他方に、ロボット座標系ＲＣにおけるＺ軸の正の方向に延伸する板状の突出部Ｗ２が形成されている。
【０１２７】
突出部Ｗ１と突出部Ｗ２は、互いに対向している。突出部Ｗ１は、突出部Ｗ２と対向する面を有する。突出部Ｗ１には、当該面からロボット座標系ＲＣにおけるＹ軸の正の方向に向かって突起部Ｔ１が設けられている。突起部Ｔ１の形状は、当該Ｙ軸の正の方向に向かって中心軸を有する円筒の形状である。突出部Ｗ２は、突出部Ｗ１と対向する面を有する。突出部Ｗ２には、当該面からロボット座標系ＲＣにおけるＹ軸の負の方向に向かって突起部Ｔ２が設けられている。突起部Ｔ２の形状は、当該Ｙ軸の負の方向に向かって中心軸を有する円筒の形状である。この一例において、突起部Ｔ１の中心軸は、突起部Ｔ２の中心軸と一致している。なお、突起部Ｔ１の中心軸は、突起部Ｔ２の中心軸と一致していない構成であってもよい。
【０１２８】
第２物体Ｏ２に組み付けられている第１物体Ｏ１は、第２物体Ｏ２の上面と対向する面であってロボット座標系におけるＺ軸と直交する面である第１物体Ｏ１の下面を有する。また、第１物体Ｏ１は、当該下面と対向する面であって当該Ｚ軸と直交する面である第１物体Ｏ１の上面を有する。この一例において、第１物体Ｏ１は、当該上面及び当該下面を有する板状の物体である。
【０１２９】
第１物体Ｏ１の下面には、バネＳ１とバネＳ２がそれぞれ設けられている。バネＳ１は、第１物体Ｏ１の下面のうちの第２物体Ｏ２が有する突出部Ｗ１側の面に設けられており、バネＳ２は、当該下面のうちの第２物体Ｏ２が有する突出部Ｗ２側の面に設けられている。この一例において、バネＳ１とバネＳ２は、第１物体Ｏ１の下面においてロボット座標系ＲＣにおけるＹ軸に沿って並んで設けられている。
【０１３０】
図１５に示したように、所定の組付状態において、第１物体Ｏ１の下面と第２物体Ｏ２の上面とが対向し、バネＳ１及びバネＳ２のそれぞれの端部のうちの第１物体Ｏ１の下面と反対側の端部が第２物体Ｏ２の上面と当接する。
【０１３１】
また、所定の組付状態における第１物体Ｏ１の端部のうちの第２物体Ｏ２が有する突出部Ｗ１側の端部である端部ＯＥ１には、第２物体Ｏ２が有する突起部Ｔ１と嵌合する嵌合部ＣＣ１が形成されている。また、所定の組付状態における第１物体Ｏ１の端部のうちの第２物体Ｏ２が有する突出部Ｗ２側の端部である端部ＯＥ２には、第２物体Ｏ２が有する突起部Ｔ２と嵌合する嵌合部ＣＣ２が形成されている。
【０１３２】
ここで、図１６を参照し、嵌合部ＣＣ１と嵌合部ＣＣ２について説明する。図１６は、第１物体Ｏ１及び第２物体Ｏ２を図１５に示した切断面Ｋ−Ｋにおいて切断した際の切断面の一例を示す図である。端部ＯＥ１には、嵌合部ＣＣ１として、第１溝と第２溝が形成されている。なお、第１溝及び第２溝の幅は、形状が円筒である突起部Ｔ１の直径よりも大きい。第１溝は、第１物体Ｏ１の下面から当該下面と第１物体Ｏ１の上面との間まで、当該下面から当該上面に向かって形成されている。すなわち、第１溝は、端部ＯＥ１の端部のうちの当該下面側の端部から当該下面と当該上面との間までロボット座標系ＲＣにおけるＺ軸の正の方向に延伸する溝である。以下では、説明の便宜上、当該間を、第１溝の終端と称して説明する。第２溝は、第１溝の終端から、当該終端と端部ＯＥ１における端部のうちのロボット座標系ＲＣにおけるＸ軸の正の方向側の端部との間まで当該Ｘ軸の正の方向に延伸する溝である。
【０１３３】
なお、この一例における第１物体Ｏ１は、ロボット座標系ＲＣにおけるＹ軸に沿って対称な構造を有している。すなわち、嵌合部ＣＣ１の形状と、嵌合部ＣＣ２の形状とは同じ形状であるため、以下では、嵌合部ＣＣ２についての説明を省略する。
【０１３４】
図１５に示した所定の組付状態における第１物体Ｏ１と第２物体Ｏ２において、嵌合部ＣＣ１が有する第１溝には、第１溝の終端と反対側の端部から突起部Ｔ１がロボット座標系ＲＣにおけるＺ軸の正の方向に向かって挿通されている。当該状態において、第１物体Ｏ１は、バネＳ１及びバネＳ２によって支持されているため、第２物体Ｏ２の上面から突起部Ｔ１までの高さは、当該上面から嵌合部ＣＣ１が有する第２溝の高さよりも低い。当該上面から突起部Ｔ１までの高さは、当該上面に最も近い突起部Ｔ１の部位までの当該上面からのロボット座標系ＲＣにおけるＺ軸に沿った方向の距離である。また、第２溝の高さは、当該上面に最も近い第２溝の部位までの当該上面から当該Ｚ軸に沿った方向の距離である。このため、第１物体Ｏ１をロボット座標系ＲＣにおけるＸ軸の負の方向に動かしても（並進させても）、突起部Ｔ１は、第１溝に干渉し、嵌合部ＣＣ１の第２溝に挿通されない。
【０１３５】
このような第１物体Ｏ１及び第２物体Ｏ２に対して、ロボット２０は、前述の所定の作業を行う。具体的には、ロボット２０は、第１力検出情報に基づいて、縦方向検出力が所定の第１閾値以上の力であると判定するまで掌部Ｈ１を動かし、第１物体Ｏ１に当接させてロボット座標系ＲＣにおけるＺ軸の負の方向に押す。これにより、第２物体Ｏ２の上面から突起部Ｔ１までの高さは、当該上面から嵌合部ＣＣ１が有する第２溝の高さよりも高くなる。しかし、この場合、ロボット２０は、突起部Ｔ１と第１溝の終端とを接触させてしまうことにより、第１物体Ｏ１をロボット座標系ＲＣにおけるＸ軸の負の方向に向かって動かせず、嵌合部ＣＣ１が有する第２溝に突起部Ｔ１を挿通させて第１物体Ｏ１と第２物体Ｏ２とを嵌合させることができない場合がある。
【０１３６】
そこで、ロボット２０は、掌部Ｈ１を第１物体Ｏ１に当接させた状態を保ったまま、掌部Ｈ１により第１物体Ｏ１をロボット座標系ＲＣにおけるＺ軸の負の方向に押した後、掌部Ｈ１と第１物体Ｏ１との当接面に垂直な方向を含む方向であって第１物体Ｏ１から掌部Ｈ１が離間する第１方向に掌部Ｈ１を動かす。この一例において、掌部Ｈ１と第１物体Ｏ１との当接面は、第１物体Ｏ１の上面である。すなわち、この一例における第１方向は、ロボット座標系ＲＣにおけるＺ軸に沿った方向である。これにより、ロボット２０は、突起部Ｔ１と第１溝の終端とを離間させることができ、第２物体Ｏ２の上面から突起部Ｔ１までの高さを、当該上面から嵌合部ＣＣ１が有する第２溝の高さよりも高く、当該上面から第１溝の終端までの高さよりも低くすることができる。
【０１３７】
掌部Ｈ１を第１物体Ｏ１に当接させた状態を保ったまま第１方向に掌部Ｈ１を動かした後、ロボット２０は、第１実施形態において説明した倣い把持動作によって指部Ｆ１により第１物体Ｏ１を把持する。そして、ロボット２０は、第１エンドエフェクターＥ１により、第１方向と異なる第３方向に第１物体Ｏ１を動かし、突起部Ｔ１を嵌合部ＣＣ１が有する第２溝に挿通するとともに、突起部Ｔ２を嵌合部ＣＣ２が有する第２溝に挿通することにより、第２物体Ｏ２と第１物体Ｏ１とを嵌合させる。すなわち、この一例において、第３方向は、ロボット座標系ＲＣにおけるＸ軸の負の方向である。
【０１３８】
なお、ロボット２０は、第１エンドエフェクターＥ１によって第１物体Ｏ１を第２物体Ｏ２に嵌合させる作業に代えて、第２物体Ｏ２と嵌合した第１物体Ｏ１を第２物体Ｏ２から分解させる作業を所定の作業として行う構成であってもよい。この場合、ロボット２０は、第１力検出情報に基づいて、掌部Ｈ１を動かして第１物体Ｏ１に当接させた後、掌部Ｈ１と第１物体Ｏ１との当接面に垂直な方向を含む方向であって第１物体Ｏ１から掌部Ｈ１が離間する第１方向に掌部Ｈ１を動かし、指部Ｆ１１〜指部Ｆ１４のいずれかを当該垂直な方向と異なる第２方向から第１物体Ｏ１に当接させた後、第１方向と異なる第３方向に第１物体Ｏ１を動かし、第１物体Ｏ１と嵌合する第１物体Ｏ１と、第１物体Ｏ１とを分解させる。
【０１３９】
また、ロボット２０は、第２エンドエフェクターＥ２により第２物体Ｏ２を把持し、第１エンドエフェクターＥ１によって第２物体Ｏ２に組み付けられている第１物体Ｏ１に対して所定の作業を行う構成であってもよい。この場合、第１エンドエフェクターＥ１と第２エンドエフェクターＥ２の役割は、逆であってもよい。また、この場合、第２エンドエフェクターＥ２は、第３把持部の一例である。
【０１４０】
＜ロボット制御装置のハードウェア構成及び機能構成＞
第２実施形態におけるロボット制御装置３０のハードウェア構成及び機能構成は、第１実施形態におけるロボット制御装置３０のハードウェア構成及び機能構成と同様な構成であるため、説明を省略する。
【０１４１】
＜ロボット制御装置がロボットに所定の作業を行わせる処理＞
以下、図１７を参照し、第２実施形態におけるロボット制御装置３０がロボット２０に所定の作業を行わせる処理について説明する。図１７は、第２実施形態におけるロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
【０１４２】
撮像制御部４０は、作業領域を含む撮像範囲を第３撮像部２３と第４撮像部２４にステレオ撮像させる（ステップＳ２００）。次に、画像取得部４２は、ステップＳ２００において第３撮像部２３と第４撮像部２４にステレオ撮像された撮像画像を、第３撮像部２３と第４撮像部２４から取得する（ステップＳ２１０）。次に、位置姿勢算出部４４は、ステップＳ８０において画像取得部４２が取得した撮像画像に基づいて、第１物体Ｏ１のロボット座標系における位置及び姿勢を算出する（ステップＳ２２０）。
【０１４３】
第１物体Ｏ１の位置は、この一例において、第１物体Ｏ１の重心の位置によって表される。また、第１物体Ｏ１の姿勢は、第１物体Ｏ１の重心の位置に設定された三次元局所座標系の各座標軸の方向によって表される。以下では、一例として、当該三次元局所座標系における３つの座標軸のそれぞれの方向が、ロボット座標系における３つの座標軸のそれぞれの方向と一致する場合について説明する。すなわち、この一例では、当該三次元局所座標系におけるＸ軸の正の方向と、ロボット座標系におけるＸ軸の正の方向とが一致し、当該三次元局所座標系におけるＹ軸の正の方向と、ロボット座標系におけるＹ軸の正の方向とが一致し、当該三次元局所座標系におけるＺ軸の正の方向と、ロボット座標系におけるＺ軸の正の方向とが一致する。
【０１４４】
なお、第１物体Ｏ１の位置は、第１物体Ｏ１の重心の位置によって表される構成に代えて、第１物体Ｏ１に対応付けられた他の位置により表される構成であってもよい。また、第１物体Ｏ１の姿勢は、第１物体Ｏ１の重心の位置に設定された三次元局所座標系の各座標軸によって表される構成に代えて、第１物体Ｏ１の他の位置に設定された三次元局所座標系の各座標軸によって表される構成であってもよい。
【０１４５】
次に、ロボット制御部４６は、予め記憶部３２に記憶された待機位置姿勢情報を記憶部３２から読み出す。この一例における待機位置姿勢情報は、所定の待機位置及び所定の待機姿勢を示す情報である。また、待機位置姿勢情報は、ロボット制御装置３０が第３撮像部２３及び第４撮像部２４から取得した撮像画像に基づいて算出された第１物体Ｏ１の位置及び姿勢からの相対的な位置及び姿勢を示す情報である。そして、ロボット制御部４６は、記憶部３２から読み出した待機位置姿勢情報と、ステップＳ２２０において位置姿勢算出部４４が算出した第１物体Ｏ１のロボット座標系における位置及び姿勢とに基づいて、第１エンドエフェクターＥ１を所定の待機位置に移動させるとともに、第１エンドエフェクターＥ１の姿勢を所定の待機姿勢に一致させる（ステップＳ２３０）。ここで、図１８を参照し、ステップＳ２３０の処理と、所定の待機位置及び待機姿勢について説明する。
【０１４６】
図１８は、第１エンドエフェクターＥ１が所定の待機位置において姿勢を所定の待機姿勢と一致させた時の第１エンドエフェクターＥ１と第１物体Ｏ１との位置関係の一例を示す図である。図１８に示した三次元座標系の各座標軸は、ロボット座標系の各座標軸を表す。前述した通り、この一例では、第１物体Ｏ１の姿勢を表す三次元局所座標系の各座標軸と、ロボット座標系ＲＣの各座標軸とが一致している。また、図１８では、指部Ｆ１４が指部Ｆ１１よりもロボット座標系ＲＣにおけるＹ軸の負の方向側に位置しているため見えておらず、指部Ｆ１３が指部Ｆ１２よりもロボット座標系ＲＣにおけるＹ軸の負の方向側に位置しているため見えていない。なお、このような指部Ｆ１３及び指部Ｆ１４に関する事情は、図１８以外の他の図においても同様である。
【０１４７】
図１８において、第１エンドエフェクターＥ１の位置は、所定の待機位置と一致している。所定の待機位置は、第１物体Ｏ１の上面に掌面Ｈ１１を当接させることが可能な位置である。例えば、所定の待機位置は、第１物体Ｏ１の上面からロボット座標系におけるＺ軸の正の方向に数センチメートルから十数センチメートル離れた位置である。また、所定の待機位置は、掌面Ｈ１１から第１物体Ｏ１に向かう方向に向かって掌面Ｈ１１を見た場合、第１物体Ｏ１の上面のうちの突出部Ｗ１及び突出部Ｗ２に挟まれた面と、掌面Ｈ１１とが重なる領域が見える位置である。なお、所定の待機位置は、これに代えて、第１物体Ｏ１及び第２物体Ｏ２の形状や大きさに応じた他の位置であってもよい。
【０１４８】
また、図１８において、第１エンドエフェクターＥ１の姿勢は、所定の待機姿勢と一致している。所定の待機姿勢は、この一例において、ロボット座標系ＲＣにおけるＺ軸と、三次元局所座標系ＥＣにおけるＺ軸とが一致する姿勢である。また、所定の待機姿勢は、ロボット座標系ＲＣにおけるＸ軸と、三次元局所座標系ＥＣにおけるＸ軸とが一致する姿勢である。また、所定の待機姿勢は、ロボット座標系ＲＣにおけるＹ軸と、三次元局所座標系ＥＣにおけるＹ軸とが一致する姿勢である。なお、所定の待機姿勢は、第１物体Ｏ１の姿勢に応じた他の姿勢であってもよい。
【０１４９】
ステップＳ２３０の処理が行われた後、ロボット制御部４６は、力検出情報取得部４１が第１力検出部１１から取得した第１力検出情報に基づく制御によって、掌部Ｈ１を動かして掌面Ｈ１１を第１物体Ｏ１に当接させる（ステップＳ２４０）。そして、ロボット制御部４６は、当該第１力検出情報に基づいて、縦方向検出力が所定の第１閾値以上であると判定するまで掌部Ｈ１を動かして、第１物体Ｏ１をロボット座標系ＲＣにおけるＺ軸の負の方向に押す。第１閾値は、バネＳ１及びバネＳ２による弾性力によって第１物体Ｏ１が掌面Ｈ１１をロボット座標系ＲＣにおけるＺ軸の正の方向に押す力より大きな力であって、突起部Ｔ１と突起部Ｔ２の両方が変形しない荷重以下の力である。
【０１５０】
ここで、図１９を参照し、ステップＳ２４０の処理について説明する。図１９は、ステップＳ２４０の処理によって掌部Ｈ１の掌面Ｈ１１が第１物体Ｏ１の上面に当接された時の第１エンドエフェクターＥ１と第１物体Ｏ１との位置関係の一例を示す図である。図１９に示したように、ロボット制御部４６は、ステップＳ２４０の処理によって、掌面Ｈ１１を掌面移動軸ＨＡ１に沿った方向であって掌面Ｈ１１と第１設置面とが離れる方向に向かって移動させ、掌面Ｈ１１を第１物体Ｏ１の上面に当接させる。そして、ロボット制御部４６は、前述のように、縦方向検出力が所定の第１閾値以上であると判定するまで掌部Ｈ１を動かして、第１物体Ｏ１をロボット座標系ＲＣにおけるＺ軸の負の方向に押す。なお、図１９に示した矢印が示す方向である方向Ａ９は、掌面Ｈ１１を掌面移動軸ＨＡ１に沿った方向であって掌面Ｈ１１と第１設置面とが離れる方向、すなわち当該Ｚ軸の負の方向を示している。
【０１５１】
ステップＳ２４０の処理が行われた後、ロボット制御部４６は、掌面Ｈ１１を第１物体Ｏ１の上面に当接させた状態を保ったまま、掌部Ｈ１と第１物体Ｏ１との当接面に垂直な方向を含む方向であって第１物体Ｏ１から掌部Ｈ１が離間する方向である第１方向に掌部Ｈ１を動かす（ステップＳ２５０）。ここで、図２０を参照し、ステップＳ２５０の処理について説明する。図２０は、ステップＳ２５０の処理によって、ロボット２０が掌面Ｈ１１を第１物体Ｏ１の上面に当接させた状態を保ったまま、掌部Ｈ１を第１方向に動かした時の第１エンドエフェクターＥ１と第１物体Ｏ１との相対的な位置関係の一例を示す図である。
【０１５２】
図２０において、掌部Ｈ１と第１物体Ｏ１との当接面は、第１物体Ｏ１の上面であるとともに掌面Ｈ１１である。この一例において、これらの面は、ロボット座標系ＲＣにおけるＺ軸に直交する面である。従って、この一例における第１方向は、掌面移動軸ＨＡ１に沿った方向であって、掌面Ｈ１１から第１設置面に向かう方向である。換言すると、この一例における第１方向は、ロボット座標系ＲＣにおけるＺ軸の正の方向であり、三次元局所座標系ＥＣにおけるＺ軸の正の方向である。図２０に示した矢印が示す方向である方向Ａ１０は、この一例における第１方向を示している。なお、当該第１方向は、方向Ａ１０に代えて、当該当接面に垂直な方向を含む方向であって第１物体Ｏ１から掌部Ｈ１が離間する方向であれば他の方向であってもよい。
【０１５３】
すなわち、ロボット制御部４６は、ステップ２５０において、掌面Ｈ１１を第１物体Ｏ１の上面に当接させた状態を保ったまま、第１エンドエフェクターＥ１（の第１設置面）を掌面移動軸ＨＡ１１に沿って掌面Ｈ１１に近づく方向、すなわち第１物体Ｏ１から掌部Ｈ１が離間する方向である第１方向に向かって動かす。この際、ロボット制御部４６は、第１エンドエフェクターＥ１を第１方向に向かって所定の離間距離だけ動かす。所定の離間距離は、嵌合部ＣＣ１の形状及び嵌合部ＣＣ２の形状に基づいて決定される距離である。この一例において、所定の離間距離は、第２物体Ｏ２の上面から突起部Ｔ１の第２物体Ｏ２に最も近い部位までの距離と、当該上面から嵌合部ＣＣ１が有する第２溝の第２物体Ｏ２に最も近い部位までの距離との差未満の距離である。
【０１５４】
また、ロボット制御部４６は、掌部Ｈ１が有する機構部Ｈ１２を駆動させることによって掌面Ｈ１１を第１方向に向かって移動させ、掌面Ｈ１１を第１物体Ｏ１の上面に当接させた状態を保ったまま、所定の離間距離だけ第１方向に向かって掌部Ｈ１を動かす。なお、ロボット制御部４６は、これに代えて、第１エンドエフェクターＥ１の位置に対する相対的な掌部Ｈ１（の掌面Ｈ１１）の位置を変化させないまま、第１エンドエフェクターＥ１を所定の離間距離だけ第１方向に向かって移動させることにより、掌面Ｈ１１を第１物体Ｏ１の上面に当接させた状態を保ったまま掌部Ｈ１を動かす構成であってもよい。
【０１５５】
ステップＳ２５０の処理が行われた後、ロボット制御部４６は、倣い把持動作処理を行うことにより、ロボット２０に倣い把持動作を行わせ、制御点Ｔ１１と指部Ｆ１１〜指部Ｆ１４のそれぞれとを移動させ、指部Ｆ１１〜指部Ｆ１４のそれぞれにより第１物体Ｏ１を把持させた状態における制御点Ｔ１１の位置（すなわち、第１エンドエフェクターＥ１の位置）と第１物体Ｏ１の位置との相対的な位置及び姿勢を、この一例における所定の把持位置及び把持姿勢と一致させる（ステップＳ２６０）。ここで、図２１を参照し、ステップＳ２６０の処理について説明する。図２１は、倣い把持動作によって第１物体Ｏ１が指部Ｆ１によって把持された時の第１エンドエフェクターＥ１と第１物体Ｏ１との相対的な位置関係の一例を示す図である。
【０１５６】
この一例における所定の把持位置は、掌面移動軸ＨＡ１が制御点Ｔ１１と第１物体Ｏ１の重心との両方を通る位置であり、第１物体Ｏ１の位置と第１エンドエフェクターＥ１の位置との間の距離のうちの掌面移動軸ＨＡ１に沿った距離が所定の第２距離Ｌ２と一致する位置である。図２１では、第１物体Ｏ１の重心の位置は、点Ｇ２によって示されている。第２距離Ｌ２は、第１物体Ｏ１を指部Ｆ１１〜指部Ｆ１４のそれぞれによって把持した場合に、第１物体Ｏ１と第１エンドエフェクターＥ１との相対的な位置及び姿勢が振動等によってずれ難いように把持できる距離であれば、如何なる距離であってもよい。
【０１５７】
また、この一例における所定の把持姿勢は、この一例において、ロボット座標系ＲＣ（すなわち、第１物体Ｏ１の姿勢を表す三次元局所座標系）におけるＺ軸と、三次元局所座標系ＥＣにおけるＺ軸（すなわち、掌面移動軸ＨＡ１）とが一致する姿勢である。また、所定の待機姿勢は、ロボット座標系ＲＣにおけるＸ軸と、三次元局所座標系ＥＣにおけるＸ軸とが一致する姿勢である。また、所定の待機姿勢は、ロボット座標系ＲＣにおけるＹ軸と、三次元局所座標系ＥＣにおけるＹ軸とが一致する姿勢である。
【０１５８】
図２１に示した例は、ステップＳ２４０の処理が行われた際に既に、第１物体Ｏ１の位置と第１エンドエフェクターＥ１の位置との間の距離のうちの掌面移動軸ＨＡ１に沿った距離が第２距離Ｌ２と一致していた場合の例である。そのため、ロボット制御部４６は、このように制御点Ｔ１１の位置及び姿勢と第１物体Ｏの位置及び姿勢との相対的な位置及び姿勢を所定の把持位置及び把持姿勢と一致させるために制御点Ｔ１１を方向Ａ１１に向かって移動させながら、指部Ｆ１１〜指部Ｆ１４のそれぞれを第１物体Ｏに近づく方向に移動させることにより、指部Ｆ１１〜指部Ｆ１４のそれぞれに第１物体Ｏを把持させる。方向Ａ１１は、この一例において、ロボット座標系におけるＸ軸の正の方向である。
【０１５９】
この際、ロボット制御部４６は、力検出情報取得部４１が第１力検出部１１から取得した第１力検出情報に基づく制御によって、指部Ｆ１１〜指部Ｆ１４のそれぞれについて、第１物体Ｏ１に当接するまで指部を第１物体Ｏ１に近づける。図２１に示した例では、ロボット制御部４６は、図２１に示した矢印が示す方向である方向Ａ１２に向かって指部Ｆ１１及び指部Ｆ１４を移動させ、指部Ｆ１１及び指部Ｆ１４を第１物体Ｏ１に近づける。この一例において、方向Ａ１２は、ロボット座標系ＲＣにおけるＸ軸の正の方向である。また、図２１に示した例では、ロボット制御部４６は、図２１に示した矢印が示す方向である方向Ａ１３に向かって指部Ｆ１２及び指部Ｆ１３を移動させ、指部Ｆ１２及び指部Ｆ１３を第１物体Ｏ１に近づける。この一例において、方向Ａ１３は、ロボット座標系ＲＣにおけるＸ軸の負の方向である。
【０１６０】
例えば、ロボット制御部４６は、指部Ｆ１１〜指部Ｆ１４のうちの指部Ｆ１３が第１物体Ｏ１に当接したと判定した場合、指部Ｆ１３の位置を、指部Ｆ１３が第１物体Ｏ１に当接した位置から変化させずに固定する。そして、ロボット制御部４６は、指部Ｆ１３の位置が固定させたまま、指部Ｆ１１と、指部Ｆ１２と、指部Ｆ１４とのそれぞれを、当該それぞれが第１物体Ｏ１と当接するまで第１物体Ｏ１に向かって近づけさせる。このような指部の動作を指部Ｆ１１〜指部Ｆ１４のそれぞれについて行うことにより、ロボット制御部４６は、指部Ｆ１１〜指部Ｆ１４の全てを第１物体Ｏ１に当接させる。
【０１６１】
ロボット制御部４６は、制御点Ｔ１１の位置及び姿勢と第１物体Ｏ１の位置及び姿勢との相対的な位置及び姿勢が所定の把持位置及び把持姿勢と一致するとともに、指部Ｆ１１〜指部Ｆ１４の全てが第１物体Ｏ１と当接した場合、指部Ｆ１１〜指部Ｆ１４のそれぞれに第１物体Ｏ１に対して所定の把持力を加えさせ、図２１に示したように第１エンドエフェクターＥ１に第１物体Ｏ１を把持させる。なお、図２１に示した例では、制御点Ｔ１１の位置及び姿勢と第１物体Ｏ１の位置及び姿勢との相対的な位置及び姿勢が所定の把持位置及び把持姿勢と一致している。また、当該例では、指部Ｆ１１〜指部Ｆ１４の全てが第１物体Ｏ１と当接している。
【０１６２】
ステップＳ２６０の処理が行われた後、ロボット制御部４６は、第１エンドエフェクターＥ１を動かすことにより、第１方向と異なる第３方向に第１物体Ｏ１を動かす。この一例において、第３方向は、ロボット座標系ＲＣにおけるＸ軸の負の方向である。そして、ロボット制御部４６は、第１力検出情報に基づいて、嵌合部ＣＣ１が有する第２溝の終端に突起部Ｔ１が接触するとともに嵌合部ＣＣ２が有する第２溝に突起部Ｔ２が接触して第１物体Ｏ１を第３方向に動かすことができなくなるまで、第１物体Ｏ１を第３方向に動かし、図２２に示したように第１物体Ｏ１を第２物体Ｏ２に嵌合させる（ステップＳ２７０）。
【０１６３】
図２２は、第１エンドエフェクターＥ１により第１物体Ｏ１が把持された時の第１エンドエフェクターＥ１と第１物体Ｏ１との相対的な位置関係の一例を示す図である。図２２に示した矢印が示す方向である方向Ａ１４は、この一例における第３方向である。
【０１６４】
以上のように、ロボット制御部４６の制御によりロボット２０は、所定の作業として、第１力検出情報に基づいて、掌部Ｈ１を動かして第１物体Ｏ１に当接させた後、掌部Ｈ１と第１物体Ｏ１との当接面に垂直な方向を含む方向であって第１物体Ｏ１から掌部Ｈ１が離間する第１方向に掌部Ｈ１を動かし、指部Ｆ１１〜指部Ｆ１４のいずれかを第２方向から第１物体Ｏ１に当接させた後、第１方向と異なる第３方向に第１物体Ｏ１を動かし、第１物体Ｏ１と嵌合する第２物体Ｏ２と、第１物体Ｏ１とを嵌合させる作業を行う。これにより、ロボット２０は、第１物体Ｏ１と第２物体Ｏ２とを嵌合させる動作を伴う作業において誤動作を抑制することができる。
【０１６５】
＜倣い把持動作において第１力検出部が検出する力の変動＞
以下、図２３を参照し、図１７に示したフローチャートにおける処理において行われる動作における縦方向検出力の変動について説明する。図２３は、図１７に示したフローチャートにおける処理において行われる動作における縦方向検出力の変動を表すグラフの一例を示す図である。図２３に示したグラフの縦軸は、当該縦方向検出力の大きさを表す。図２３に示したグラフの横軸は、時間を表す。
【０１６６】
図２３に示した時刻ｔｓ０１は、図１７に示したステップＳ２００の処理が開始された時刻である。また、図２３に示した時刻ｔｓ１１は、図１７に示したステップＳ２４０の処理において掌面Ｈ１１が第１物体Ｏ１に当接した時刻である。また、図２３に示した時刻ｔｓ２１は、図１７に示したステップＳ２５０の処理において掌面Ｈ１１が第１方向に動いた時の時刻である。また、図２３に示した時刻ｔｓ３１は、図１７に示したステップＳ２６０の処理が終了した時刻である。
【０１６７】
この一例において、時刻ｔｓ０１〜時刻ｔｓ１１の区間では、縦方向検出力は、０のまま変動していない。一方、時刻ｔｓ１１〜時刻ｔｓ２１の区間では、縦方向検出力の大きさが力ＦＦ２まで増大している。また、時刻ｔｓ２１〜時刻ｔｓ３１の区間では、力ＦＦ２よりも小さな値であって０よりも大きな値である力ＦＦ３まで縦方向検出力の大きさが減少している。
【０１６８】
すなわち、第２実施形態における所定の作業は、第１実施形態における所定の作業に対して、掌部Ｈ１を掌部Ｈ１が第１物体（第１実施形態では第１物体Ｏ、第２実施形態では第１物体Ｏ１）から離間する方向である第１方向に移動させる際、縦方向検出力をゼロにしない作業であると換言することができる。
【０１６９】
なお、第２実施形態における所定の作業において所定の離間距離が短い場合、ユーザーは、ロボット２０が第１物体Ｏ１を第１方向に向かって離間させる動作を行っているか否か判別できない場合がある。しかし、このような場合であっても、ユーザーは、第１力検出部１１から出力される第１力検出情報をＰＣ（Personal  Computer）やティーチングペンダント等によって読み出すことにより、ロボット２０が第１物体Ｏ１を第１方向に向かって離間させる動作を行ったか否かを判別することができる。
【０１７０】
また、第２実施形態において、第１把持部の一部の一例は、掌部Ｈ１に代えて、指部Ｆ１であってもよく、第１把持部の他の部の一例は、指部Ｆ１に代えて、掌部Ｈ１であってもよい。この場合、ロボット２０は、例えば、指部Ｆ１によって第１物体Ｏ１をロボット座標系ＲＣにおけるＺ軸の負の方向に向かって押してから第１方向に向かって指部Ｆ１を動かした後、掌部Ｈ１によって第１物体Ｏ１を第３方向に向かって移動させる。
【０１７１】
以上説明したように、第２実施形態におけるロボット２０は、力検出部（この一例において、第１力検出部１１）からの出力に基づいて、第１把持部（この一例において、第１エンドエフェクターＥ１）の一部（この一例において、掌部Ｈ１）を動かして第１物体（この一例において、第１物体Ｏ１）に当接させた後、当該一部と第１物体との当接面に垂直な方向を含む方向であって第１物体から当該一部が離間する第１方向に当該一部を動かし、第１把持部の他の部（この一例において、指部Ｆ１１〜指部Ｆ１４のいずれか）を当該垂直な方向と異なる第２方向から第１物体に当接させる。これにより、ロボット２０は、第１物体に対する作業において誤動作を抑制することができる。
【０１７２】
また、ロボット２０は、第１把持部の一部と第１物体とを当接させたまま、第１把持部の他の部を第２方向から第１物体に当接させる。これにより、ロボット２０は、第１把持部の一部を第１物体に当接させたまま行う作業において、意図していない外力であって力検出部により検出される外力の大きさを小さくすることができ、その結果、第１物体に対する作業において誤動作を抑制することができる。
【０１７３】
また、ロボット２０は、第１把持部の他の部を第２方向から第１物体に当接させた後、第１方向と異なる第３方向に第１物体を動かす。これにより、ロボット２０は、第１物体を第３方向へ移動させる動作を伴う作業において誤動作を抑制することができる。
【０１７４】
また、ロボット２０は、第３方向に第１物体を動かし、第１物体と嵌合する第２物体（この一例において、第２物体Ｏ２）と、第１物体とを嵌合又は分解させる。これにより、ロボット２０は、第１物体と第２物体とを嵌合又は分解させる動作を伴う作業において誤動作を抑制することができる。
【０１７５】
また、ロボット２０は、第２物体を第３把持部（この一例において、第２エンドエフェクターＥ２）により把持した状態で、第１物体と第２物体とを嵌合又は分解させる。これにより、ロボット２０は、第２物体を第３把持部により把持した状態で第１物体と第２物体とを嵌合又は分解させる動作を伴う作業において誤動作を抑制することができる。
【０１７６】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１７７】
また、以上に説明した装置（例えば、ロボット２０のロボット制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１７８】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１７９】
１１…第１力検出部、１２…第２力検出部、２０…ロボット、２１…第１撮像部、２２…第２撮像部、２３…第３撮像部、２４…第４撮像部、３０…ロボット制御装置、３１…ＣＰＵ、３２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、４０…撮像制御部、４１…力検出情報取得部、４２…画像取得部、４４…位置姿勢算出部、４６…ロボット制御部
【図１】
2017100198.tif 000003
【図２】
2017100198.tif 000004
【図３】
2017100198.tif 000005
【図４】
2017100198.tif 000006
【図５】
2017100198.tif 000007
【図６】
2017100198.tif 000008
【図７】
2017100198.tif 000009
【図８】
2017100198.tif 000010
【図９】
2017100198.tif 000011
【図１０】
2017100198.tif 000012
【図１１】
2017100198.tif 000013
【図１２】
2017100198.tif 000014
【図１３】
2017100198.tif 000015
【図１４】
2017100198.tif 000016
【図１５】
2017100198.tif 000017
【図１６】
2017100198.tif 000018
【図１７】
2017100198.tif 000019
【図１８】
2017100198.tif 000020
【図１９】
2017100198.tif 000021
【図２０】
2017100198.tif 000022
【図２１】
2017100198.tif 000023
【図２２】
2017100198.tif 000024
【図２３】
2017100198.tif 000025