把持ロボット装置であって、基準面に載置されたワークを把持する把持部と、前記把持部による前記ワークの把持位置について、基準位置からのずれ量を算出するずれ量算出部と、を備え、前記把持部は、前記ワークを傾けて、当該ワークの一端を前記基準面に接触させ、前記ずれ量算出部は、前記把持部により傾けられた前記ワークと前記基準面とが接触した状態において、前記把持部と前記基準面の位置関係に基づき、前記ずれ量を算出する、ことを特徴とする把持ロボット装置。請求項1に記載の把持ロボット装置であって、前記把持部は、前記ワークの底面に平行な一方向以下Y方向とよぶを把持方向として前記ワークを把持し、前記ずれ量算出部は、前記把持部による前記ワークの把持位置について、前記Y方向に直交するX方向へのずれ量dxを、dx=H/sinθ-Lただし、Hは前記把持位置の前記基準面からの距離、Lは前記ワークの前記基準位置から前記一端までの長さ、θは前記ワークが傾けられた角度を表すの数式を用いて算出する、ことを特徴とする把持ロボット装置。請求項1又は2に記載の把持ロボット装置であって、前記把持部は、第1の把持機構を有する第1の把持部と、第2の把持機構を有する第2の把持部と、を備え、前記第1の把持機構で把持している第1のワークを、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作を実行し、前記ずれ量算出部は、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作において、前記第1の把持部と前記第2の把持部のうちの少なくとも一方に発生した前記第1の把持機構による把持方向と直交する方向の力に基づき、前記ずれ量を算出する、ことを特徴とする把持ロボット装置。請求項3に記載の把持ロボット装置であって、前記ずれ量算出部は、dx=Fx×βただし、Fxは前記力、dxは前記ずれ量、βは係数を表すの数式を用いて、前記ずれ量を算出する、ことを特徴とする把持ロボット装置。請求項1乃至4のいずれか1項に記載の把持ロボット装置であって、前記把持部は、第1の把持機構を有する第1の把持部と、第2の把持機構を有する第2の把持部と、を備え、前記第1の把持機構で把持している第1のワークを、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作を実行し、前記ずれ量算出部は、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作において、前記第1の把持部と前記第2の把持部のうちの少なくとも一方に発生した前記第1の把持機構による把持方向と直交する方向の力に基づき、前記第1のワークについての前記ずれ量を算出し、前記第2の把持機構により傾けられた第2のワークと前記基準面とが接触した状態において、前記第2の把持機構と前記基準面の位置関係に基づき、前記第2のワークについての前記ずれ量を算出する、ことを特徴とする把持ロボット装置。請求項1乃至5のいずれか1項に記載の把持ロボット装置であって、前記把持部は、第1の把持機構を有する第1の把持部と、第2の把持機構を有する第2の把持部と、を備え、前記第1の把持機構で把持している第1のワークを、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持して受け渡す動作を実行し、前記ずれ量算出部は、前記第2の把持機構により傾けられた第2のワークと前記基準面とが接触した状態において、前記第2の把持機構と前記基準面の位置関係に基づき、前記第2のワークについての前記ずれ量を算出する、ことを特徴とする把持ロボット装置。請求項1乃至6のいずれか1項に記載の把持ロボット装置であって、前記ずれ量算出部によって算出された前記ずれ量に基づき、前記把持部の動作を補正する補正部を、さらに備える、ことを特徴とする把持ロボット装置。把持機構を備える把持ロボット装置で行われる把持動作制御方法であって、前記把持機構により、基準面に載置された前記ワークを把持する把持ステップと、前記把持ステップにおける前記ワークの把持位置について、基準位置からのずれ量を算出するずれ量算出ステップと、を行い、前記把持ステップでは、前記ワークを傾けて、当該ワークの一端を前記基準面に接触させ、前記ずれ量算出ステップでは、前記把持ステップで傾けられた前記ワークと前記基準面とが接触した状態において、前記把持機構と前記基準面の位置関係に基づき、前記ずれ量を算出する、ことを特徴とする把持動作制御方法。把持機構を制御する把持動作制御装置であって、ワークの把持動作についての指示を前記把持機構に出力する指示部と、前記把持機構によるワークの把持位置について、基準位置からのずれ量を算出するずれ量算出部と、を備え、前記指示部は、基準面に載置されたワークを把持し、当該ワークを傾けて、当該ワークの一端を前記基準面に接触させる指示を前記把持機構に出力し、前記ずれ量算出部は、前記把持機構により傾けられた前記ワークと前記基準面とが接触した状態において、前記把持機構と前記基準面の位置関係に基づき、前記ずれ量を算出する、ことを特徴とする把持動作制御装置。しかし、従来のように高価な測定手段カメラ等や複雑な測定処理によってワークの位置や姿勢を測定しても、その位置分解能は500μm程度であり、ワークを把持する位置以下では把持位置とよぶに数百μmのずれが生じてしまう場合がある。当然ながら、このような把持位置のずれを正確に認識できなければ、精度が必要なワークの嵌め合い作業や、ワークの積み重ね作業を正確に行うことはできない。本発明は、従来よりも簡易な構成によって、ワークの把持位置のずれを高精度に認識する技術を提供することを目的とする。上記課題を解決するための本願発明は、把持動作制御装置であって、基準面に載置されたワークを把持する把持部と、前記把持部による前記ワークの把持位置について、基準位置からのずれ量を算出するずれ量算出部と、を備え、前記把持部は、前記ワークを傾けて、当該ワークの一端を前記基準面に接触させ、前記ずれ量算出部は、前記把持部により傾けられた前記ワークと前記基準面とが接触した状態において、前記把持部と前記基準面の位置関係に基づき、前記ずれ量を算出する。これにより、従来よりも簡易な構成によって、ワークの把持位置のずれを高精度に認識できる。また、前記把持部は、前記ワークの底面に平行な一方向以下Y方向とよぶを把持方向として前記ワークを把持し、前記ずれ量算出部は、前記把持部による前記ワークの把持位置について、前記Y方向に直交するX方向へのずれ量dxを、dx=H/sinθ-Lただし、Hは前記把持位置の前記基準面からの距離、Lは前記ワークの前記基準位置から前記一端までの長さ、θは前記ワークが傾けられた角度を表すの数式を用いて算出するようにしてもよい。こうすれば、簡易な数式によって、ワークの把持位置のずれを高精度に認識できる。また、前記把持部は、第1の把持機構を有する第1の把持部と、第2の把持機構を有する第2の把持部と、を備え、前記第1の把持機構で把持している第1のワークを、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作を実行し、前記ずれ量算出部は、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作において、前記第1の把持部と前記第2の把持部のうちの少なくとも一方に発生した前記第1の把持機構による把持方向と直交する方向の力に基づき、前記ずれ量を算出するようにしてもよい。これにより、上記とは別の方法第2の方法によって、ワークの把持位置のずれを高精度に認識できる。また、前記ずれ量算出部は、dx=Fx×βただし、Fxは前記力、dxは前記ずれ量、βは係数を表すの数式を用いて、前記ずれ量を算出するとうにしてもよい。こうすれば、第2の方法によって、ワークの把持位置のずれを算出する場合にも、簡易な数式によって、ワークの把持位置のずれを高精度に認識できる。また、前記把持部は、第1の把持機構を有する第1の把持部と、第2の把持機構を有する第2の把持部と、を備え、前記第1の把持機構で把持している第1のワークを、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作を実行し、前記ずれ量算出部は、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持する動作において、前記第1の把持部と前記第2の把持部のうちの少なくとも一方に発生した前記第1の把持機構による把持方向と直交する方向の力に基づき、前記第1のワークについての前記ずれ量を算出し、前記第2の把持機構により傾けられた第2のワークと前記基準面とが接触した状態において、前記第2の把持機構と前記基準面の位置関係に基づき、前記第2のワークについての前記ずれ量を算出する、ようにしてもよい。こうして、持ち替えなしで嵌合可能な1組のワークが、把持位置の高さについて特定不可能な状態で作業台上基準面に置かれている場合でも、正確に嵌合作業を行うことができる。また、前記把持部は、第1の把持機構を有する第1の把持部と、第2の把持機構を有する第2の把持部と、を備え、前記第1の把持機構で把持している第1のワークを、前記第2の把持機構が前記第1の把持機構による把持方向と直交する方向に把持して受け渡す動作を実行し、前記ずれ量算出部は、前記第2の把持機構により傾けられた第2のワークと前記基準面とが接触した状態において、前記第2の把持機構と前記基準面の位置関係に基づき、前記第2のワークについての前記ずれ量を算出する、ようにしてもよい。こうして、ワークを持ち替えることにより嵌合可能となる1組のワークが、把持位置の高さについて特定不可能な状態で作業台上基準面に置かれている場合でも、ワークの受け渡し動作のついでに、把持位置のずれ量を算出することができ、効率よく嵌合動作を実行できる。また、前記ずれ量算出部によって算出された前記ずれ量に基づき、前記把持部の動作を補正する補正部を、さらに備えるようにしてもよい。こうして、前記ずれ量算出部によって算出されたずれ量に応じて、正確に嵌合作業を行うことができる。上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。以下、本発明の実施形態について図面を用いて説明する。<第1実施形態>まず、図1~図9を用いて、本発明の第1実施形態について説明する。第1実施形態は、持ち替えなしで嵌合可能な1組のワークが、作業台上基準面に載置されている場合に採用される。すなわち、一方のワークは凸部を下面に向けて作業台上に載置され、他方のワークは凹部を下面に向けて作業台上に載置されているような場合である。図1は、本実施形態のロボット10についての外観例を示す図である。図示するように、ロボット10は、複数のロボットアーム左アーム部11a、右アーム部11bを有する双腕ロボットである。ロボット10は、各ロボットアーム11a、11bの先端に取り付けられたそれぞれのハンド左ハンド部14a、右ハンド部14bでワークWを把持し、嵌め合う作業を行う。ここで、左アーム部11aは、ロボット10の左腕として機能し、複数のリンク12aと、各リンク12aを接続する複数のジョイント関節13aと、を備える。各ジョイント13aは、リンク12a同士や、ロボット10の胴体とリンク12aを回動自在に連結している。そのため、各ジョイント13aを連動させて駆動することにより、左アーム部11aの先端部分に取り付けられた左ハンド部14aを、自在ただし、所定範囲内に移動させることができるとともに、自由な方向へ向けることもできる。また、右アーム11bは、ロボット10の右腕として機能し、複数のリンク12bと、各リンク12bを接続する複数のジョイント関節13bと、を備える。左アーム部11aと同様に、右アーム部11bの各ジョイント13bは、リンク12b同士や、ロボット10の胴体とリンク12bを回動自在に連結している。そのため、各ジョイント13bを連動させて駆動することにより、右アーム部11bの先端部分に取り付けられた右ハンド部14bを、自在ただし、所定範囲内に移動させることができるとともに、自由な方向へ向けることもできる。なお、図には、2軸アームの例が示されているが、もちろん、これに限定されるものではない。例えば、軸数ジョイント数をさらに増加させてもよい。また、リンク12a、bやハンド部14a、bの形状などについても、これに限定されるものではない。また、ロボットアーム11a、11bとハンド14a、14bを合わせて、把持装置ともよぶ。図2は、ハンド左ハンド部14a、右ハンド部14bの詳細について説明するための図である。図示するように、ハンド左ハンド14aと右ハンド14bは、第1の指15a、bと、第2の指16a、bと、力覚センサー17a、bと、を備えている。ハンド左ハンド14aと右ハンド14bは、図示する把持方向に第1の指15a、bと第2の指16a、bを移動させて、ワークWを把持することができる。また、ハンド左ハンド部14a、右ハンド部14bは、力覚センサー17a、bを備えている。力覚センサー17a、bは、少なくとも1軸以上例えば、6軸の力覚センサーであり、ワークWに作用する力F例えば、嵌合方向へワークWを押し込む力やモーメントMを検出する。ところで、以上のようなロボットアーム左アーム部11a、右アーム部11bとハンド左ハンド部14a、右ハンド部14bを有するロボット10は、制御部100によって制御される。制御部100は、図1、図2には示されていないが、ロボット10の本体に内蔵しておいてもよいし、遠隔操作によりロボット10を制御できる位置に設けてもよい。図3は、ロボット10の概略構成の一例を示すブロック図である。図示する太線で示すように、ロボット10は、制御部100と、上述したロボットアーム左アーム部11a、右アーム部11bと、上述したハンド左ハンド部14a、右ハンド部14bと、を備える。なお、上記の図1および図2では説明しなかったが、左アーム部11aに含まれる各ジョイント13aには、各ジョイント13aを駆動するためのアクチュエーターモーターが設けられている。同様に、右アーム部11bに含まれる各ジョイント13bにも、各ジョイント13bを駆動するためのアクチュエーターモーターが設けられている。また、左ハンド部14aに含まれる第1の指15aおよび第2の指16aにも、各指15a、16aを駆動するためのアクチュエーターモーターが設けられている。同様に、右ハンド部14bに含まれる第1の指15bおよび第2の指16bにも、各指15b、16bを駆動するためのアクチュエーターモーターが設けられている。一方、制御部100は、中央制御部101と、記憶部102と、インピーダンス制御部103と、接触判定部104と、エンコーダー読み取り部105と、アーム制御部106と、ハンド制御部107と、位置ずれ推定部108と、力覚センサー制御部109と、を備える。ここで、中央制御部101は、制御部100に備わる各ユニット102~109を統括的に制御する。また、記憶部102は、各種演算に必要なデータ、ワークWの形状を表すデータ以下では形状データともいう、ロボット10の動作例えば、嵌め合い作業を制御するプログラム、などを記憶する。例えば、記憶部102は、DDR-SDRAMなどの揮発性メモリー、フラッシュメモリーなどの不揮発性メモリー、などにより構成される。インピーダンス制御部103は、ロボットアーム左アーム部11a、右アーム部11bの手先左ハンド部14a、右ハンド部14bに対して、外部環境から反力が加えられた場合に、目的の作業に適したインピーダンス位置、速度、加速度となるようにロボットアーム11a、bおよびハンド14a、bを制御する。例えば、本実施形態では、インピーダンス制御部103は、ハンド14a、bで把持されたワークWを下降させているときに、そのワークW或いはハンドが作業台基準面に接触すると、ワークW或いはハンドに対する作業台からの反力抗力がなくなるように、ワークWを下降させる速度や加速度を調整する。こうした制御により、ワークWを落としたり、ハンド14a、bや作業台に傷をつけるのを防止できる。接触判定部104は、ハンド14a、bで把持されたワークWの少なくとも一部例えば、一端が、作業台基準面に接触したか否か判定する。例えば、接触判定部104は、力覚センサー17a、bから得られたデータを基に、ワークWの一端が作業台基準面に接触したか否か判定する。エンコーダー読み取り部105は、ロボットアーム左アーム部11a、右アーム部11bのジョイント13a、bに設けられたアクチュエーターのエンコーダー値を読み取る。また、図示していないが、エンコーダー読み取り部105は、ハンド左ハンド部14a、右ハンド部14bに設けられたアクチュエーターのエンコーダー値を読み取ることもできる。こうしたエンコーダー値は、ロボットアーム左アーム部11a、右アーム部11bやハンド左ハンド部14a、右ハンド部14bの位置、移動方向、移動量、速度、加速度などを把握するのに利用される。アーム制御部106は、ロボットアーム左アーム部11a、右アーム部11bを制御する。例えば、アーム制御部106は、ロボットアーム11a、bのジョイント13a、bに設けられたアクチュエーターを駆動して、ハンド左アーム部14a、右ハンド部14bがワークWの嵌合作業に適した位置、向き、速度となるように制御する指示を出力する。ハンド制御部107は、ハンド左ハンド部14a、右ハンド部14bを制御する。例えば、ハンド制御部106は、ハンド14a、bの第1の指15a、bと第2の指16a、bに設けられたアクチュエーターを駆動し、ワークWを第1の指15a、bと第2の指16a、bで挟むすなわち、把持する制御、ワークWを解放する制御、などの制御を行う指示を出力する。位置ずれ推定部108は、ワークWを把持している位置以下では把持位置というについて、基準位置からのずれ量dxを推定する。なお、基準位置は、第1の指15a、bと第2の指16a、bでワークWを確実に把持できる位置とし、例えば、ワークWの下面を構成する四角形の一辺の中点位置でもよいし、ワークWの重心位置でもよい。また、ワークWを把持している把持方向をY方向とすれば、上記のずれ量dxは、把持方向に略直交する方向であるX方向へのずれ量とする。本実施形態第1実施形態では、位置ずれ推定部108は、角度θで傾けて作業台基準面に接触させた状態のワークWと、作業台基準面の位置関係に基づき、把持位置のずれ量dxを推定する。図4は、本実施形態第1実施形態において、把持位置のずれずれ量dxを求める方法について説明する図である。なお、図4Aは、下面すなわち、嵌合面に凹部メスがあるワークWを横からみた場合の例を示す図であり、図4Bは、下面嵌合面に凸部オスがあるワークWを横からみた場合の例を示す図である。以下では、下面に凹部があるワークWをワーク凹Wと記し、下面に凸部があるワークWをワーク凸Wと記す。図4Aに示すように、下面に凹部を有するワーク凹Wが角度θ1で傾けられ、そのワーク凹Wの一端図示する例では、ワーク凹Wの下面を構成する長方形の短辺が作業台基準面に接触した状態においては、各指第1の指15と第2の指16による実際の把持位置は、作業台基準面から距離Hsの位置高さになる。そして、図示するように、実際の把持位置が、基準位置図示する例では、ワークWの下面を構成する長辺の中点位置からずれ量dx分ずれていると仮定すると、ワーク凹Wの一端が作業台基準面に接触している位置接触位置から実際の把持位置までの距離は、dxLとなる。ただし、Lは、接触位置から基準位置までの距離とする。なお、本実施形態では、ワークWの長辺の長さを2×Lとし、Lは、ワークWの下面を構成する長辺の半分の長さとなる。また、dxは、-L≦dx≦Lの範囲の値とする。この状態において、本実施形態第1実施形態の位置ずれ推定部108は、Hs={dxL/2×sinθ1の関係式にHsとLの値を代入して、ずれ量dxを算出する。ここで、Hsは、ロボットアーム左アーム部11a、右アーム部11bに設けられたアクチュエーターから得られたエンコーダー値に基づき求まる値である。また、Lは、記憶部102に格納されたワーク凹Wの形状データから得られる値である。また、図4Bに示すように、下面に凸部を有するワーク凸Wが角度θ2で傾けられ、そのワーク凸Wの一端図示する例では、ワーク凸Wの下面を構成する長方形の短辺が作業台基準面に接触した状態においては、各指第1の指15と第2の指16による実際の把持位置は、作業台基準面から距離Hsの位置高さになる。そして、図示するように、実際の把持位置が、基準位置図示する例では、ワークWの下面を構成する長辺の中点位置からずれ量dx分ずれていると仮定すると、ワーク凸Wの一端が作業台基準面に接触している位置接触位置から実際の把持位置までの距離は、dxL/2となる。ただし、Lは、ワークWの下面を構成する長辺の長さとする。また、dxは、-L/2≦dx≦L/2の範囲の値とする。この状態において、本実施形態第1実施形態の位置ずれ推定部108は、Hs={dxL/2×sinθ2の関係式にHsとLの値を代入して、ずれ量dxを算出する。ここで、Hsは、ロボットアーム左アーム部11a、右アーム部11bに設けられたアクチュエーターから得られたエンコーダー値から求まる値である。また、Lは、記憶部102に格納されたワーク凸Wの形状データから得られる値である。図3に戻り、力覚センサー制御部109は、左ハンド部14aに備え付けられている左力覚センサー17aと、右ハンド部14bに備え付けられている右力覚センサー17bと、を制御する。例えば、力覚センサー制御部109は、左力覚センサー17aや右力覚センサー17bで検出された力FワークWに作用する力FやモーメントMを取得する。なお、図に点線で示しているように、制御部100は、作業台基準面上に載置されているワークWの向き上、下を判定するための撮像部110を備えるようにしてもよい。上記の制御部100の主な構成要素は、演算装置であるCPUと、プログラム等が記録されたROMと、メインメモリーとしてデータ等を一時的に格納するRAMと、ホスト等との入出力を制御するインターフェイスと、各構成要素間の通信通路となるシステムバスと、を備えた一般的なコンピューターにより達成することができる。特定の処理を専用に行うように設計されたASICApplicationSpecificIntegratedCircuitを含んで、又は、ASICにより構成されていてもよい。本実施形態が適用されたロボット10は、以上のような構成からなる。ただし、この構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的な双腕ロボットが備える他の構成を排除するものではない。また、ロボット10は、さらに多くのロボットアーム、ハンド、指を備えるロボットであってもよい。また、上記した各構成要素は、制御部100の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。制御部100の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。次に、第1実施形態における、上記構成からなるロボット10の特徴的な動作について説明する。<第1実施形態にかかるワーク嵌合制御>図5、図6は、第1実施形態のロボット10で実行される、ワーク凸Wとワーク凹Wを嵌め合う動作にかかる制御以下ではワーク嵌合制御というの一例を説明するためのフロー図である。また、図7~図9は、本フローの制御段階ごとに、左右のハンドの指第1の指15a、b、第2の指16a、bと、ワークWの位置、姿勢を示す図である。上でも触れたが、第1実施形態にかかるワーク嵌合制御は、図7Aに示すように、作業台基準面の上にワーク凹W1とワーク凸W2のペアが存在する場合に実行されるとよい。そこで、図5に示す本フローを開始すると、中央制御部101は、まず、作業台基準面上に載置されているワークWの位置例えば、基準面上のX、Y座標を検出し、それらのワークWうち、下面に凹部を有するワーク凹Wと、下面に凸部を有するワーク凸Wと、を区別するステップS101。ただし、各ワークWの位置は、予め記憶部102に用意しておいてもよいし、撮像部110や各種センサーなどを用いて求めてもよい。また、ワーク凹Wとワーク凸Wのいずれかであるかを区別する方法には、予め記憶部102に用意されているデータを用いて区別する方法、撮像部110で撮像された画像を解析して区別する方法、ワークWの下面の高さと基準面の高さを計測して区別する方法などがある。それから、中央制御部101は、ステップS101の処理結果に基づいて、作業台基準面上に、ワーク凹Wとワーク凸Wのペアが存在するか否か判別するステップS102。ここで、1組としてワーク凹Wとワーク凸Wのペアが存在しない場合には、中央制御部101は、ワーク凹Wとワーク凸Wのペアは存在しないと判定しステップS102;No、エラー処理を実行してステップS118、第1実施形態にかかるワーク嵌合制御を中止する。こうして、作業台基準面上にワーク凹Wとワーク凸Wのペアが存在しない場合に、第1実施形態にかかるワーク嵌合制御を即座に終了させることができる。なお、ステップS118のエラー処理には、ユーザーにワーク凹Wとワーク凸Wのペアが存在しないことを通知する処理などが含まれる。一方、少なくとも1組以上のワーク凹Wとワーク凸Wのペアが存在する場合には、中央制御部101は、ワーク凹Wとワーク凸Wのペアが存在すると判定しステップS102;Yes、第1実施形態にかかるワーク嵌合制御を続行する。この場合には、アーム制御部106とハンド制御部107は、連動して、作業台基準面に載置されているワーク凹W1を、左ハンド部14aの各指15a、16aによって把持するステップS103。なお、図7Aには、ステップS103が完了した段階におけるハンド左ハンドの第1の指15a、右ハンドの第1の指15bと、ワークWワーク凹W1、ワーク凸W2の状態が示されている。それから、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク凹W1を上昇させるステップS104。図7Bには、ステップS104が完了した段階において、ワーク凹W1が上昇した状態が示されている。ところで、ワーク凹W1が上昇している間、エンコーダー読み取り部105は、左アーム部11a各ジョイント13aに備わるアクチュエーターからエンコーダー値を読み取り、記憶部102に記憶しておく。こうして、ワーク凹W1がステップS104で上昇した距離Z1を後で特定できるようになる。次に、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク凹W1を、角度θ1傾けるステップS105。図7Cには、ステップS105が完了した段階において、ワーク凹W1が基準面に対して角度θ1傾けられた状態が示されている。また、ワーク凹W1が傾けられている間においても、エンコーダー読み取り部105は、左アーム部11a各ジョイント13aに備わるアクチュエーターからエンコーダー値を読み取り、記憶部102に記憶しておく。こうして、ワーク凹W1がステップS105で傾けられた角度θ1を後で特定できるようになる。それから、アーム制御部106とハンド制御部107は、角度θ1傾けられたワーク凹W1を下降させる制御を開始する。このとき、インピーダンス制御部103は、ワーク凹W1の一端が作業台基準面に接触することを想定して、接触時に作業台からの反力がワーク凹W1へ及ぼされることがないように、インピーダンス制御例えば、左アーム部11aの下降、上昇を繰り返す制御を行う。なお、ここで、ワーク凹W1の一端が作業台基準面に接触したか否かの判定は、接触判定部104によって行われるステップS106。そして、ワーク凹W1の一端が作業台基準面に接触するまではステップS106;No、インピーダンス制御のもとワーク凹W1を下降させる制御が継続される。もちろん、ワーク凹W1が下降している間においても、エンコーダー読み取り部105は、左アーム部11a各ジョイント13aに備わるアクチュエーターからエンコーダー値を読み取り、記憶部102に記憶しておく。こうして、ワーク凹W1が下降した距離Z2についても後で特定できるようになる。ところで、ワーク凹W1の一端が作業台基準面に接触するとステップS106;Yes、アーム制御部106とハンド制御部107は、ワーク凹W1の下降制御を停止する。図8Aには、この段階におけるワーク凹W1の状態基準面に対して角度θ1傾けられ、下面を構成する長方形の短辺が作業台に接触している状態が示されている。図8Aに示す状態において、位置ずれ推定部108は、各指第1の指15と第2の指16aによる実際の把持位置の高さすなわち、基準面からの距離Hs1を算出するステップS107。具体的には、位置ずれ推定部108は、ワーク凹W1をステップS104で上昇させた距離Z1から、インピーダンス制御で下降させた距離Z2を減算することにより、Hs1を算出するHs1=Z1-Z2。次に、位置ずれ推定部108は、各指第1の指15と第2の指16aによる実際の把持位置について、基準位置ここでは、ワークWの下面を構成する長方形の長辺Lの中点からのずれ量dx1を算出するステップS108。具体的には、位置ずれ推定部108は、まず、記憶部102形状データから、ワーク凹W1の下面を構成する長方形の長辺の長さLを読み出す。そして、位置ずれ推定部108は、Hs1={dx1L/2×sinθ1の関係式に、ステップS107で算出されたHs1と、記憶部102から読み出したLの値を代入して、ずれ量dx1を算出する。なお、ステップS108の演算は、図4Aで説明した原理に基づいている。こうして、本実施形態の位置ずれ推定部108は、把持位置についての正確なずれ量dx1を簡単に得ることができる。ずれ量dx1が算出された後、アーム制御部106とハンド制御部107は、左アーム11aで把持しているワーク凹W1を、作業台基準面に対して水平な姿勢に戻し、上昇させるステップS109。上記のステップS103~S109の制御が行われて、左ハンド部14aによるワーク凹W1の把持位置のずれ量dx1が算出されると、次に、制御部100は、ワーク凹W1の嵌合相手となるワーク凸W2について右ハンド部14bで把持し、ワーク凹W1の場合と同様の制御に従って、ワーク凸W2についての把持位置のずれ量dx2を算出する図6に示すステップS110~S116。なお、図8B、C、図9A、Bには、ステップS110~S116の制御に従い、右アーム11bの右ハンド部14bと、ワーク凸W2と、の状態が遷移する様子が示されている。ステップS116の処理が終わると、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク凹W1と、右ハンド部14bで把持しているワーク凸W2と、を嵌合するステップS117。ただし、ステップS117では、アーム制御部106とハンド制御部107は、ステップS108で算出されたワーク凹W1についての把持位置のずれ量dx1と、ステップS115で算出されたワーク凸W2についての把持位置のずれ量dx2と、に基づき、ワーク凹W1の凹部とワーク凸W2の凸部が一直線上になるように左ハンド部14aと右ハンド部14bの位置を補正して、両ワークを嵌合する図9C。こうして、左ハンド部14aと右ハンド部14bによるワークWの把持位置がずれてしまった場合でも、正確に嵌合作業を行うことができる。以上の制御が、本発明の第1実施形態にかかるワーク嵌合制御である。このように、第1実施形態にかかるワーク嵌合制御は、作業台に載置されたワークWを裏返したりせずに、最初に把持した状態のまま嵌合動作を実行できる場合に適している。また、第1実施形態にかかるワーク嵌合制御によれば、傾けた状態のワークWを基準面に接触させるだけで把持位置のずれを認識できる。そのため、従来よりも簡易な構成によって、把持位置のずれを認識できるといえる。また、第1実施形態によれば、把持されたワークWと基準面の位置関係について正確に特定測定することができるため、従来よりも高精度に把持位置のずれを認識できる。<第2実施形態>次に、図10~図15を用いて、本発明の第2実施形態について説明する。第2実施形態にかかるロボット10は、第1実施形態にかかるロボット10と基本的に同様の構成を備えるため、相違する点を中心に以下説明する。第2実施形態は、ワークWを持ち替えることつまり、一方のロボットアームで把持したワークWを他方のロボットアームに受け渡すことにより嵌合可能となる1組のワークが、作業台上基準面に載置されている場合に採用される。すなわち、一方のワークは凸部を下面に向けて作業台上に載置され、他方のワークも凸部を下面に向けて作業台上に載置されているような場合である。また、これとは逆に、一方のワークは凹部を下面に向けて作業台上に載置され、他方のワークも凹部を下面に向けて作業台上に載置されているような場合でもよい。そして、第2実施形態では、把持位置のずれ量dxを推定算出する方法に関して、第1実施形態とは異なる方法を採用する。図10は、第2実施形態において、把持位置のずれずれ量dxを求める方法について説明する図である。図示するように、下面に凸部を有するワークWは、左ハンド部14aに備わる各指15a、16aで把持され、右ハンド部14bに備わる各指15b、16bに受け渡される。このような受け渡し動作において、ワークWは、左ハンド部14aと右ハンド部14bの両ハンドで把持される状態になる。このような状態において、例えば、図示するように、ワークWに対して、左ハンド部14aから押し込む力F右ハンド部14b方向への力が加えられる。このとき、左ハンド部14aの各指第1の指15aと第2の指16aによる実際の把持位置が、基準位置図示する例では、ワークWの下面を構成する長辺の中点位置からずれ量dx分ずれていると仮定すると、基準位置に押し込む力FのモーメントMにより、ワークWには基準位置を中心とした回転運動が与えられる。そこで、第2実施形態の位置ずれ推定部108は、M=α×F×dxの関係式にM、α、Fの値を代入して、ずれ量dxを算出する。ここで、MおよびFは、力覚センサー左力覚センサー17a、右力覚センサー17bで検出される値である。また、αは、ワークWに押し込む力FのモーメントMとずれ量dxの関係を調整するための定数であり、予め記憶部102に格納されたデータから得られる値である。以上のような方法によれば、ワークWの受け渡し動作のついでに、把持位置のずれ量dxを算出することができるため、効率よく嵌合動作を実行できる。以下に、第2実施形態における、ロボット10の特徴的な動作について説明する。<第2実施形態にかかるワーク嵌合制御>図11、図12は、第2実施形態のロボット10で実行される、2つのワーク凸Wを嵌め合う動作にかかるワーク嵌合制御の一例を説明するためのフロー図である。また、図13~図15は、本フローの制御段階ごとに、左右のハンドの指第1の指15a、b、第2の指16a、bと、ワークWの位置、姿勢を示す図である。上でも触れたが、第2実施形態にかかるワーク嵌合制御は、図13Aに示すように、作業台基準面の上にワーク凸W3とワーク凸W4のペアがともに凸部を下に向けて存在する場合に実行されるとよい。もちろん、これとは逆に、作業台基準面の上にワーク凹Wとワーク凹Wのペアがともに凹部を下に向けて存在する場合に実行されてもよい。図11に示す本フローを開始すると、中央制御部101は、まず、作業台基準面上に載置されているワークWの位置例えば、基準面上のX、Y座標を検出し、それらのワークWうち、下面に凹部を有するワーク凹Wと、下面に凸部を有するワーク凸Wと、を区別するステップS201。ここで、少なくとも1組以上のワーク凹Wとワーク凸Wのペアが存在する場合には、中央制御部101は、ワーク凹Wとワーク凸Wのペアが存在すると判定しステップS202;Yes、第1実施形態にかかるワーク嵌合制御の方が適しているため、ステップS103~S117の制御を行う。一方、1組としてワーク凹Wとワーク凸Wのペアが存在しない場合には、中央制御部101は、ワーク凹Wとワーク凸Wのペアは存在しないと判定しステップS202;No、処理をステップS203へ移行する。次に、中央制御部101は、1つのワークWを裏返す例えば、一方のロボットアームで把持したワークWを他方のロボットアームへ受け渡すことにより嵌合可能となるようなワークWのペアを作成できるか否か判別するステップS203。ここで、作業台基準面の上に、2個以上のワーク凸Wが載置されておらず、かつ、2個以上のワーク凹Wも載置されていない場合には、中央制御部101は、1つのワークWを裏返しても嵌合可能となるワークWのペアは作成できないと判定しステップS203;Yes、エラー処理を実行してステップS220、第2実施形態にかかるワーク嵌合制御を中止する。一方、作業台基準面の上に、2個以上のワーク凸W、或いは、2個以上のワーク凸Wが存在する場合には、中央制御部101は、1つのワークWを裏返すことにより嵌合可能となるワークWのペアを作成できると判定しステップS203;Yes、処理をステップS204に移行する。処理がステップS204に移行すると、アーム制御部106とハンド制御部107は、連動して、作業台基準面に載置されているワーク凸W3を、左ハンド部14aの各指15a、16aによって把持するステップS204。なお、図13Aには、ステップS204が完了した段階におけるハンド左ハンドの第1の指15a、第2の指16a、右ハンドの第1の指15b、第2の指16bと、ワークWワーク凸W3、ワーク凸W4の状態が示されている。それから、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク凹W3を上昇させるステップS205。図13Bには、ステップS205が完了した段階において、ワーク凸W3が上昇した状態が示されている。次に、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク凸W3を、右ハンド部14bでも把持させるステップS206。こうして、図13Cに示すように、ステップS206が完了した段階において、ワーク凸W3は、左ハンド部14a第1の指15a、第2の指16aと、右ハンド部14b第1の指15b、第2の指16bの両ハンドで把持された状態となる。それから、アーム制御部106とハンド制御部107は、右ハンド部14b第1の指15b、第2の指16bによってワーク凸W3に左ハンド部14a方向への力Fを加える制御を開始するステップS207。ここで、アーム制御部106とハンド制御部107は、ワーク凸W3が動かないように、左ハンド部14aによってワーク凸W3を固定しておく例えば、左ハンド部14aもワーク凸W3に対して反対方向の力を加える。そして、ワーク凸W3に力Fが加えられている間、左ハンド部14aに備わる左力覚センサー17aは、ワーク凸W3の把持位置に加えられている力Fと、基準位置を回転中心とした場合のモーメントMと、を検出している。このとき、力覚センサー制御部109は、左力覚センサー17aで検出された力Fを取得し、左力覚センサー17aの動作を確認するステップS208。具体的には、力覚センサー制御部109は、左力覚センサー17aから取得した力Fが一定値未満であれば、左力覚センサー17aの動作について再確認が必要と判定しステップS208;No、所定の時間待機した後、再度、ステップS208の処理を実行する。一方、力覚センサー制御部109は、左力覚センサー17aから取得した力Fが一定値以上である場合には、左力覚センサー17aは正常に動作していると判定しステップS208;Yes、ここで取得した力Fを記憶部102に記憶する。次に、力覚センサー制御部109は、左力覚センサー17aで検出されたモーメントMを取得し、記憶部102に記憶するステップS209。それから、位置ずれ推定部108は、右ハンド部14bの各指第1の指15bと第2の指16bによる実際の把持位置について、基準位置ここでは、ワーク凸W3の下面を構成する長方形の長辺Lの中点からのずれ量dx2を算出するステップS210。具体的には、位置ずれ推定部108は、まず、記憶部102から、ワーク凸W3に加えられた力Fと、モーメントMと、定数αを読み出す。そして、位置ずれ推定部108は、M=α×F×dxの関係式にM、α、Fの値を代入して、ずれ量dx2を算出する。なお、ステップS210の演算は、図10で説明した原理に基づいている。ずれ量dx2が算出された後、アーム制御部106とハンド制御部107は、左ハンド部14aと右ハンド部14bで把持しているワーク凸W3について、左ハンド部14aによる把持を解放するステップS211。図14Aには、ステップS211で左ハンド部14aがワーク凸W3を解放した状態が示されている。こうして、ワーク凸W3は、左ハンド部14aから右ハンド部14bへ受け渡される。以上のように、第2実施形態のロボット10では、ワーク凸W3の受け渡し動作のついでに、把持位置についての正確なずれ量dx2を得ることができる。上記のステップS204~S211の制御が行われて、右ハンド部14bによるワーク凹W3の把持位置のずれ量dx2が算出されると、次に、制御部100は、ワーク凸W3の嵌合相手となるワーク凸W4について左ハンド部14aで把持し、第1実施形態と同様の制御S103~S109に従って、ワーク凸W4についての把持位置のずれ量dx1を算出する図12に示すステップS212~S218。なお、図14B、C、図15Aには、ステップS212~S218の制御に従い、左ハンド部14aと、ワーク凸W4と、の状態が遷移する様子が示されている。ステップS218の制御が終わると、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク凸W4と、右ハンド部14bで把持しているワーク凸W3と、を嵌合するステップS219。ただし、ステップS219では、アーム制御部106とハンド制御部107は、ステップS217で算出されたワーク凸W4についての把持位置のずれ量dx1と、ステップS210で算出されたワーク凸W3についての把持位置のずれ量dx2と、に基づき、ワーク凸W4の凸部とワーク凸W3の凹部が一直線上になるように左ハンド部14aと右ハンド部14bの位置を補正して、両ワークを嵌合する図15B。こうして、第2実施形態においても、正確に嵌合作業を行うことができる。以上の制御が、本発明の第2実施形態にかかるワーク嵌合制御である。このように、第2実施形態にかかるワーク嵌合制御は、ワークWを持ち替えることにより嵌合可能となる1組のワークが、作業台上基準面に載置されている場合に適している。また、第2実施形態にかかるワーク嵌合制御によれば、両ハンドで把持された状態のワークWに力Fを加えるだけで把持位置のずれを認識できる。そのため、従来よりも簡易な構成によって、把持位置のずれを認識できるといえる。また、ワークWに加えた力FのモーメントMについては、力覚センサー17a、bを用いて正確に特定検出することができるため、従来よりも高精度に把持位置のずれを認識できる。<第3実施形態>次に、図16~図21を用いて、本発明の第3実施形態について説明する。第3実施形態にかかるロボット10は、第1実施形態や第2実施形態にかかるロボット10と基本的に同様の構成を備えるため、第1実施形態や第2実施形態と相違する点を中心に以下説明する。第3実施形態は、持ち替えなしで嵌合可能な1組のワークが、把持位置の高さについて特定できない状態で作業台上基準面に置かれている場合に採用される。例えば、一方の把持対象のワーク凹Wは、作業台上に置かれた他の物体例えば、他のワークW上に積まれて置かれ、他方の把持対象のワーク凸Wも、作業台上に置かれた他の物体例えば、他のワークW上に積まれて置かれているような場合である。そして、第3実施形態では、第2実施形態にかかるワーク嵌合制御と同様に、一方の把持対象のワーク凹Wについては、図10で説明した原理に従って把持位置のずれ量dx1を推定算出し、他方の把持対象のワーク凸Wについては、図4で説明した原理に従って把持位置のずれ量dx2を推定算出する。そのため、第3実施形態にかかるワーク嵌合制御は、第2実施形態にかかるワーク嵌合制御とほぼ同様の流れとなる。<第3実施形態にかかるワーク嵌合制御>図16、図17は、第3実施形態のロボット10で実行される、ワーク凹Wとワーク凸Wを嵌め合う動作にかかるワーク嵌合制御の一例を説明するためのフロー図である。また、図18~図21は、本フローの制御段階ごとに、左右のハンドの指第1の指15a、b、第2の指16a、bと、ワークWの位置、姿勢を示す図である。上でも触れたが、第3実施形態かかるワーク嵌合制御は、図16Aにも示すように、作業台基準面上に置かれたワークW7やワークW8の上に積み重ねられたワーク凹W5、ワーク凸W6といったペアが存在する場合に実行されるとよい。図16に示す本フローを開始すると、中央制御部101は、第1実施形態のステップS101~S102、S118と同様の制御を実行するステップS301~S302、S320。また、第3実施形態にかかるワーク嵌合制御では、第2実施形態のステップS204~S210と同様の制御が実行されてステップS303~S309、左ハンド部14aの各指第1の指15aと第2の指16aによる実際の把持位置について、基準位置ここでは、ワーク凹W5の下面を構成する長方形の長辺Lの中点からのずれ量dx1が算出される図18A~C。次に、アーム制御部106とハンド制御部107は、左ハンド14aと右ハンド14bで把持しているワーク凹W5について、右ハンド14bによる把持を解放するステップS310。図19Aには、ステップS320で右ハンド14bがワーク凹W5を解放した状態が示されている。こうして、ワーク凹W5は、左ハンド14aから右ハンド14bへ受け渡されずに、左ハンド14aで把持されたままの状態となる。この点は、第2実施形態と相違する点である。すなわち、第2実施形態では、ワーク凸W3の受け渡し動作のついでに、把持位置のずれ量dxを求めているのに対し、第3実施形態では、把持位置のずれ量dxを算出することを主な目的として、ワーク凹W5を左ハンド14aと右ハンド14bで把持している。上記のステップS310が終了すると、アーム制御部106とハンド制御部107は、ワーク凹W5の嵌合相手となるワーク凸W6について右ハンド部14bで把持しステップS311、把持したワーク凸W6を作業台基準面上に置き、解放するステップS312。これは、把持位置の高さ基準面からの距離が不明なワーク凸W6を、基準面に置いて、把持位置の高さを明らかにして把持し直すことを目的としている図19B、C。把持位置の高さが明らかになれば、第1実施形態のステップS111~S116と同様の制御が実行できステップS313~S318、右ハンド部14bの各指第1の指15bと第2の指16bによる実際の把持位置について、基準位置ここでは、ワーク凸W6の下面を構成する長方形の長辺Lの中点からのずれ量dx2が算出される図20A~C、図21A。ステップS318の制御が終わると、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク凹W5と、右ハンド部14bで把持しているワーク凸W6と、を嵌合するステップS319。ただし、ステップS319では、アーム制御部106とハンド制御部107は、ステップS309で算出されたワーク凹W5についての把持位置のずれ量dx1と、ステップS317で算出されたワーク凸W6についての把持位置のずれ量dx2と、に基づき、ワーク凹W5の凹部とワーク凸W6の凸部が一直線上になるように左ハンド部14aと右ハンド部14bの位置を補正して、両ワークを嵌合する図21B。こうして、第3実施形態においても、正確に嵌合作業を行うことができる。以上の制御が、本発明の第3実施形態にかかるワーク嵌合制御である。このように、第3実施形態にかかるワーク嵌合制御は、持ち替えなしで嵌合可能な1組のワークが、把持位置の高さについて特定不可能な状態で作業台上基準面に置かれている場合に適している。<第4実施形態>次に、図22~図27を用いて、本発明の第4実施形態について説明する。第4実施形態にかかるロボット10は、第1~第3実施形態にかかるロボット10と基本的に同様の構成を備えるため、第1~第3実施形態と相違する点を中心に以下説明する。第4実施形態は、ワークWを持ち替えることつまり、一方のロボットアームで把持したワークWを他方のロボットアームに受け渡すことにより嵌合可能となる1組のワークが、把持位置の高さについて特定できない状態で作業台上基準面に置かれている場合に採用される。例えば、一方の把持対象のワーク凸Wが、作業台上に置かれた他の物体例えば、他のワークW上に積まれて置かれ、他方の把持対象のワーク凸Wも、作業台上に置かれた他の物体例えば、他のワークW上に積まれて置かれているような場合である。もちろん、一方の把持対象のワーク凹Wが、作業台上に置かれた他の物体上に積まれて置かれ、他方の把持対象のワーク凹Wも、作業台上に置かれた他の物体上に積まれて置かれているような場合でもよい。そして、第4実施形態では、第2実施形態にかかるワーク嵌合制御と同様に、一方の把持対象のワーク凸Wについては、図10で説明した原理に従って把持位置のずれ量dx2を推定算出し、他方の把持対象のワーク凸Wについては、図4で説明した原理に従って把持位置のずれ量dx1を推定算出する。そのため、第4実施形態にかかるワーク嵌合制御は、第2実施形態にかかるワーク嵌合制御とほぼ同様の流れとなる。<第4実施形態にかかるワーク嵌合制御>図22、図23は、第4実施形態のロボット10で実行される、2つのワーク凸Wを嵌め合う動作にかかるワーク嵌合制御の一例を説明するためのフロー図である。また、図24~図27は、本フローの制御段階ごとに、左右のハンドの指第1の指15a、b、第2の指16a、bと、ワークWの位置、姿勢を示す図である。上でも触れたが、第4実施形態かかるワーク嵌合制御は、図24Aにも示すように、作業台基準面上に置かれたワークW11やワークW12の上に積み重ねられたワーク凸W9、ワーク凸W10といったペアがともに凸部を下に向けて存在する場合に実行されるとよい。もちろん、これとは逆に、作業台基準面の上にワーク凹Wとワーク凹Wのペアがともに凹部を下に向けて存在する場合に実行されてもよい。図22に示す本フローを開始すると、制御部100は、第2実施形態のステップS201~S203、S220と同様の制御を実行するステップS401~S403、S421。また、第4実施形態にかかるワーク嵌合制御では、第2実施形態のステップS204~S210と同様の制御が実行されてステップS404~S410、左ハンド部14aの各指第1の指15aと第2の指16aによる実際の把持位置について、基準位置ここでは、ワーク凸W9の下面を構成する長方形の長辺Lの中点からのずれ量dx2が算出される図24A~C。次に、アーム制御部106とハンド制御部107は、左ハンド14aと右ハンド14bで把持しているワーク凸W9について、左ハンド14aによる把持を解放するステップS411。図25Aには、ステップS411で左ハンド14aがワーク凸W9を解放した状態が示されている。こうして、ワーク凸W9は、左ハンド14aから右ハンド14bへ受け渡される。この点は、第2実施形態と同様であり、受け渡しの動作のついでに、把持位置のずれ量dx2を算出できる。上記のステップS411が終了すると、アーム制御部106とハンド制御部107は、ワーク凸W9の嵌合相手となるワーク凸W10について左ハンド部14aで把持しステップS412、把持したワーク凸W10を作業台基準面上に置き、解放するステップS413。これは、把持位置の高さ基準面からの距離が不明なワーク凸W10を、基準面に置いて、把持位置の高さを明らかにして把持し直すことを目的としている図25B、C。把持位置の高さが明らかになれば、第1実施形態のステップS111~S116と同様の制御が実行できステップS414~S419、左ハンド部14aの各指第1の指15aと第2の指16aによる実際の把持位置について、基準位置ここでは、ワーク凸W10の下面を構成する長方形の長辺Lの中点からのずれ量dx1が算出される図26A~C、図27A。ステップS419の制御が終わると、アーム制御部106とハンド制御部107は、左ハンド部14aで把持しているワーク凸W10と、右ハンド部14bで把持しているワーク凸W9と、を嵌合するステップS420。ただし、ステップS420では、アーム制御部106とハンド制御部107は、ステップS418で算出されたワーク凸W10についての把持位置のずれ量dx2と、ステップS410で算出されたワーク凸W9についての把持位置のずれ量dx2と、に基づき、ワーク凸W10の凸部とワーク凸W9の凹部が一直線上になるように左ハンド部14aと右ハンド部14bの位置を補正して、両ワークを嵌合する図27B。こうして、第4実施形態においても、正確に嵌合作業を行うことができる。以上の制御が、本発明の第4実施形態にかかるワーク嵌合制御である。このように、第4実施形態にかかるワーク嵌合制御は、ワークWを持ち替えることにより嵌合可能となる1組のワークが、把持位置の高さについて特定不可能な状態で作業台上基準面に置かれている場合に適している。なお、上記した各フローの各処理単位は、ロボット10を理解容易にするために、主な処理内容に応じて分割したものである。処理ステップの分類の仕方やその名称によって、本願発明が制限されることはない。ロボット10が行う処理は、さらに多くの処理ステップに分割することもできる。また、1つの処理ステップが、さらに多くの処理を実行してもよい。また、上記の実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。例えば、上記各実施形態では説明していないが、下面に凹部を有するワーク凹Wを把持する場合と、下面に凸部を有するワーク凸Wを把持する場合と、に応じて、ハンドによる把持位置を変更する。例えば、ワーク凹Wを把持する場合には、ハンドによる把持位置を基準面と同じ高さ位置とし、ワーク凸Wを把持する場合には、ハンドによる把持位置を、基準面より所定長凸部の長さだけ高くする。また、上記各実施形態における右ハンド部14aと左ハンド部14bを入れ替えてもよい。また、上記第1実施形態と上記第3実施形態については、把持位置のずれ量dxを他の方法に代えて推定算出するようにしてもよい。例えば、図28は、上記第1実施形態と上記第3実施形態の変形例について説明する図である。図示するように、変形例では、左ハンド部14aに備わる各指15a、16aで把持されているワークWを、右ハンド部14bに備わる各指15b、16bで把持する動作が実行される。このとき、右ハンド部14bに備わる各指15b、16bは、左ハンド部14aの各指15a、16aで把持されている位置把持位置を中心線図示する点線として、ワークWを把持しようとする。仮に、左ハンド部14aの各指第1の指15aと第2の指16aによる実際の把持位置が、基準位置図示する例では、ワークWの上面を構成する長辺の中点位置に一致しているのであれば、右ハンド部14bによる把持動作において各指第1の指15bと第2の指16bは、ほぼ同時にワークWに到達する。しかし、図示するように、左ハンド部14aの各指第1の指15aと第2の指16aによる実際の把持位置が、基準位置からずれている場合にはずれ量dx、右ハンド部14bのいずれかの指第1の指15b、又は第2の指16bが先にワークWに到達する。このとき、ワークWに到達した指第1の指15b、又は第2の指16bには、把持方向の反対向きの反力Fxが加えられる。そのため、変形例の位置ずれ推定部108は、dx=β×Fxの関係式にβ、Fxの値を代入して、ずれ量dxを算出する。ここで、Fxは、力覚センサー左力覚センサー17aと右力覚センサー17bの少なくともいずれかで検出される値である。また、βは、上記の反力Fxとずれ量dxの関係を調整するための定数であり、予め記憶部102に格納されたデータから得られる値である。従って、図示する変形例では、位置ずれ推定部108は、右ハンド部14bが左ハンド部14aによる把持方向と直交する方向に把持する動作において、左ハンド部14aと右ハンド部14bのうちの少なくとも一方に発生した左ハンド部14aによる把持方向と直交する方向の力Fxに基づき、ワークWについてのずれ量dxを算出する。以上のような変形例によれば、上記第1実施形態と上記第3実施形態よりも簡易な方法によって、把持位置のずれ量dxを算出することができる。