(57)【要約】  【課題】従来よりも簡易な構成によって、ワークの把持位置のずれをなるべく高精度に認識する技術を提供する。  【解決手段】把持ロボット装置１０であって、基準面に載置されたワークを把持する把持部と、把持部によるワークの把持位置について、基準位置からのずれ量を算出するずれ量算出部と、を備える。把持部は、ワークを傾けて、当該ワークの一端を基準面に接触させる。このとき、ずれ量算出部は、把持部により傾けられたワークと基準面とが接触した状態において、把持部と基準面の位置関係に基づき、ずれ量を算出する。【選択図】図３
2013129005.tif 000002
【特許請求の範囲】
【請求項１】
把持ロボット装置であって、
基準面に載置されたワークを把持する把持部と、
前記把持部による前記ワークの把持位置について、基準位置からのずれ量を算出するずれ量算出部と、を備え、
前記把持部は、
前記ワークを傾けて、当該ワークの一端を前記基準面に接触させ、
前記ずれ量算出部は、
前記把持部により傾けられた前記ワークと前記基準面とが接触した状態において、前記把持部と前記基準面の位置関係に基づき、前記ずれ量を算出する、
ことを特徴とする把持ロボット装置。
【請求項２】
請求項１に記載の把持ロボット装置であって、
前記把持部は、
前記ワークの底面に平行な一方向（以下「Ｙ方向」とよぶ）を把持方向として前記ワークを把持し、
前記ずれ量算出部は、
前記把持部による前記ワークの把持位置について、前記Ｙ方向に直交するＸ方向へのずれ量ｄｘを、
ｄｘ＝Ｈ／ｓｉｎθ−Ｌ
（ただし、Ｈは前記把持位置の前記基準面からの距離、Ｌは前記ワークの前記基準位置から前記一端までの長さ、θは前記ワークが傾けられた角度を表す）
の数式を用いて算出する、
ことを特徴とする把持ロボット装置。
【請求項３】
請求項１又は２に記載の把持ロボット装置であって、
前記把持部は、
第１の把持機構を有する第１の把持部と、第２の把持機構を有する第２の把持部と、を備え、
前記第１の把持機構で把持している第１のワークを、前記第２の把持機構が前記第１の把持機構による把持方向と直交する方向に把持する動作を実行し、
前記ずれ量算出部は、
前記第２の把持機構が前記第１の把持機構による把持方向と直交する方向に把持する動作において、前記第１の把持部と前記第２の把持部のうちの少なくとも一方に発生した前記第１の把持機構による把持方向と直交する方向の力に基づき、前記ずれ量を算出する、
ことを特徴とする把持ロボット装置。
【請求項４】
請求項３に記載の把持ロボット装置であって、
前記ずれ量算出部は、
ｄｘ＝Ｆｘ×β
（ただし、Ｆｘは前記力、ｄｘは前記ずれ量、βは係数を表す）
の数式を用いて、前記ずれ量を算出する、
ことを特徴とする把持ロボット装置。
【請求項５】
請求項１乃至４のいずれか１項に記載の把持ロボット装置であって、
前記把持部は、
第１の把持機構を有する第１の把持部と、第２の把持機構を有する第２の把持部と、を備え、
前記第１の把持機構で把持している第１のワークを、前記第２の把持機構が前記第１の把持機構による把持方向と直交する方向に把持する動作を実行し、
前記ずれ量算出部は、
前記第２の把持機構が前記第１の把持機構による把持方向と直交する方向に把持する動作において、前記第１の把持部と前記第２の把持部のうちの少なくとも一方に発生した前記第１の把持機構による把持方向と直交する方向の力に基づき、前記第１のワークについての前記ずれ量を算出し、
前記第２の把持機構により傾けられた第２のワークと前記基準面とが接触した状態において、前記第２の把持機構と前記基準面の位置関係に基づき、前記第２のワークについての前記ずれ量を算出する、
ことを特徴とする把持ロボット装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の把持ロボット装置であって、
前記把持部は、
第１の把持機構を有する第１の把持部と、第２の把持機構を有する第２の把持部と、を備え、
前記第１の把持機構で把持している第１のワークを、前記第２の把持機構が前記第１の把持機構による把持方向と直交する方向に把持して受け渡す動作を実行し、
前記ずれ量算出部は、
前記第２の把持機構により傾けられた第２のワークと前記基準面とが接触した状態において、前記第２の把持機構と前記基準面の位置関係に基づき、前記第２のワークについての前記ずれ量を算出する、
ことを特徴とする把持ロボット装置。
【請求項７】
請求項１乃至６のいずれか１項に記載の把持ロボット装置であって、
前記ずれ量算出部によって算出された前記ずれ量に基づき、前記把持部の動作を補正する補正部を、さらに備える、
ことを特徴とする把持ロボット装置。
【請求項８】
把持機構を備える把持ロボット装置で行われる把持動作制御方法であって、
前記把持機構により、基準面に載置された前記ワークを把持する把持ステップと、
前記把持ステップにおける前記ワークの把持位置について、基準位置からのずれ量を算出するずれ量算出ステップと、を行い、
前記把持ステップでは、
前記ワークを傾けて、当該ワークの一端を前記基準面に接触させ、
前記ずれ量算出ステップでは、
前記把持ステップで傾けられた前記ワークと前記基準面とが接触した状態において、前記把持機構と前記基準面の位置関係に基づき、前記ずれ量を算出する、
ことを特徴とする把持動作制御方法。
【請求項９】
把持機構を制御する把持動作制御装置であって、
ワークの把持動作についての指示を前記把持機構に出力する指示部と、
前記把持機構によるワークの把持位置について、基準位置からのずれ量を算出するずれ量算出部と、を備え、
前記指示部は、
基準面に載置されたワークを把持し、当該ワークを傾けて、当該ワークの一端を前記基準面に接触させる指示を前記把持機構に出力し、
前記ずれ量算出部は、
前記把持機構により傾けられた前記ワークと前記基準面とが接触した状態において、前記把持機構と前記基準面の位置関係に基づき、前記ずれ量を算出する、
ことを特徴とする把持動作制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、把持ロボット装置、把持動作制御方法、および、把持動作制御装置に関する。
【背景技術】
【０００２】
産業用ロボットの中には、複数のロボットアームを備え、対象物（以下では「ワーク」とよぶ）の嵌め合い作業や、積み重ね作業を行うものがある。
【０００３】
例えば、特許文献１には、画像センサーを用いてワークの位置や姿勢などを測定し、その測定結果に基づいてハンドを制御してワークを把持する技術について開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−２２４６２３号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来のように高価な測定手段（カメラ等）や複雑な測定処理によってワークの位置や姿勢を測定しても、その位置分解能は５００μｍ程度であり、ワークを把持する位置（以下では「把持位置」とよぶ）に数百μｍのずれが生じてしまう場合がある。当然ながら、このような把持位置のずれを正確に認識できなければ、精度が必要なワークの嵌め合い作業や、ワークの積み重ね作業を正確に行うことはできない。
【０００６】
本発明は、従来よりも簡易な構成によって、ワークの把持位置のずれを高精度に認識する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本願発明は、把持動作制御装置であって、基準面に載置されたワークを把持する把持部と、前記把持部による前記ワークの把持位置について、基準位置からのずれ量を算出するずれ量算出部と、を備え、前記把持部は、前記ワークを傾けて、当該ワークの一端を前記基準面に接触させ、前記ずれ量算出部は、前記把持部により傾けられた前記ワークと前記基準面とが接触した状態において、前記把持部と前記基準面の位置関係に基づき、前記ずれ量を算出する。
【０００８】
これにより、従来よりも簡易な構成によって、ワークの把持位置のずれを高精度に認識できる。
【０００９】
また、前記把持部は、前記ワークの底面に平行な一方向（以下「Ｙ方向」とよぶ）を把持方向として前記ワークを把持し、前記ずれ量算出部は、前記把持部による前記ワークの把持位置について、前記Ｙ方向に直交するＸ方向へのずれ量ｄｘを、ｄｘ＝Ｈ／ｓｉｎθ−Ｌ  （ただし、Ｈは前記把持位置の前記基準面からの距離、Ｌは前記ワークの前記基準位置から前記一端までの長さ、θは前記ワークが傾けられた角度を表す）の数式を用いて算出するようにしてもよい。
【００１０】
こうすれば、簡易な数式によって、ワークの把持位置のずれを高精度に認識できる。
【００１１】
また、前記把持部は、第１の把持機構を有する第１の把持部と、第２の把持機構を有する第２の把持部と、を備え、前記第１の把持機構で把持している第１のワークを、前記第２の把持機構が前記第１の把持機構による把持方向と直交する方向に把持する動作を実行し、前記ずれ量算出部は、前記第２の把持機構が前記第１の把持機構による把持方向と直交する方向に把持する動作において、前記第１の把持部と前記第２の把持部のうちの少なくとも一方に発生した前記第１の把持機構による把持方向と直交する方向の力に基づき、前記ずれ量を算出するようにしてもよい。
【００１２】
これにより、上記とは別の方法（第２の方法）によって、ワークの把持位置のずれを高精度に認識できる。
【００１３】
また、前記ずれ量算出部は、ｄｘ＝Ｆｘ×β  （ただし、Ｆｘは前記力、ｄｘは前記ずれ量、βは係数を表す）の数式を用いて、前記ずれ量を算出するとうにしてもよい。
【００１４】
こうすれば、第２の方法によって、ワークの把持位置のずれを算出する場合にも、簡易な数式によって、ワークの把持位置のずれを高精度に認識できる。
【００１５】
また、前記把持部は、第１の把持機構を有する第１の把持部と、第２の把持機構を有する第２の把持部と、を備え、前記第１の把持機構で把持している第１のワークを、前記第２の把持機構が前記第１の把持機構による把持方向と直交する方向に把持する動作を実行し、前記ずれ量算出部は、前記第２の把持機構が前記第１の把持機構による把持方向と直交する方向に把持する動作において、前記第１の把持部と前記第２の把持部のうちの少なくとも一方に発生した前記第１の把持機構による把持方向と直交する方向の力に基づき、前記第１のワークについての前記ずれ量を算出し、前記第２の把持機構により傾けられた第２のワークと前記基準面とが接触した状態において、前記第２の把持機構と前記基準面の位置関係に基づき、前記第２のワークについての前記ずれ量を算出する、ようにしてもよい。
【００１６】
こうして、持ち替えなしで嵌合可能な１組のワークが、把持位置の高さについて特定不可能な状態で作業台上（基準面）に置かれている場合でも、正確に嵌合作業を行うことができる。
【００１７】
また、前記把持部は、第１の把持機構を有する第１の把持部と、第２の把持機構を有する第２の把持部と、を備え、前記第１の把持機構で把持している第１のワークを、前記第２の把持機構が前記第１の把持機構による把持方向と直交する方向に把持して受け渡す動作を実行し、前記ずれ量算出部は、前記第２の把持機構により傾けられた第２のワークと前記基準面とが接触した状態において、前記第２の把持機構と前記基準面の位置関係に基づき、前記第２のワークについての前記ずれ量を算出する、ようにしてもよい。
【００１８】
こうして、ワークを持ち替えることにより嵌合可能となる１組のワークが、把持位置の高さについて特定不可能な状態で作業台上（基準面）に置かれている場合でも、ワークの受け渡し動作のついでに、把持位置のずれ量を算出することができ、効率よく嵌合動作を実行できる。
【００１９】
また、前記ずれ量算出部によって算出された前記ずれ量に基づき、前記把持部の動作を補正する補正部を、さらに備えるようにしてもよい。
【００２０】
こうして、前記ずれ量算出部によって算出されたずれ量に応じて、正確に嵌合作業を行うことができる。
【００２１】
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００２２】
【図１】ロボット１０の外観例を示す図である。
【図２】ロボット１０が有するハンド部１４の詳細について説明するための図である。
【図３】ロボット１０の概略構成の一例を示すブロック図である。
【図４】（Ａ）下面に凹部（メス）があるワーク２０ａを把持する場合において、ワーク２０ａを傾けて把持位置のずれを求める方法について説明する図である。（Ｂ）下面に凸部（オス）があるワーク２０ｂを把持する場合において、ワーク２０ｂを傾けて把持位置のずれを求める方法について説明する図である。
【図５】第１実施形態にかかるワーク嵌合制御の一例について説明するためのフロー図である（前半処理）。
【図６】第１実施形態にかかるワーク嵌合制御の一例について説明するためのフロー図である（後半処理）。
【図７】（Ａ）〜（Ｃ）第１実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第１〜３段階）。
【図８】（Ａ）〜（Ｃ）第１実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第４〜６段階）。
【図９】（Ａ）〜（Ｃ）第１実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第７〜９段階）。
【図１０】ワーク２０を押し込んで把持位置のずれを求める方法について説明する図である。
【図１１】第２実施形態にかかるワーク嵌合制御の一例について説明するためのフロー図である（前半処理）。
【図１２】第２実施形態にかかるワーク嵌合制御の一例について説明するためのフロー図である（後半処理）。
【図１３】（Ａ）〜（Ｃ）第２実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第１〜３段階）。
【図１４】（Ａ）〜（Ｃ）第２実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第４〜６段階）。
【図１５】（Ａ）〜（Ｂ）第２実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第７〜８段階）。
【図１６】第３実施形態にかかるワーク嵌合制御の一例について説明するためのフロー図である（前半処理）。
【図１７】第３実施形態にかかるワーク嵌合制御の一例について説明するためのフロー図である（後半処理）。
【図１８】（Ａ）〜（Ｃ）第３実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第１〜３段階）。
【図１９】（Ａ）〜（Ｃ）第３実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第４〜６段階）。
【図２０】（Ａ）〜（Ｃ）第３実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第７〜９段階）。
【図２１】（Ａ）〜（Ｂ）第３実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第１０〜１１段階）。
【図２２】第４実施形態にかかるワーク嵌合制御の一例について説明するためのフロー図である（前半処理）。
【図２３】第４実施形態にかかるワーク嵌合制御の一例について説明するためのフロー図である（後半処理）。
【図２４】（Ａ）〜（Ｃ）第４実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第１〜３段階）。
【図２５】（Ａ）〜（Ｃ）第４実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第４〜６段階）。
【図２６】（Ａ）〜（Ｃ）第４実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第７〜９段階）。
【図２７】（Ａ）〜（Ｃ）第４実施形態にかかるワーク嵌合制御において、ハンド部１４とワーク２０の状態を示す図である（第１０〜１１段階）。
【図２８】上記第１実施形態と上記第３実施形態の変形例について説明する図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態について図面を用いて説明する。
【００２４】
＜第１実施形態＞
まず、図１〜図９を用いて、本発明の第１実施形態について説明する。第１実施形態は、持ち替えなしで嵌合可能な１組のワークが、作業台上（基準面）に載置されている場合に採用される。すなわち、一方のワークは凸部を下面に向けて作業台上に載置され、他方のワークは凹部を下面に向けて作業台上に載置されているような場合である。
【００２５】
図１は、本実施形態のロボット１０についての外観例を示す図である。図示するように、ロボット１０は、複数のロボットアーム（左アーム部１１ａ、右アーム部１１ｂ）を有する双腕ロボットである。ロボット１０は、各ロボットアーム（１１ａ、１１ｂ）の先端に取り付けられたそれぞれのハンド（左ハンド部１４ａ、右ハンド部１４ｂ）でワークＷを把持し、嵌め合う作業を行う。
【００２６】
ここで、左アーム部１１ａは、ロボット１０の左腕として機能し、複数のリンク１２ａと、各リンク１２ａを接続する複数のジョイント（関節）１３ａと、を備える。
【００２７】
各ジョイント１３ａは、リンク１２ａ同士や、ロボット１０の胴体とリンク１２ａを回動自在に連結している。そのため、各ジョイント１３ａを連動させて駆動することにより、左アーム部１１ａの先端部分に取り付けられた左ハンド部１４ａを、自在（ただし、所定範囲内）に移動させることができるとともに、自由な方向へ向けることもできる。
【００２８】
また、右アーム１１ｂは、ロボット１０の右腕として機能し、複数のリンク１２ｂと、各リンク１２ｂを接続する複数のジョイント（関節）１３ｂと、を備える。
【００２９】
左アーム部１１ａと同様に、右アーム部１１ｂの各ジョイント１３ｂは、リンク１２ｂ同士や、ロボット１０の胴体とリンク１２ｂを回動自在に連結している。そのため、各ジョイント１３ｂを連動させて駆動することにより、右アーム部１１ｂの先端部分に取り付けられた右ハンド部１４ｂを、自在（ただし、所定範囲内）に移動させることができるとともに、自由な方向へ向けることもできる。
【００３０】
なお、図には、２軸アームの例が示されているが、もちろん、これに限定されるものではない。例えば、軸数（ジョイント数）をさらに増加させてもよい。また、リンク１２（ａ、ｂ）やハンド部１４（ａ、ｂ）の形状などについても、これに限定されるものではない。また、ロボットアーム（１１ａ、１１ｂ）とハンド（１４ａ、１４ｂ）を合わせて、「把持装置」ともよぶ。
【００３１】
図２は、ハンド（左ハンド部１４ａ、右ハンド部１４ｂ）の詳細について説明するための図である。図示するように、ハンド（左ハンド１４ａと右ハンド１４ｂ）は、第１の指１５（ａ、ｂ）と、第２の指１６（ａ、ｂ）と、力覚センサー１７（ａ、ｂ）と、を備えている。ハンド（左ハンド１４ａと右ハンド１４ｂ）は、図示する把持方向に第１の指１５（ａ、ｂ）と第２の指１６（ａ、ｂ）を移動させて、ワークＷを把持することができる。
【００３２】
また、ハンド（左ハンド部１４ａ、右ハンド部１４ｂ）は、力覚センサー１７（ａ、ｂ）を備えている。力覚センサー１７（ａ、ｂ）は、少なくとも１軸以上（例えば、６軸）の力覚センサーであり、ワークＷに作用する力Ｆ（例えば、嵌合方向へワークＷを押し込む力）やモーメントＭを検出する。
【００３３】
ところで、以上のようなロボットアーム（左アーム部１１ａ、右アーム部１１ｂ）とハンド（左ハンド部１４ａ、右ハンド部１４ｂ）を有するロボット１０は、制御部１００によって制御される。制御部１００は、図１、図２には示されていないが、ロボット１０の本体に内蔵しておいてもよいし、遠隔操作によりロボット１０を制御できる位置に設けてもよい。
【００３４】
図３は、ロボット１０の概略構成の一例を示すブロック図である。図示する太線で示すように、ロボット１０は、制御部１００と、上述したロボットアーム（左アーム部１１ａ、右アーム部１１ｂ）と、上述したハンド（左ハンド部１４ａ、右ハンド部１４ｂ）と、を備える。
【００３５】
なお、上記の図１および図２では説明しなかったが、左アーム部１１ａに含まれる各ジョイント１３ａには、各ジョイント１３ａを駆動するためのアクチュエーター（モーター）が設けられている。同様に、右アーム部１１ｂに含まれる各ジョイント１３ｂにも、各ジョイント１３ｂを駆動するためのアクチュエーター（モーター）が設けられている。
【００３６】
また、左ハンド部１４ａに含まれる第１の指１５ａおよび第２の指１６ａにも、各指（１５ａ、１６ａ）を駆動するためのアクチュエーター（モーター）が設けられている。同様に、右ハンド部１４ｂに含まれる第１の指１５ｂおよび第２の指１６ｂにも、各指（１５ｂ、１６ｂ）を駆動するためのアクチュエーター（モーター）が設けられている。
【００３７】
一方、制御部１００は、中央制御部１０１と、記憶部１０２と、インピーダンス制御部１０３と、接触判定部１０４と、エンコーダー読み取り部１０５と、アーム制御部１０６と、ハンド制御部１０７と、位置ずれ推定部１０８と、力覚センサー制御部１０９と、を備える。
【００３８】
ここで、中央制御部１０１は、制御部１００に備わる各ユニット（１０２〜１０９）を統括的に制御する。
【００３９】
また、記憶部１０２は、各種演算に必要なデータ、ワークＷの形状を表すデータ（以下では「形状データ」ともいう）、ロボット１０の動作（例えば、嵌め合い作業）を制御するプログラム、などを記憶する。例えば、記憶部１０２は、ＤＤＲ−ＳＤＲＡＭなどの揮発性メモリー、フラッシュメモリーなどの不揮発性メモリー、などにより構成される。
【００４０】
インピーダンス制御部１０３は、ロボットアーム（左アーム部１１ａ、右アーム部１１ｂ）の手先（左ハンド部１４ａ、右ハンド部１４ｂ）に対して、外部環境から反力が加えられた場合に、目的の作業に適したインピーダンス（位置、速度、加速度）となるようにロボットアーム１１（ａ、ｂ）およびハンド１４（ａ、ｂ）を制御する。例えば、本実施形態では、インピーダンス制御部１０３は、ハンド１４（ａ、ｂ）で把持されたワークＷを下降させているときに、そのワークＷ（或いはハンド）が作業台（基準面）に接触すると、ワークＷ（或いはハンド）に対する作業台からの反力（抗力）がなくなるように、ワークＷを下降させる速度や加速度を調整する。こうした制御により、ワークＷを落としたり、ハンド１４（ａ、ｂ）や作業台に傷をつけるのを防止できる。
【００４１】
接触判定部１０４は、ハンド１４（ａ、ｂ）で把持されたワークＷの少なくとも一部（例えば、一端）が、作業台（基準面）に接触したか否か判定する。例えば、接触判定部１０４は、力覚センサー１７（ａ、ｂ）から得られたデータを基に、ワークＷの一端が作業台（基準面）に接触したか否か判定する。
【００４２】
エンコーダー読み取り部１０５は、ロボットアーム（左アーム部１１ａ、右アーム部１１ｂ）のジョイント１３（ａ、ｂ）に設けられたアクチュエーターのエンコーダー値を読み取る。また、図示していないが、エンコーダー読み取り部１０５は、ハンド（左ハンド部１４ａ、右ハンド部１４ｂ）に設けられたアクチュエーターのエンコーダー値を読み取ることもできる。こうしたエンコーダー値は、ロボットアーム（左アーム部１１ａ、右アーム部１１ｂ）やハンド（左ハンド部１４ａ、右ハンド部１４ｂ）の位置、移動方向、移動量、速度、加速度などを把握するのに利用される。
【００４３】
アーム制御部１０６は、ロボットアーム（左アーム部１１ａ、右アーム部１１ｂ）を制御する。例えば、アーム制御部１０６は、ロボットアーム１１（ａ、ｂ）のジョイント１３（ａ、ｂ）に設けられたアクチュエーターを駆動して、ハンド（左アーム部１４ａ、右ハンド部１４ｂ）がワークＷの嵌合作業に適した位置、向き、速度となるように制御する（指示を出力する）。
【００４４】
ハンド制御部１０７は、ハンド（左ハンド部１４ａ、右ハンド部１４ｂ）を制御する。例えば、ハンド制御部１０６は、ハンド１４（ａ、ｂ）の第１の指１５（ａ、ｂ）と第２の指１６（ａ、ｂ）に設けられたアクチュエーターを駆動し、ワークＷを第１の指１５（ａ、ｂ）と第２の指１６（ａ、ｂ）で挟む（すなわち、把持する）制御、ワークＷを解放する制御、などの制御を行う（指示を出力する）。
【００４５】
位置ずれ推定部１０８は、ワークＷを把持している位置（以下では「把持位置」という）について、基準位置からのずれ量ｄｘを推定する。なお、基準位置は、第１の指１５（ａ、ｂ）と第２の指１６（ａ、ｂ）でワークＷを確実に把持できる位置とし、例えば、ワークＷの下面を構成する四角形の一辺の中点位置でもよいし、ワークＷの重心位置でもよい。
【００４６】
また、ワークＷを把持している把持方向をＹ方向とすれば、上記のずれ量ｄｘは、把持方向に略直交する方向であるＸ方向へのずれ量とする。
【００４７】
本実施形態（第１実施形態）では、位置ずれ推定部１０８は、角度θで傾けて作業台（基準面）に接触させた状態のワークＷと、作業台（基準面）の位置関係に基づき、把持位置のずれ量ｄｘを推定する。
【００４８】
図４は、本実施形態（第１実施形態）において、把持位置のずれ（ずれ量ｄｘ）を求める方法について説明する図である。
【００４９】
なお、図４（Ａ）は、下面（すなわち、嵌合面）に凹部（メス）があるワークＷを横からみた場合の例を示す図であり、図４（Ｂ）は、下面（嵌合面）に凸部（オス）があるワークＷを横からみた場合の例を示す図である。以下では、下面に凹部があるワークＷを「ワーク（凹）Ｗ」と記し、下面に凸部があるワークＷを「ワーク（凸）Ｗ」と記す。
【００５０】
図４（Ａ）に示すように、下面に凹部を有するワーク（凹）Ｗが角度θ１で傾けられ、そのワーク（凹）Ｗの一端（図示する例では、ワーク（凹）Ｗの下面を構成する長方形の「短辺」）が作業台（基準面）に接触した状態においては、各指（第１の指１５と第２の指１６）による実際の把持位置は、作業台（基準面）から距離Ｈｓの位置（高さ）になる。そして、図示するように、実際の把持位置が、基準位置（図示する例では、「ワークＷの下面を構成する長辺の中点位置」）からずれ量ｄｘ分ずれていると仮定すると、ワーク（凹）Ｗの一端が作業台（基準面）に接触している位置（接触位置）から実際の把持位置までの距離は、「ｄｘ＋Ｌ」となる。ただし、Ｌは、接触位置から基準位置までの距離とする。なお、本実施形態では、ワークＷの長辺の長さを「２×Ｌ」とし、Ｌは、ワークＷの下面を構成する長辺の半分の長さとなる。また、ｄｘは、「−Ｌ≦ｄｘ≦Ｌ」の範囲の値とする。
【００５１】
この状態において、本実施形態（第１実施形態）の位置ずれ推定部１０８は、Ｈｓ＝｛ｄｘ＋（Ｌ／２）×ｓｉｎ（θ１）の関係式に「Ｈｓ」と「Ｌ」の値を代入して、ずれ量「ｄｘ」を算出する。ここで、「Ｈｓ」は、ロボットアーム（左アーム部１１ａ、右アーム部１１ｂ）に設けられたアクチュエーターから得られたエンコーダー値に基づき求まる値である。また、「Ｌ」は、記憶部１０２に格納されたワーク（凹）Ｗの形状データから得られる値である。
【００５２】
また、図４（Ｂ）に示すように、下面に凸部を有するワーク（凸）Ｗが角度θ２で傾けられ、そのワーク（凸）Ｗの一端（図示する例では、ワーク（凸）Ｗの下面を構成する長方形の「短辺」）が作業台（基準面）に接触した状態においては、各指（第１の指１５と第２の指１６）による実際の把持位置は、作業台（基準面）から距離Ｈｓの位置（高さ）になる。そして、図示するように、実際の把持位置が、基準位置（図示する例では、「ワークＷの下面を構成する長辺の中点位置」）からずれ量ｄｘ分ずれていると仮定すると、ワーク（凸）Ｗの一端が作業台（基準面）に接触している位置（接触位置）から実際の把持位置までの距離は、「ｄｘ＋（Ｌ／２）」となる。ただし、Ｌは、ワークＷの下面を構成する長辺の長さとする。また、ｄｘは、「−（Ｌ／２）≦ｄｘ≦（Ｌ／２）」の範囲の値とする。
【００５３】
この状態において、本実施形態（第１実施形態）の位置ずれ推定部１０８は、Ｈｓ＝｛ｄｘ＋（Ｌ／２）×ｓｉｎ（θ２）の関係式に「Ｈｓ」と「Ｌ」の値を代入して、ずれ量「ｄｘ」を算出する。ここで、「Ｈｓ」は、ロボットアーム（左アーム部１１ａ、右アーム部１１ｂ）に設けられたアクチュエーターから得られたエンコーダー値から求まる値である。また、「Ｌ」は、記憶部１０２に格納されたワーク（凸）Ｗの形状データから得られる値である。
【００５４】
図３に戻り、力覚センサー制御部１０９は、左ハンド部１４ａに備え付けられている左力覚センサー１７ａと、右ハンド部１４ｂに備え付けられている右力覚センサー１７ｂと、を制御する。例えば、力覚センサー制御部１０９は、左力覚センサー１７ａや右力覚センサー１７ｂで検出された力Ｆ（ワークＷに作用する力Ｆ）やモーメントＭを取得する。
【００５５】
なお、図に点線で示しているように、制御部１００は、作業台（基準面）上に載置されているワークＷの向き（上、下）を判定するための撮像部１１０を備えるようにしてもよい。
【００５６】
上記の制御部１００の主な構成要素は、演算装置であるＣＰＵと、プログラム等が記録されたＲＯＭと、メインメモリーとしてデータ等を一時的に格納するＲＡＭと、ホスト等との入出力を制御するインターフェイスと、各構成要素間の通信通路となるシステムバスと、を備えた一般的なコンピューターにより達成することができる。特定の処理を専用に行うように設計されたＡＳＩＣ（Application Specific Integrated Circuit）を含んで、又は、ＡＳＩＣにより構成されていてもよい。
【００５７】
本実施形態が適用されたロボット１０は、以上のような構成からなる。ただし、この構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的な双腕ロボットが備える他の構成を排除するものではない。また、ロボット１０は、さらに多くのロボットアーム、ハンド、指を備えるロボットであってもよい。
【００５８】
また、上記した各構成要素は、制御部１００の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。制御部１００の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００５９】
次に、第１実施形態における、上記構成からなるロボット１０の特徴的な動作について説明する。
【００６０】
＜第１実施形態にかかるワーク嵌合制御＞
図５、図６は、第１実施形態のロボット１０で実行される、ワーク（凸）Ｗとワーク（凹）Ｗを嵌め合う動作にかかる制御（以下では「ワーク嵌合制御」という）の一例を説明するためのフロー図である。
【００６１】
また、図７〜図９は、本フローの制御段階ごとに、左右のハンドの指（第１の指１５（ａ、ｂ）、第２の指１６（ａ、ｂ））と、ワークＷの位置、姿勢を示す図である。
【００６２】
上でも触れたが、第１実施形態にかかるワーク嵌合制御は、図７（Ａ）に示すように、作業台（基準面）の上にワーク（凹）Ｗ１とワーク（凸）Ｗ２のペアが存在する場合に実行されるとよい。
【００６３】
そこで、図５に示す本フローを開始すると、中央制御部１０１は、まず、作業台（基準面）上に載置されているワークＷの位置（例えば、基準面上のＸ、Ｙ座標）を検出し、それらのワークＷうち、下面に凹部を有するワーク（凹）Ｗと、下面に凸部を有するワーク（凸）Ｗと、を区別する（ステップＳ１０１）。
【００６４】
ただし、各ワークＷの位置は、予め記憶部１０２に用意しておいてもよいし、撮像部１１０や各種センサーなどを用いて求めてもよい。また、ワーク（凹）Ｗとワーク（凸）Ｗのいずれかであるかを区別する方法には、予め記憶部１０２に用意されているデータを用いて区別する方法、撮像部１１０で撮像された画像を解析して区別する方法、ワークＷの下面の高さと基準面の高さを計測して区別する方法などがある。
【００６５】
それから、中央制御部１０１は、ステップＳ１０１の処理結果に基づいて、作業台（基準面）上に、ワーク（凹）Ｗとワーク（凸）Ｗのペアが存在するか否か判別する（ステップＳ１０２）。
【００６６】
ここで、１組としてワーク（凹）Ｗとワーク（凸）Ｗのペアが存在しない場合には、中央制御部１０１は、ワーク（凹）Ｗとワーク（凸）Ｗのペアは存在しないと判定し（ステップＳ１０２；Ｎｏ）、エラー処理を実行して（ステップＳ１１８）、第１実施形態にかかるワーク嵌合制御を中止する。
【００６７】
こうして、作業台（基準面）上にワーク（凹）Ｗとワーク（凸）Ｗのペアが存在しない場合に、第１実施形態にかかるワーク嵌合制御を即座に終了させることができる。なお、ステップＳ１１８のエラー処理には、ユーザーにワーク（凹）Ｗとワーク（凸）Ｗのペアが存在しないことを通知する処理などが含まれる。
【００６８】
一方、少なくとも１組以上のワーク（凹）Ｗとワーク（凸）Ｗのペアが存在する場合には、中央制御部１０１は、ワーク（凹）Ｗとワーク（凸）Ｗのペアが存在すると判定し（ステップＳ１０２；Ｙｅｓ）、第１実施形態にかかるワーク嵌合制御を続行する。
【００６９】
この場合には、アーム制御部１０６とハンド制御部１０７は、連動して、作業台（基準面）に載置されているワーク（凹）Ｗ１を、左ハンド部１４ａの各指１５ａ、１６ａによって把持する（ステップＳ１０３）。なお、図７（Ａ）には、ステップＳ１０３が完了した段階におけるハンド（左ハンドの第１の指１５ａ、右ハンドの第１の指１５ｂ）と、ワークＷ（ワーク（凹）Ｗ１、ワーク（凸）Ｗ２）の状態が示されている。
【００７０】
それから、アーム制御部１０６とハンド制御部１０７は、左ハンド部１４ａで把持しているワーク（凹）Ｗ１を上昇させる（ステップＳ１０４）。図７（Ｂ）には、ステップＳ１０４が完了した段階において、ワーク（凹）Ｗ１が上昇した状態が示されている。
【００７１】
ところで、ワーク（凹）Ｗ１が上昇している間、エンコーダー読み取り部１０５は、左アーム部１１ａ（各ジョイント１３ａ）に備わるアクチュエーターからエンコーダー値を読み取り、記憶部１０２に記憶しておく。こうして、ワーク（凹）Ｗ１がステップＳ１０４で上昇した距離Ｚ１を後で特定できるようになる。
【００７２】
次に、アーム制御部１０６とハンド制御部１０７は、左ハンド部１４ａで把持しているワーク（凹）Ｗ１を、角度θ１傾ける（ステップＳ１０５）。図７（Ｃ）には、ステップＳ１０５が完了した段階において、ワーク（凹）Ｗ１が基準面に対して角度θ１傾けられた状態が示されている。
【００７３】
また、ワーク（凹）Ｗ１が傾けられている間においても、エンコーダー読み取り部１０５は、左アーム部１１ａ（各ジョイント１３ａ）に備わるアクチュエーターからエンコーダー値を読み取り、記憶部１０２に記憶しておく。こうして、ワーク（凹）Ｗ１がステップＳ１０５で傾けられた角度θ１を後で特定できるようになる。
【００７４】
それから、アーム制御部１０６とハンド制御部１０７は、角度θ１傾けられたワーク（凹）Ｗ１を下降させる制御を開始する。このとき、インピーダンス制御部１０３は、ワーク（凹）Ｗ１の一端が作業台（基準面）に接触することを想定して、接触時に作業台からの反力がワーク（凹）Ｗ１へ及ぼされることがないように、インピーダンス制御（例えば、左アーム部１１ａの下降、上昇を繰り返す制御）を行う。
【００７５】
なお、ここで、ワーク（凹）Ｗ１の一端が作業台（基準面）に接触したか否かの判定は、接触判定部１０４によって行われる（ステップＳ１０６）。
【００７６】
そして、ワーク（凹）Ｗ１の一端が作業台（基準面）に接触するまでは（ステップＳ１０６；Ｎｏ）、インピーダンス制御のもとワーク（凹）Ｗ１を下降させる制御が継続される。
【００７７】
もちろん、ワーク（凹）Ｗ１が下降している間においても、エンコーダー読み取り部１０５は、左アーム部１１ａ（各ジョイント１３ａ）に備わるアクチュエーターからエンコーダー値を読み取り、記憶部１０２に記憶しておく。こうして、ワーク（凹）Ｗ１が下降した距離Ｚ２についても後で特定できるようになる。
【００７８】
ところで、ワーク（凹）Ｗ１の一端が作業台（基準面）に接触すると（ステップＳ１０６；Ｙｅｓ）、アーム制御部１０６とハンド制御部１０７は、ワーク（凹）Ｗ１の下降制御を停止する。図８（Ａ）には、この段階におけるワーク（凹）Ｗ１の状態（基準面に対して角度θ１傾けられ、下面を構成する長方形の短辺が作業台に接触している状態）が示されている。
【００７９】
図８（Ａ）に示す状態において、位置ずれ推定部１０８は、各指（第１の指１５と第２の指１６ａ）による実際の把持位置の高さ（すなわち、基準面からの距離）Ｈｓ１を算出する（ステップＳ１０７）。具体的には、位置ずれ推定部１０８は、ワーク（凹）Ｗ１をステップＳ１０４で上昇させた距離Ｚ１から、インピーダンス制御で下降させた距離Ｚ２を減算することにより、Ｈｓ１を算出する（Ｈｓ１＝Ｚ１−Ｚ２）。
【００８０】
次に、位置ずれ推定部１０８は、各指（第１の指１５と第２の指１６ａ）による実際の把持位置について、基準位置（ここでは、ワークＷの下面を構成する長方形の長辺Ｌの中点）からのずれ量ｄｘ１を算出する（ステップＳ１０８）。具体的には、位置ずれ推定部１０８は、まず、記憶部１０２（形状データ）から、ワーク（凹）Ｗ１の下面を構成する長方形の長辺の長さＬを読み出す。そして、位置ずれ推定部１０８は、Ｈｓ１＝｛ｄｘ１＋（Ｌ／２）×ｓｉｎ（θ１）の関係式に、ステップＳ１０７で算出された「Ｈｓ１」と、記憶部１０２から読み出した「Ｌ」の値を代入して、ずれ量「ｄｘ１」を算出する。
【００８１】
なお、ステップＳ１０８の演算は、図４（Ａ）で説明した原理に基づいている。こうして、本実施形態の位置ずれ推定部１０８は、把持位置についての正確なずれ量ｄｘ１を簡単に得ることができる。
【００８２】
ずれ量ｄｘ１が算出された後、アーム制御部１０６とハンド制御部１０７は、左アーム１１ａで把持しているワーク（凹）Ｗ１を、作業台（基準面）に対して水平な姿勢に戻し、上昇させる（ステップＳ１０９）。
【００８３】
上記のステップＳ１０３〜Ｓ１０９の制御が行われて、左ハンド部１４ａによるワーク（凹）Ｗ１の把持位置のずれ量ｄｘ１が算出されると、次に、制御部１００は、ワーク（凹）Ｗ１の嵌合相手となるワーク（凸）Ｗ２について右ハンド部１４ｂで把持し、ワーク（凹）Ｗ１の場合と同様の制御に従って、ワーク（凸）Ｗ２についての把持位置のずれ量ｄｘ２を算出する（図６に示すステップＳ１１０〜Ｓ１１６）。なお、図８（Ｂ）、（Ｃ）、図９（Ａ）、（Ｂ）には、ステップＳ１１０〜Ｓ１１６の制御に従い、右アーム１１ｂの右ハンド部１４ｂと、ワーク（凸）Ｗ２と、の状態が遷移する様子が示されている。
【００８４】
ステップＳ１１６の処理が終わると、アーム制御部１０６とハンド制御部１０７は、左ハンド部１４ａで把持しているワーク（凹）Ｗ１と、右ハンド部１４ｂで把持しているワーク（凸）Ｗ２と、を嵌合する（ステップＳ１１７）。ただし、ステップＳ１１７では、アーム制御部１０６とハンド制御部１０７は、ステップＳ１０８で算出されたワーク（凹）Ｗ１についての把持位置のずれ量ｄｘ１と、ステップＳ１１５で算出されたワーク（凸）Ｗ２についての把持位置のずれ量ｄｘ２と、に基づき、ワーク（凹）Ｗ１の凹部とワーク（凸）Ｗ２の凸部が一直線上になるように左ハンド部１４ａと右ハンド部１４ｂの位置を補正して、両ワークを嵌合する（図９（Ｃ））。
【００８５】
こうして、左ハンド部１４ａと右ハンド部１４ｂによるワークＷの把持位置がずれてしまった場合でも、正確に嵌合作業を行うことができる。
【００８６】
以上の制御が、本発明の第１実施形態にかかるワーク嵌合制御である。このように、第１実施形態にかかるワーク嵌合制御は、作業台に載置されたワークＷを裏返したりせずに、最初に把持した状態のまま嵌合動作を実行できる場合に適している。
【００８７】
また、第１実施形態にかかるワーク嵌合制御によれば、傾けた状態のワークＷを基準面に接触させるだけで把持位置のずれを認識できる。そのため、従来よりも簡易な構成によって、把持位置のずれを認識できるといえる。また、第１実施形態によれば、把持されたワークＷと基準面の位置関係について正確に特定（測定）することができるため、従来よりも高精度に把持位置のずれを認識できる。
【００８８】
＜第２実施形態＞
次に、図１０〜図１５を用いて、本発明の第２実施形態について説明する。第２実施形態にかかるロボット１０は、第１実施形態にかかるロボット１０と基本的に同様の構成を備えるため、相違する点を中心に以下説明する。
【００８９】
第２実施形態は、ワークＷを持ち替えること（つまり、一方のロボットアームで把持したワークＷを他方のロボットアームに受け渡すこと）により嵌合可能となる１組のワークが、作業台上（基準面）に載置されている場合に採用される。すなわち、一方のワークは凸部を下面に向けて作業台上に載置され、他方のワークも凸部を下面に向けて作業台上に載置されているような場合である。また、これとは逆に、一方のワークは凹部を下面に向けて作業台上に載置され、他方のワークも凹部を下面に向けて作業台上に載置されているような場合でもよい。
【００９０】
そして、第２実施形態では、把持位置のずれ量ｄｘを推定（算出）する方法に関して、第１実施形態とは異なる方法を採用する。
【００９１】
図１０は、第２実施形態において、把持位置のずれ（ずれ量ｄｘ）を求める方法について説明する図である。
【００９２】
図示するように、下面に凸部を有するワークＷは、左ハンド部１４ａに備わる各指（１５ａ、１６ａ）で把持され、右ハンド部１４ｂに備わる各指（１５ｂ、１６ｂ）に受け渡される。このような受け渡し動作において、ワークＷは、左ハンド部１４ａと右ハンド部１４ｂの両ハンドで把持される状態になる。
【００９３】
このような状態において、例えば、図示するように、ワークＷに対して、左ハンド部１４ａから押し込む力Ｆ（右ハンド部１４ｂ方向への力）が加えられる。このとき、左ハンド部１４ａの各指（第１の指１５ａと第２の指１６ａ）による実際の把持位置が、基準位置（図示する例では、「ワークＷの下面を構成する長辺の中点位置」）からずれ量ｄｘ分ずれていると仮定すると、基準位置に押し込む力ＦのモーメントＭにより、ワークＷには基準位置を中心とした回転運動が与えられる。
【００９４】
そこで、第２実施形態の位置ずれ推定部１０８は、Ｍ＝α×Ｆ×ｄｘの関係式に「Ｍ」、「α」、「Ｆ」の値を代入して、ずれ量「ｄｘ」を算出する。ここで、「Ｍ」および「Ｆ」は、力覚センサー（左力覚センサー１７ａ、右力覚センサー１７ｂ）で検出される値である。また、「α」は、ワークＷに押し込む力ＦのモーメントＭとずれ量ｄｘの関係を調整するための定数であり、予め記憶部１０２に格納されたデータから得られる値である。
【００９５】
以上のような方法によれば、ワークＷの受け渡し動作のついでに、把持位置のずれ量ｄｘを算出することができるため、効率よく嵌合動作を実行できる。
【００９６】
以下に、第２実施形態における、ロボット１０の特徴的な動作について説明する。
【００９７】
＜第２実施形態にかかるワーク嵌合制御＞
図１１、図１２は、第２実施形態のロボット１０で実行される、２つのワーク（凸）Ｗを嵌め合う動作にかかるワーク嵌合制御の一例を説明するためのフロー図である。
【００９８】
また、図１３〜図１５は、本フローの制御段階ごとに、左右のハンドの指（第１の指１５（ａ、ｂ）、第２の指１６（ａ、ｂ））と、ワークＷの位置、姿勢を示す図である。
【００９９】
上でも触れたが、第２実施形態にかかるワーク嵌合制御は、図１３（Ａ）に示すように、作業台（基準面）の上にワーク（凸）Ｗ３とワーク（凸）Ｗ４のペアがともに凸部を下に向けて存在する場合に実行されるとよい。もちろん、これとは逆に、作業台（基準面）の上にワーク（凹）Ｗとワーク（凹）Ｗのペアがともに凹部を下に向けて存在する場合に実行されてもよい。
【０１００】
図１１に示す本フローを開始すると、中央制御部１０１は、まず、作業台（基準面）上に載置されているワークＷの位置（例えば、基準面上のＸ、Ｙ座標）を検出し、それらのワークＷうち、下面に凹部を有するワーク（凹）Ｗと、下面に凸部を有するワーク（凸）Ｗと、を区別する（ステップＳ２０１）。
【０１０１】
ここで、少なくとも１組以上のワーク（凹）Ｗとワーク（凸）Ｗのペアが存在する場合には、中央制御部１０１は、ワーク（凹）Ｗとワーク（凸）Ｗのペアが存在すると判定し（ステップＳ２０２；Ｙｅｓ）、第１実施形態にかかるワーク嵌合制御の方が適しているため、ステップＳ１０３〜Ｓ１１７の制御を行う。
【０１０２】
一方、１組としてワーク（凹）Ｗとワーク（凸）Ｗのペアが存在しない場合には、中央制御部１０１は、ワーク（凹）Ｗとワーク（凸）Ｗのペアは存在しないと判定し（ステップＳ２０２；Ｎｏ）、処理をステップＳ２０３へ移行する。
【０１０３】
次に、中央制御部１０１は、１つのワークＷを裏返す（例えば、一方のロボットアームで把持したワークＷを他方のロボットアームへ受け渡す）ことにより嵌合可能となるようなワークＷのペアを作成できるか否か判別する（ステップＳ２０３）。
【０１０４】
ここで、作業台（基準面）の上に、２個以上のワーク（凸）Ｗが載置されておらず、かつ、２個以上のワーク（凹）Ｗも載置されていない場合には、中央制御部１０１は、１つのワークＷを裏返しても嵌合可能となるワークＷのペアは作成できないと判定し（ステップＳ２０３；Ｙｅｓ）、エラー処理を実行して（ステップＳ２２０）、第２実施形態にかかるワーク嵌合制御を中止する。
【０１０５】
一方、作業台（基準面）の上に、２個以上のワーク（凸）Ｗ、或いは、２個以上のワーク（凸）Ｗが存在する場合には、中央制御部１０１は、１つのワークＷを裏返すことにより嵌合可能となるワークＷのペアを作成できると判定し（ステップＳ２０３；Ｙｅｓ）、処理をステップＳ２０４に移行する。
【０１０６】
処理がステップＳ２０４に移行すると、アーム制御部１０６とハンド制御部１０７は、連動して、作業台（基準面）に載置されているワーク（凸）Ｗ３を、左ハンド部１４ａの各指１５ａ、１６ａによって把持する（ステップＳ２０４）。なお、図１３（Ａ）には、ステップＳ２０４が完了した段階におけるハンド（左ハンドの第１の指１５ａ、第２の指１６ａ、右ハンドの第１の指１５ｂ、第２の指１６ｂ）と、ワークＷ（ワーク（凸）Ｗ３、ワーク（凸）Ｗ４）の状態が示されている。
【０１０７】
それから、アーム制御部１０６とハンド制御部１０７は、左ハンド部１４ａで把持しているワーク（凹）Ｗ３を上昇させる（ステップＳ２０５）。図１３（Ｂ）には、ステップＳ２０５が完了した段階において、ワーク（凸）Ｗ３が上昇した状態が示されている。
【０１０８】
次に、アーム制御部１０６とハンド制御部１０７は、左ハンド部１４ａで把持しているワーク（凸）Ｗ３を、右ハンド部１４ｂでも把持させる（ステップＳ２０６）。こうして、図１３（Ｃ）に示すように、ステップＳ２０６が完了した段階において、ワーク（凸）Ｗ３は、左ハンド部１４ａ（第１の指１５ａ、第２の指１６ａ）と、右ハンド部１４ｂ（第１の指１５ｂ、第２の指１６ｂ）の両ハンドで把持された状態となる。
【０１０９】
それから、アーム制御部１０６とハンド制御部１０７は、右ハンド部１４ｂ（第１の指１５ｂ、第２の指１６ｂ）によってワーク（凸）Ｗ３に左ハンド部１４ａ方向への力Ｆを加える制御を開始する（ステップＳ２０７）。ここで、アーム制御部１０６とハンド制御部１０７は、ワーク（凸）Ｗ３が動かないように、左ハンド部１４ａによってワーク（凸）Ｗ３を固定しておく（例えば、左ハンド部１４ａもワーク（凸）Ｗ３に対して反対方向の力を加える）。
【０１１０】
そして、ワーク（凸）Ｗ３に力Ｆが加えられている間、左ハンド部１４ａに備わる左力覚センサー１７ａは、ワーク（凸）Ｗ３の把持位置に加えられている力Ｆと、基準位置を回転中心とした場合のモーメントＭと、を検出している。
【０１１１】
このとき、力覚センサー制御部１０９は、左力覚センサー１７ａで検出された力Ｆを取得し、左力覚センサー１７ａの動作を確認する（ステップＳ２０８）。
【０１１２】
具体的には、力覚センサー制御部１０９は、左力覚センサー１７ａから取得した力Ｆが一定値未満であれば、左力覚センサー１７ａの動作について再確認が必要と判定し（ステップＳ２０８；Ｎｏ）、所定の時間待機した後、再度、ステップＳ２０８の処理を実行する。
【０１１３】
一方、力覚センサー制御部１０９は、左力覚センサー１７ａから取得した力Ｆが一定値以上である場合には、左力覚センサー１７ａは正常に動作していると判定し（ステップＳ２０８；Ｙｅｓ）、ここで取得した力Ｆを記憶部１０２に記憶する。
【０１１４】
次に、力覚センサー制御部１０９は、左力覚センサー１７ａで検出されたモーメントＭを取得し、記憶部１０２に記憶する（ステップＳ２０９）。
【０１１５】
それから、位置ずれ推定部１０８は、右ハンド部１４ｂの各指（第１の指１５ｂと第２の指１６ｂ）による実際の把持位置について、基準位置（ここでは、ワーク（凸）Ｗ３の下面を構成する長方形の長辺Ｌの中点）からのずれ量ｄｘ２を算出する（ステップＳ２１０）。具体的には、位置ずれ推定部１０８は、まず、記憶部１０２から、ワーク（凸）Ｗ３に加えられた力Ｆと、モーメントＭと、定数αを読み出す。そして、位置ずれ推定部１０８は、Ｍ＝α×Ｆ×ｄｘの関係式に「Ｍ」、「α」、「Ｆ」の値を代入して、ずれ量「ｄｘ２」を算出する。
【０１１６】
なお、ステップＳ２１０の演算は、図１０で説明した原理に基づいている。
【０１１７】
ずれ量ｄｘ２が算出された後、アーム制御部１０６とハンド制御部１０７は、左ハンド部１４ａと右ハンド部１４ｂで把持しているワーク（凸）Ｗ３について、左ハンド部１４ａによる把持を解放する（ステップＳ２１１）。図１４（Ａ）には、ステップＳ２１１で左ハンド部１４ａがワーク（凸）Ｗ３を解放した状態が示されている。
【０１１８】
こうして、ワーク（凸）Ｗ３は、左ハンド部１４ａから右ハンド部１４ｂへ受け渡される。以上のように、第２実施形態のロボット１０では、ワーク（凸）Ｗ３の受け渡し動作のついでに、把持位置についての正確なずれ量ｄｘ２を得ることができる。
【０１１９】
上記のステップＳ２０４〜Ｓ２１１の制御が行われて、右ハンド部１４ｂによるワーク（凹）Ｗ３の把持位置のずれ量ｄｘ２が算出されると、次に、制御部１００は、ワーク（凸）Ｗ３の嵌合相手となるワーク（凸）Ｗ４について左ハンド部１４ａで把持し、第１実施形態と同様の制御（Ｓ１０３〜Ｓ１０９）に従って、ワーク（凸）Ｗ４についての把持位置のずれ量ｄｘ１を算出する（図１２に示すステップＳ２１２〜Ｓ２１８）。なお、図１４（Ｂ）、（Ｃ）、図１５（Ａ）には、ステップＳ２１２〜Ｓ２１８の制御に従い、左ハンド部１４ａと、ワーク（凸）Ｗ４と、の状態が遷移する様子が示されている。
【０１２０】
ステップＳ２１８の制御が終わると、アーム制御部１０６とハンド制御部１０７は、左ハンド部１４ａで把持しているワーク（凸）Ｗ４と、右ハンド部１４ｂで把持しているワーク（凸）Ｗ３と、を嵌合する（ステップＳ２１９）。ただし、ステップＳ２１９では、アーム制御部１０６とハンド制御部１０７は、ステップＳ２１７で算出されたワーク（凸）Ｗ４についての把持位置のずれ量ｄｘ１と、ステップＳ２１０で算出されたワーク（凸）Ｗ３についての把持位置のずれ量ｄｘ２と、に基づき、ワーク（凸）Ｗ４の凸部とワーク（凸）Ｗ３の凹部が一直線上になるように左ハンド部１４ａと右ハンド部１４ｂの位置を補正して、両ワークを嵌合する（図１５（Ｂ））。
【０１２１】
こうして、第２実施形態においても、正確に嵌合作業を行うことができる。
【０１２２】
以上の制御が、本発明の第２実施形態にかかるワーク嵌合制御である。このように、第２実施形態にかかるワーク嵌合制御は、ワークＷを持ち替えることにより嵌合可能となる１組のワークが、作業台上（基準面）に載置されている場合に適している。
【０１２３】
また、第２実施形態にかかるワーク嵌合制御によれば、両ハンドで把持された状態のワークＷに力Ｆを加えるだけで把持位置のずれを認識できる。そのため、従来よりも簡易な構成によって、把持位置のずれを認識できるといえる。また、ワークＷに加えた力ＦのモーメントＭについては、力覚センサー１７（ａ、ｂ）を用いて正確に特定（検出）することができるため、従来よりも高精度に把持位置のずれを認識できる。
【０１２４】
＜第３実施形態＞
次に、図１６〜図２１を用いて、本発明の第３実施形態について説明する。第３実施形態にかかるロボット１０は、第１実施形態や第２実施形態にかかるロボット１０と基本的に同様の構成を備えるため、第１実施形態や第２実施形態と相違する点を中心に以下説明する。
【０１２５】
第３実施形態は、持ち替えなしで嵌合可能な１組のワークが、把持位置の高さについて特定できない状態で作業台上（基準面）に置かれている場合に採用される。例えば、一方の把持対象のワーク（凹）Ｗは、作業台上に置かれた他の物体（例えば、他のワークＷ）上に積まれて置かれ、他方の把持対象のワーク（凸）Ｗも、作業台上に置かれた他の物体（例えば、他のワークＷ）上に積まれて置かれているような場合である。
【０１２６】
そして、第３実施形態では、第２実施形態にかかるワーク嵌合制御と同様に、一方の把持対象のワーク（凹）Ｗについては、図１０で説明した原理に従って把持位置のずれ量ｄｘ１を推定（算出）し、他方の把持対象のワーク（凸）Ｗについては、図４で説明した原理に従って把持位置のずれ量ｄｘ２を推定（算出）する。
【０１２７】
そのため、第３実施形態にかかるワーク嵌合制御は、第２実施形態にかかるワーク嵌合制御とほぼ同様の流れとなる。
【０１２８】
＜第３実施形態にかかるワーク嵌合制御＞
図１６、図１７は、第３実施形態のロボット１０で実行される、ワーク（凹）Ｗとワーク（凸）Ｗを嵌め合う動作にかかるワーク嵌合制御の一例を説明するためのフロー図である。
【０１２９】
また、図１８〜図２１は、本フローの制御段階ごとに、左右のハンドの指（第１の指１５（ａ、ｂ）、第２の指１６（ａ、ｂ））と、ワークＷの位置、姿勢を示す図である。
【０１３０】
上でも触れたが、第３実施形態かかるワーク嵌合制御は、図１６（Ａ）にも示すように、作業台（基準面）上に置かれたワークＷ７やワークＷ８の上に積み重ねられたワーク（凹）Ｗ５、ワーク（凸）Ｗ６といったペアが存在する場合に実行されるとよい。
【０１３１】
図１６に示す本フローを開始すると、中央制御部１０１は、第１実施形態のステップＳ１０１〜Ｓ１０２、Ｓ１１８と同様の制御を実行する（ステップＳ３０１〜Ｓ３０２、Ｓ３２０）。
【０１３２】
また、第３実施形態にかかるワーク嵌合制御では、第２実施形態のステップＳ２０４〜Ｓ２１０と同様の制御が実行されて（ステップＳ３０３〜Ｓ３０９）、左ハンド部１４ａの各指（第１の指１５ａと第２の指１６ａ）による実際の把持位置について、基準位置（ここでは、ワーク（凹）Ｗ５の下面を構成する長方形の長辺Ｌの中点）からのずれ量ｄｘ１が算出される（図１８（Ａ）〜（Ｃ））。
【０１３３】
次に、アーム制御部１０６とハンド制御部１０７は、左ハンド１４ａと右ハンド１４ｂで把持しているワーク（凹）Ｗ５について、右ハンド１４ｂによる把持を解放する（ステップＳ３１０）。図１９（Ａ）には、ステップＳ３２０で右ハンド１４ｂがワーク（凹）Ｗ５を解放した状態が示されている。
【０１３４】
こうして、ワーク（凹）Ｗ５は、左ハンド１４ａから右ハンド１４ｂへ受け渡されずに、左ハンド１４ａで把持されたままの状態となる。この点は、第２実施形態と相違する点である。すなわち、第２実施形態では、ワーク（凸）Ｗ３の受け渡し動作のついでに、把持位置のずれ量ｄｘを求めているのに対し、第３実施形態では、把持位置のずれ量ｄｘを算出することを主な目的として、ワーク（凹）Ｗ５を左ハンド１４ａと右ハンド１４ｂで把持している。
【０１３５】
上記のステップＳ３１０が終了すると、アーム制御部１０６とハンド制御部１０７は、ワーク（凹）Ｗ５の嵌合相手となるワーク（凸）Ｗ６について右ハンド部１４ｂで把持し（ステップＳ３１１）、把持したワーク（凸）Ｗ６を作業台（基準面）上に置き、解放する（ステップＳ３１２）。
【０１３６】
これは、把持位置の高さ（基準面からの距離）が不明なワーク（凸）Ｗ６を、基準面に置いて、把持位置の高さを明らかにして把持し直すことを目的としている（図１９（Ｂ）、（Ｃ））。
【０１３７】
把持位置の高さが明らかになれば、第１実施形態のステップＳ１１１〜Ｓ１１６と同様の制御が実行でき（ステップＳ３１３〜Ｓ３１８）、右ハンド部１４ｂの各指（第１の指１５ｂと第２の指１６ｂ）による実際の把持位置について、基準位置（ここでは、ワーク（凸）Ｗ６の下面を構成する長方形の長辺Ｌの中点）からのずれ量ｄｘ２が算出される（図２０（Ａ）〜（Ｃ）、図２１（Ａ））。
【０１３８】
ステップＳ３１８の制御が終わると、アーム制御部１０６とハンド制御部１０７は、左ハンド部１４ａで把持しているワーク（凹）Ｗ５と、右ハンド部１４ｂで把持しているワーク（凸）Ｗ６と、を嵌合する（ステップＳ３１９）。ただし、ステップＳ３１９では、アーム制御部１０６とハンド制御部１０７は、ステップＳ３０９で算出されたワーク（凹）Ｗ５についての把持位置のずれ量ｄｘ１と、ステップＳ３１７で算出されたワーク（凸）Ｗ６についての把持位置のずれ量ｄｘ２と、に基づき、ワーク（凹）Ｗ５の凹部とワーク（凸）Ｗ６の凸部が一直線上になるように左ハンド部１４ａと右ハンド部１４ｂの位置を補正して、両ワークを嵌合する（図２１（Ｂ））。
【０１３９】
こうして、第３実施形態においても、正確に嵌合作業を行うことができる。
【０１４０】
以上の制御が、本発明の第３実施形態にかかるワーク嵌合制御である。このように、第３実施形態にかかるワーク嵌合制御は、持ち替えなしで嵌合可能な１組のワークが、把持位置の高さについて特定不可能な状態で作業台上（基準面）に置かれている場合に適している。
【０１４１】
＜第４実施形態＞
次に、図２２〜図２７を用いて、本発明の第４実施形態について説明する。第４実施形態にかかるロボット１０は、第１〜第３実施形態にかかるロボット１０と基本的に同様の構成を備えるため、第１〜第３実施形態と相違する点を中心に以下説明する。
【０１４２】
第４実施形態は、ワークＷを持ち替えること（つまり、一方のロボットアームで把持したワークＷを他方のロボットアームに受け渡すこと）により嵌合可能となる１組のワークが、把持位置の高さについて特定できない状態で作業台上（基準面）に置かれている場合に採用される。例えば、一方の把持対象のワーク（凸）Ｗが、作業台上に置かれた他の物体（例えば、他のワークＷ）上に積まれて置かれ、他方の把持対象のワーク（凸）Ｗも、作業台上に置かれた他の物体（例えば、他のワークＷ）上に積まれて置かれているような場合である。もちろん、一方の把持対象のワーク（凹）Ｗが、作業台上に置かれた他の物体上に積まれて置かれ、他方の把持対象のワーク（凹）Ｗも、作業台上に置かれた他の物体上に積まれて置かれているような場合でもよい。
【０１４３】
そして、第４実施形態では、第２実施形態にかかるワーク嵌合制御と同様に、一方の把持対象のワーク（凸）Ｗについては、図１０で説明した原理に従って把持位置のずれ量ｄｘ２を推定（算出）し、他方の把持対象のワーク（凸）Ｗについては、図４で説明した原理に従って把持位置のずれ量ｄｘ１を推定（算出）する。
【０１４４】
そのため、第４実施形態にかかるワーク嵌合制御は、第２実施形態にかかるワーク嵌合制御とほぼ同様の流れとなる。
【０１４５】
＜第４実施形態にかかるワーク嵌合制御＞
図２２、図２３は、第４実施形態のロボット１０で実行される、２つのワーク（凸）Ｗを嵌め合う動作にかかるワーク嵌合制御の一例を説明するためのフロー図である。
【０１４６】
また、図２４〜図２７は、本フローの制御段階ごとに、左右のハンドの指（第１の指１５（ａ、ｂ）、第２の指１６（ａ、ｂ））と、ワークＷの位置、姿勢を示す図である。
【０１４７】
上でも触れたが、第４実施形態かかるワーク嵌合制御は、図２４（Ａ）にも示すように、作業台（基準面）上に置かれたワークＷ１１やワークＷ１２の上に積み重ねられたワーク（凸）Ｗ９、ワーク（凸）Ｗ１０といったペアがともに凸部を下に向けて存在する場合に実行されるとよい。もちろん、これとは逆に、作業台（基準面）の上にワーク（凹）Ｗとワーク（凹）Ｗのペアがともに凹部を下に向けて存在する場合に実行されてもよい。
【０１４８】
図２２に示す本フローを開始すると、制御部１００は、第２実施形態のステップＳ２０１〜Ｓ２０３、Ｓ２２０と同様の制御を実行する（ステップＳ４０１〜Ｓ４０３、Ｓ４２１）。
【０１４９】
また、第４実施形態にかかるワーク嵌合制御では、第２実施形態のステップＳ２０４〜Ｓ２１０と同様の制御が実行されて（ステップＳ４０４〜Ｓ４１０）、左ハンド部１４ａの各指（第１の指１５ａと第２の指１６ａ）による実際の把持位置について、基準位置（ここでは、ワーク（凸）Ｗ９の下面を構成する長方形の長辺Ｌの中点）からのずれ量ｄｘ２が算出される（図２４（Ａ）〜（Ｃ））。
【０１５０】
次に、アーム制御部１０６とハンド制御部１０７は、左ハンド１４ａと右ハンド１４ｂで把持しているワーク（凸）Ｗ９について、左ハンド１４ａによる把持を解放する（ステップＳ４１１）。図２５（Ａ）には、ステップＳ４１１で左ハンド１４ａがワーク（凸）Ｗ９を解放した状態が示されている。
【０１５１】
こうして、ワーク（凸）Ｗ９は、左ハンド１４ａから右ハンド１４ｂへ受け渡される。この点は、第２実施形態と同様であり、受け渡しの動作のついでに、把持位置のずれ量ｄｘ２を算出できる。
【０１５２】
上記のステップＳ４１１が終了すると、アーム制御部１０６とハンド制御部１０７は、ワーク（凸）Ｗ９の嵌合相手となるワーク（凸）Ｗ１０について左ハンド部１４ａで把持し（ステップＳ４１２）、把持したワーク（凸）Ｗ１０を作業台（基準面）上に置き、解放する（ステップＳ４１３）。
【０１５３】
これは、把持位置の高さ（基準面からの距離）が不明なワーク（凸）Ｗ１０を、基準面に置いて、把持位置の高さを明らかにして把持し直すことを目的としている（図２５（Ｂ）、（Ｃ））。
【０１５４】
把持位置の高さが明らかになれば、第１実施形態のステップＳ１１１〜Ｓ１１６と同様の制御が実行でき（ステップＳ４１４〜Ｓ４１９）、左ハンド部１４ａの各指（第１の指１５ａと第２の指１６ａ）による実際の把持位置について、基準位置（ここでは、ワーク（凸）Ｗ１０の下面を構成する長方形の長辺Ｌの中点）からのずれ量ｄｘ１が算出される（図２６（Ａ）〜（Ｃ）、図２７（Ａ））。
【０１５５】
ステップＳ４１９の制御が終わると、アーム制御部１０６とハンド制御部１０７は、左ハンド部１４ａで把持しているワーク（凸）Ｗ１０と、右ハンド部１４ｂで把持しているワーク（凸）Ｗ９と、を嵌合する（ステップＳ４２０）。ただし、ステップＳ４２０では、アーム制御部１０６とハンド制御部１０７は、ステップＳ４１８で算出されたワーク（凸）Ｗ１０についての把持位置のずれ量ｄｘ２と、ステップＳ４１０で算出されたワーク（凸）Ｗ９についての把持位置のずれ量ｄｘ２と、に基づき、ワーク（凸）Ｗ１０の凸部とワーク（凸）Ｗ９の凹部が一直線上になるように左ハンド部１４ａと右ハンド部１４ｂの位置を補正して、両ワークを嵌合する（図２７（Ｂ））。
【０１５６】
こうして、第４実施形態においても、正確に嵌合作業を行うことができる。
【０１５７】
以上の制御が、本発明の第４実施形態にかかるワーク嵌合制御である。このように、第４実施形態にかかるワーク嵌合制御は、ワークＷを持ち替えることにより嵌合可能となる１組のワークが、把持位置の高さについて特定不可能な状態で作業台上（基準面）に置かれている場合に適している。
【０１５８】
なお、上記した各フローの各処理単位は、ロボット１０を理解容易にするために、主な処理内容に応じて分割したものである。処理ステップの分類の仕方やその名称によって、本願発明が制限されることはない。ロボット１０が行う処理は、さらに多くの処理ステップに分割することもできる。また、１つの処理ステップが、さらに多くの処理を実行してもよい。
【０１５９】
また、上記の実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。
【０１６０】
例えば、上記各実施形態では説明していないが、下面に凹部を有するワーク（凹）Ｗを把持する場合と、下面に凸部を有するワーク（凸）Ｗを把持する場合と、に応じて、ハンドによる把持位置を変更する。例えば、ワーク（凹）Ｗを把持する場合には、ハンドによる把持位置を基準面と同じ高さ（位置）とし、ワーク（凸）Ｗを把持する場合には、ハンドによる把持位置を、基準面より所定長（凸部の長さ）だけ高くする。
【０１６１】
また、上記各実施形態における右ハンド部１４ａと左ハンド部１４ｂを入れ替えてもよい。
【０１６２】
また、上記第１実施形態と上記第３実施形態については、把持位置のずれ量ｄｘを他の方法に代えて推定（算出）するようにしてもよい。
【０１６３】
例えば、図２８は、上記第１実施形態と上記第３実施形態の変形例について説明する図である。
【０１６４】
図示するように、変形例では、左ハンド部１４ａに備わる各指（１５ａ、１６ａ）で把持されているワークＷを、右ハンド部１４ｂに備わる各指（１５ｂ、１６ｂ）で把持する動作が実行される。
【０１６５】
このとき、右ハンド部１４ｂに備わる各指（１５ｂ、１６ｂ）は、左ハンド部１４ａの各指（１５ａ、１６ａ）で把持されている位置（把持位置）を中心線（図示する点線）として、ワークＷを把持しようとする。
【０１６６】
仮に、左ハンド部１４ａの各指（第１の指１５ａと第２の指１６ａ）による実際の把持位置が、基準位置（図示する例では、「ワークＷの上面を構成する長辺の中点位置」）に一致しているのであれば、右ハンド部１４ｂによる把持動作において各指（第１の指１５ｂと第２の指１６ｂ）は、ほぼ同時にワークＷに到達する。
【０１６７】
しかし、図示するように、左ハンド部１４ａの各指（第１の指１５ａと第２の指１６ａ）による実際の把持位置が、基準位置からずれている場合には（ずれ量ｄｘ）、右ハンド部１４ｂのいずれかの指（第１の指１５ｂ、又は第２の指１６ｂ）が先にワークＷに到達する。
【０１６８】
このとき、ワークＷに到達した指（第１の指１５ｂ、又は第２の指１６ｂ）には、把持方向の反対向きの反力Ｆｘが加えられる。
【０１６９】
そのため、変形例の位置ずれ推定部１０８は、ｄｘ＝β×Ｆｘの関係式に「β」、「Ｆｘ」の値を代入して、ずれ量「ｄｘ」を算出する。ここで、「Ｆｘ」は、力覚センサー（左力覚センサー１７ａと右力覚センサー１７ｂの少なくともいずれか）で検出される値である。また、「β」は、上記の反力Ｆｘとずれ量ｄｘの関係を調整するための定数であり、予め記憶部１０２に格納されたデータから得られる値である。
【０１７０】
従って、図示する変形例では、位置ずれ推定部１０８は、右ハンド部１４ｂが左ハンド部１４ａによる把持方向と直交する方向に把持する動作において、左ハンド部１４ａと右ハンド部１４ｂのうちの少なくとも一方に発生した左ハンド部１４ａによる把持方向と直交する方向の力Ｆｘに基づき、ワークＷについてのずれ量ｄｘを算出する。
【０１７１】
以上のような変形例によれば、上記第１実施形態と上記第３実施形態よりも簡易な方法によって、把持位置のずれ量ｄｘを算出することができる。
【符号の説明】
【０１７２】
１０・・・ロボット、１１ａ・・・左アーム部、１１ｂ・・・右アーム部、１２ａ・・・リンク（左）、１２ｂ・・・リンク（右）、１３ａ・・・ジョイント（左）、１３ｂ・・・ジョイント（右）、１４ａ・・・左ハンド部、１４ｂ・・・右ハンド部、１５ａ・・・第１の指（左）、１５ｂ・・・第１の指（右）、１６ａ・・・第２の指（左）、１６ｂ・・・第２の指（右）、１７ａ・・・力覚センサー（左）、１７ｂ・・・力覚センサー（右）、１００・・・制御部、１０１・・・中央制御部、１０２・・・記憶部、１０３・・・インピーダンス制御部、１０４・・・接触判定部、１０５・・・エンコーダー読み取り部、１０６・・・アーム制御部、１０７・・・ハンド制御部、１０８・・・位置ずれ推定部、１０９・・・力覚センサー制御部、１１０・・・撮像部、Ｗ・・・ワーク。
【図１】
2013129005.tif 000003
【図２】
2013129005.tif 000004
【図３】
2013129005.tif 000005
【図４】
2013129005.tif 000006
【図５】
2013129005.tif 000007
【図６】
2013129005.tif 000008
【図７】
2013129005.tif 000009
【図８】
2013129005.tif 000010
【図９】
2013129005.tif 000011
【図１０】
2013129005.tif 000012
【図１１】
2013129005.tif 000013
【図１２】
2013129005.tif 000014
【図１３】
2013129005.tif 000015
【図１４】
2013129005.tif 000016
【図１５】
2013129005.tif 000017
【図１６】
2013129005.tif 000018
【図１７】
2013129005.tif 000019
【図１８】
2013129005.tif 000020
【図１９】
2013129005.tif 000021
【図２０】
2013129005.tif 000022
【図２１】
2013129005.tif 000023
【図２２】
2013129005.tif 000024
【図２３】
2013129005.tif 000025
【図２４】
2013129005.tif 000026
【図２５】
2013129005.tif 000027
【図２６】
2013129005.tif 000028
【図２７】
2013129005.tif 000029
【図２８】
2013129005.tif 000030