(57)【要約】【課題】従来とは異なる方式で部品の位置を推定できる組立装置、位置推定装置、及び位置推定方法を提供することを課題とする。【解決手段】本実施例の組立装置は、第１部品を開放可能に保持する保持部と、所定の位置に配置された第２部品の穴部に、前記保持部に保持された前記第１部品を配置できる位置まで前記保持部を移動させることができる駆動部と、前記第２部品に向けて送風可能であり前記駆動部に設けられた送風部と、前記第２部品で反射して吹きつけられた風の強さを検出可能であり前記保持部に設けられた検出部と、前記検出部の検出結果に基づいて前記第２部品の前記穴部に対する前記第１部品の位置を推定可能な制御部と、を備えている。【選択図】図２
2013193148.tif 000002
【特許請求の範囲】
【請求項１】
第１部品を開放可能に保持する保持部と、
所定の位置に配置された第２部品の穴部に、前記保持部に保持された前記第１部品を配置できる位置まで前記保持部を移動させることができる駆動部と、
前記第２部品に向けて送風可能であり前記駆動部に設けられた送風部と、
前記第２部品で反射して吹きつけられた風の強さを検出可能であり前記保持部に設けられた検出部と、
前記検出部の検出結果に基づいて前記第２部品の前記穴部に対する前記第１部品の位置を推定可能な制御部と、を備えた組立装置。
【請求項２】
前記検出部は、前記保持部に保持された前記第１部品を挟む位置に設けられた第１及び第２検出部を含む、請求項１の組立装置。
【請求項３】
前記送風部から前記第１検出部までの距離と、前記送風部から前記第２検出部までの距離は等しい、請求項２の組立装置。
【請求項４】
前記検出部は、前記保持部に保持された前記第１部品を挟む位置に設けられた前記第３及び第４検出部を含み、
前記第１検出部から前記第２検出部への方向と前記第３検出部から前記第４検出部への方向とは直交する、請求項２又は３の組立装置。
【請求項５】
前記検出部は、前記保持部に保持された前記第１部品を挟む位置に設けられた前記第５及び第６検出部を含み、
前記第５検出部から前記第６検出部への方向と前記第１検出部から前記第２検出部への方向とは平行である、請求項４の組立装置。
【請求項６】
前記検出部は、前記保持部に部分的に固定された弾性変形可能な弾性部、前記弾性部に設けられ前記弾性部のひずみを検出可能なひずみゲージ、を含む、請求項１乃至５の何れかの組立装置。
【請求項７】
前記制御部は、前記検出結果に基づいて前記第１部品と前記第２部品の前記穴部が対向するように前記駆動部を制御する、請求項１の組立装置。
【請求項８】
前記制御部は、前記第１及び第２検出部の検出結果の差が小さいほど前記第１部品は前記穴部に近いと推定する、請求項１乃至７の何れかの組立装置。
【請求項９】
前記保持部に保持された前記第1部品は、前記送風部からの風が通過する通過孔が形成されている。請求項１乃至８の何れかの組立装置。
【請求項１０】
移動可能な可動部と、
所定位置に配置された部品の穴部に向けて送風可能であり前記可動部に設けられた送風部と、
前記部品で反射して吹きつけられた風の強さを検出可能であり前記可動部に設けられた検出部と、
前記検出部の検出結果に応じて前記部品に対する前記可動部の位置を推定する制御部と、を備えた位置推定装置。
【請求項１１】
移動可能な可動部から所定位置に配置された部品の穴部に向けて送風し、
前記部品から反射して前記可動部に吹きつけられる風の力を検出し、
前記検出結果に応じて前記部品に対する前記可動部の位置を推定する、位置推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組立装置、位置推定装置、及び位置推定方法に関する。
【背景技術】
【０００２】
例えば、所定の機器を製造する場合には、第１部品を第２部品上に配置する装置が用いられる場合がある。例えばこのような装置は、カメラの撮影画像に基づいて、第２部品の位置を把握した上で第１部品を第２部品にまで移動させて配置する場合がある。特許文献１、２には、このような装置に関連する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１１７５５４号公報
【特許文献２】特公平０６−０１６９９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなカメラは、第１部品とは異なる位置に設けられている。従って、第１部品から第２部品までの距離とカメラから第２部品までの距離は異なり、第１部品から第２部品への方向とカメラから第２部品への方向も異なっている。このため、撮影された画像の処理により得られたカメラから第２部品への距離、方向等を、予め設定された補正量に基づいて補正することにより、第１部品から第２部品までの距離や方向が推定される。この推定結果に基づいて第１部品を第２部品にまで移動させる。しかしながら、このような補正量は一律に定められているため、例えばカメラの設置位置のバラつきや、第１部品の位置又は姿勢のばらつきによっては、上記の推定結果にもバラつきが生じる場合がある。このような場合には、第１部品を第２部品の所望の位置に配置できないおそれがある。
【０００５】
また、例えば常時カメラにより両部品を撮影しながら、第２部品に形成された穴部に第１部品を挿入する場合がある。第１部品が穴部内に挿入されていくにつれて、カメラにより穴部の内側面を撮影することが困難になる。このため第１部品を穴部に挿入している途中で第１部品が穴部の内側面に接触するおそれもある。
【０００６】
以上のように、カメラによって撮影された画像に基づいて、第１部品の位置を把握することが適切ではない場合がある。
【０００７】
本発明は、従来とは異なる方式で部品の位置を推定できる組立装置、位置推定装置、及び位置推定方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本明細書に開示の組立装置は、第１部品を開放可能に保持する保持部と、所定の位置に配置された第２部品の穴部に、前記保持部に保持された前記第１部品を配置できる位置まで前記保持部を移動させることができる駆動部と、前記第２部品に向けて送風可能であり前記駆動部に設けられた送風部と、前記第２部品で反射して吹きつけられた風の強さを検出可能であり前記保持部に設けられた検出部と、前記検出部の検出結果に基づいて前記第２部品の前記穴部に対する前記第１部品の位置を推定可能な制御部と、を備えている。
【０００９】
本明細書に開示の位置推定装置は、移動可能な可動部と、所定位置に配置された部品の穴部に向けて送風可能であり前記可動部に設けられた送風部と、前記部品で反射して吹きつけられた風の強さを検出可能であり前記可動部に設けられた検出部と、前記検出部の検出結果に応じて前記部品に対する前記可動部の位置を推定する制御部と、を備えている。
【００１０】
本明細書に開示の位置推定方法は、移動可能な可動部から所定位置に配置された部品の穴部に向けて送風し、前記部品から反射して前記可動部に吹きつけられる風の力を検出し、前記検出結果に応じて前記部品に対する前記可動部の位置を推定する。
【発明の効果】
【００１１】
従来とは異なる方式で部品の位置を推定できる組立装置、位置推定装置、及び位置推定方法を提供できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本実施例のロボットの例示図である。
【図２】図２は、ロボットの概略図である。
【図３】図３は、ハンドの説明図である。
【図４】図４は、ハンドの説明図である。
【図５】図５は、ハンドの説明図である。
【図６】図６は、ハンドの詳細な外観図である。
【図７】図７は、ハンドの詳細な外観図である。
【図８】図８Ａは、センサの拡大図であり、図８Ｂは、ノズルの拡大図である。
【図９】図９は、ノズルから部品の穴部に向けて空気が吹きつけられた場合の説明図である。
【図１０】図１０Ａ〜１０Ｄは、第１及び第２部品の相対位置と、センサの出力との関係の説明図である。
【図１１】図１１Ａは、２つの部品の外観図であり、図１１Ｂは、ハンドに保持された第１部品が第２部品の穴部からずれた状態を示した図である。
【図１２】図１２Ａ〜１２Ｆは、各センサの出力値と、第２部品の穴部に対する第１部品の位置のずれ量との関係を示したグラフである。
【図１３】図１３は、制御部が実行する制御の一例を示したフローチャートである。
【図１４】図１４は、制御部が実行する制御の一例を示したフローチャートである。
【図１５】図１５は、制御部が実行する制御の一例を示したフローチャートである。
【図１６】図１６は、制御部が実行する制御の一例を示したフローチャートである。
【図１７】図１７Ａ〜１７Ｄは、制御部が実行する制御において使用されるマップの一例である。
【図１８】図１８Ａ、１８Ｂは、本実施例とは異なる構造を有したハンドの説明図である。
【図１９】図１９は、変形例であるセンサの説明図である。
【図２０】図２０は、第１変形例のハンドの説明図である。
【図２１】図２１Ａ、２１Ｂは、第１変形例のハンドの説明図である。
【図２２】図２２は、第２変形例のハンドの説明図である。
【図２３】図２３Ａ、２３Ｂは、第２変形例のハンドの説明図である。
【発明を実施するための形態】
【００１３】
図１は、本実施例のロボットＲの例示図である。ロボットＲは、組立装置の一例である。ロボットＲは、ロボットアーム（以下、アームと称する）ＲＲ、アームＲＲの先端に装着されたロボットハンド（以下、ハンドと称する）ＲＨを含む。アームＲＲは、所定の位置に配置された第２部品の穴部に、前記保持部に保持された前記第１部品を配置できる位置まで前記保持部を移動させることができる駆動部の一例である。また、アームＲＲは移動可能な可動部の一例である。ロボットＲは、詳しくは後述するが部品９０の穴部ＢＨに部品８０を挿入する。部品９０は、所定の台に配置されている。部品８０は第１部品の一例であり、部品９０は第２部品の一例である。
【００１４】
図２は、ロボットＲの概略図である。ロボットＲは、更に制御部Ｃ、モータ群ＭＧ、エアポンプＡＰ、風力検出アンプＷＡ、センサ群ＳＧを含む。モータ群ＭＧのそれぞれのモータは、アームＲＲやハンドＲＨに設けられている。エアポンプＡＰは、詳しくは後述するが、ハンドＲＨに設けられたノズル５０から空気を排出するために用いられる。風力検出アンプＷＡは、詳しくは後述するが、ハンドＲＨに設けられたセンサ群ＳＧからの各出力値を増幅する。制御部Ｃは、センサ群ＳＧからの各出力値に基づいて、アームＲＲ、ハンドＲＨを制御する。制御部Ｃは、ＣＰＵ、ＲＯＭ、ＲＡＭを含む。ＲＯＭには、アームＲＲ、ハンドＲＨの駆動を制御するためのプログラムが記憶されている。ＣＰＵは、操作指令やセンサからの入力に応じてプログラムを読み出して所定の処理を実行する。
【００１５】
図３、４、５は、ハンドＲＨの説明図である。図３は、ハンドＲＨの正面を示し、図４は、ハンドＲＨの側面を示し、図５は、ハンドＲＨに保持された状態での部品８０の上面を示している。図３〜５では、部品８０を保持した状態のハンドＲＨを示している。ハンドＲＨは、基部１０、爪部２２ａ０、２２ａ１、２２ｂ０、２２ｂ１、２２ｃ、２２ｄ、ノズル５０を含む。
【００１６】
爪部２２ａ０、２２ｂ０は、互いに接近、離間するように移動可能である。同様に、爪部２２ａ１、２２ｂ１は、互いに接近、離間するように移動可能である。爪部２２ａ０、２２ａ１は、一体的に設けられ、同様に爪部２２ｂ０、２２ｂ１も一体的に設けられている。基部１０内には、これら爪部２２ａ０、２２ａ１、２２ｂ０、２２ｂ１を駆動するための機構、モータ等が内蔵されている。爪部２２ｃ、２２ｄは、基部１０の外側面に固定されており、基部１０に対して移動不能である。
【００１７】
部品８０は、略直方状である。部品８０は、互いに対向する上面８１ａ、下面８１ｂ、互いに対向する側面８２ａ、８２ｂ、互いに対向する側面８２ｃ、８２ｄ、を含む。側面８２ａ、８２ｂのそれぞれは、側面８２ｃ、８２ｄのそれぞれよりも面積が大きい。また、側面８２ｃ、８２ｄの各面積は、他の面の面積よりも小さい。従って、図５に示すように、上面８１ａから見た場合に部品８０は略矩形状である。部品８０の中心には、上面８１ａ側から下面８１ｂ側に貫通した通過孔ＴＨが設けられている。部品８０は、どのような材料により形成されていてもよく、例えば、合成樹脂材料、金属材料、弾性材料、又は発泡材料により形成されていてもよい。
【００１８】
爪部２２ａ０、２２ａ１は、部品８０の側面８２ａを押え、爪部２２ｂ０、２２ｂ１は、部品８０の側面８２ｂを押える。このように、爪部２２ａ０、２２ａ１、２２ｂ０、２２ｂ１は、部品８０を挟持する。また、爪部２２ｃ、２２ｄは、それぞれ、部品８０の側面８２ｃ、８２ｄと対向しているが、部品８０を保持してはいない。爪部２２ｃ、２２ｄ間の距離は、部品８０の側面８２ｃ、８２ｄ間の距離よりも若干大きめにできている。部品８０は、これら爪部２２ａ０、２２ｂ０等に挟まれてハンドＲＨに保持されている。爪部２２ａ０、２２ｂ０等が互いに離れるように駆動することにより、部品８０は開放される。従って、２２ａ０等は、部品８０を開放可能に保持している保持部の一例である。
【００１９】
爪部２２ａ０、２２ａ１、２２ｂ０、２２ｂ１、２２ｃ、２２ｄには、それぞれセンサＳＡ０、ＳＡ１、ＳＢ０、ＳＢ１、ＳＣ、ＳＤが設けられている。これらセンサＳＡ０等はセンサ群ＳＧに含まれる。センサＳＡ０、ＳＢ０は、前記保持部に保持された前記第１部品を挟む位置に設けられた第１及び第２検出部の一例である。センサＳＣ、ＳＤは、前記保持部に保持された前記第１部品を挟む位置に設けられた前記第３及び第４検出部の一例である。センサＳＡ０からセンサＳＢ０への方向とセンサＳＣからセンサＳＤへの方向とは直交している。センサＳＡ１、ＳＢ１は、前記保持部に保持された前記第１部品を挟む位置に設けられた前記第５及び第６検出部の一例である。センサＳＡ１からセンサＳＢ１への方向とセンサＳＡ０からセンサＳＢ０への方向とは平行である。
【００２０】
また、センサＳＡ０、ＳＡ１は、部品８０の側面８２ａに沿うように設けられ、センサＳＢ０、ＳＢ１は、部品８０の側面８２ｂに沿うように設けられている。一方、センサＳＣ，ＳＤは、それぞれ側面８２ｃ、８２ｄに沿うように設けられている。従って、図５に示すように、部品８０をノズル５０の軸心から見た場合、長辺に相当する側面８２ａ側、側面８２ｂ側にそれぞれ２つのセンサが設けられている。
【００２１】
図６、７は、ハンドＲＨの詳細な外観図である。尚、図６、７には、爪部２２ｃ、２２ｄを取外した状態のハンドＲＨを示している。アームＲＲの先端に基部１０の側面が固定される。
【００２２】
図８Ａは、センサＳＡ０の拡大図である。センサＳＡ０は、弾性片Ｓ１０、弾性片Ｓ１０上に配置されたひずみゲージｓｇ、を含む。弾性片Ｓ１０は、薄板状である。弾性片Ｓ１０は、例えば金属材料により形成されているがこれに限定されない。例えば、弾性片Ｓ１０は、合成樹脂製材料や、弾性材料であってもよい。弾性片Ｓ１０は、爪部２２ａ０の側面に固定された固定部Ｓ１２、固定部Ｓ１２から連続して折り曲げられえた非固定部Ｓ１４、を含む。非固定部Ｓ１４は、爪部２２ａ０には固定されていない。即ち、非固定部Ｓ１４の先端は自由端である。ひずみゲージｓｇは、この非固定部Ｓ１４に固定されている。弾性片Ｓ１０は、前記保持部に部分的に固定された弾性変形可能な弾性部の一例である。
【００２３】
弾性片Ｓ１０が風に晒されと、非固定部Ｓ１４が撓みひずみゲージｓｇも撓む。ひずみゲージｓｇの出力値は、撓み量に応じて変化する。ひずみゲージｓｇの撓み量が大きいほどひずみゲージｓｇの出力値も大きくなる。従って、センサＳＡ０は、センサＳＡ０に吹きつけられる風力を検出できる。具体的には、風力検出アンプＷＡによって増大されたひずみゲージｓｇの出力値に基づいて、制御部ＣはセンサＳＡ０に吹きつけられる風力を把握できる。尚、その他のセンサＳＡ１等も、センサＳＡ０と同様の構造である。従って、弾性片Ｓ１０は、風が吹きつけられている場合に撓み、風が吹きつけられていない場合に初期の状態に復帰する程度の弾性を有している。よって、弾性片Ｓ１０は、このような弾性を有しているのであれば、どのような材料により形成されていてもよい。尚、便宜上、ひずみゲージｓｇの出力値をセンサの出力値として説明する。
【００２４】
図８Ｂは、ノズル５０の拡大図である。ノズル５０内には、空気が通過する通路が設けられている。ノズル５０は、基部５１、軸部５３、フランジ部５５、突部５７を含む。基部５１は、基部１０に固定されている。軸部５３は、基部５１よりも細い。フランジ部５５は、軸部５３の先端部に形成され、略平板状である。突部５７は、フランジ部５５の下端面から突出し、空気を排出するための排出孔が設けられている。基部１０には、ノズル５０と連通した孔が設けられている。ホースを介して、エアポンプＡＰと基部１０の孔とが接続されている。エアポンプＡＰを駆動すると、ホースを介してノズル５０内に空気が送られて突部５７の排出孔から空気が排出される。
【００２５】
図３、４に示すように、ノズル５０の突部５７は、ハンドＲＨに保持された部品８０の通過孔ＴＨ内に挿入されている。ノズル５０は、爪部２２ａ０、２２ｂ０等に囲まれている。即ち、ノズル５０は、センサＳＡ０等に囲まれている。尚、図５に示すように、センサＳＡ０、ＳＢ０、ＳＡ１、ＳＢ１のそれぞれからノズル５０までの距離は等しい。即ち、図５に示すようにノズル５０の軸心の方向からセンサＳＡ０等を見た場合、センサＳＡ０、ＳＢ０、ＳＡ１、ＳＢ１は、ノズル５０の軸心に対して対称の位置に設けられている。また、センサＳＣ、ＳＤのそれぞれからノズル５０までの距離も等しい。
【００２６】
図９は、ノズル５０から部品９０の穴部ＢＨに向けて空気が吹きつけられた場合の説明図である。ノズル５０から排出された空気は、部品８０の通過孔ＴＨを通過して、部品９０の穴部ＢＨに吹きつけられる。部品９０の穴部ＢＨ内では、空気が底面９１に当接して、空気の一部は内側面９２ａ等の側面側に流れる。この側面に沿って空気は上方側に流れて、その一部はセンサＳＡ０等に吹きつけられる。従って、センサＳＡ０等は、部品９０に反射して吹きつけられる風の強さを検出することができる。ノズル５０は、前記第２部品に向けて送風可能であり前記駆動部に設けられた送風部の一例である。センサＳＡ０等は、前記第２部品で反射して吹きつけられた風の強さを検出可能であり前記保持部に設けられた検出部の一例である。
【００２７】
図１０Ａ〜１０Ｄは、部品８０、９０の相対位置と、センサＳＢ０の出力との関係の説明図である。ハンドＲＨに保持された部品８０が、部品９０の穴部ＢＨの上部を通過する場合を例に説明する。尚、図１０Ａ〜１０Ｃにおいては、理解を容易にするためにハンドＲＨの一部を省略してある。図１０Ｄは、センサＳＢ０のひずみゲージｓｇの出力の変化と部品８０の位置とを示したグラフである。図１０Ｄのグラフにおいて、部品８０の略中心に形成された通過孔ＴＨの位置を部品８０の位置として示している。
【００２８】
図１０Ａに示すように、部品８０の下面８１ｂが部品９０の穴部ＢＨから退避している場合、通過孔ＴＨを通過した空気は、下面８１ｂと下面８１ｂに対向する部品９０の上面との間を通過して、部品９０の上面上を略水平方向に流れる。水平方向に流れる空気は、センサＳＢ０には吹きつけられないものと思われる。図１０Ｂに示すように、部品８０の通過孔ＴＨが部品９０の穴部ＢＨと対向すると、通過孔ＴＨを通過した空気は、部品９０の底面９１にぶつかる。そして、空気の一部は内側面９２ａ側に流れ、その他の空気の一部は内側面９２ｂ側やその他の側面側に流れる。内側面９２ｂ側に流れた空気は、内側面９２ｂに沿うようにして上方側に流れてセンサＳＢ０に吹きつけられる。このため、センサＳＢ０のひずみゲージｓｇの出力値が変化する。
【００２９】
図１０Ｃに示すように、上面８１ａの一部が穴部ＢＨから離れると、内側面９２ｂに沿って上方に流れた空気の一部は、部品８０の側面８２ｂに沿って上方に流れてセンサＳＢ０に吹きつけられる。しかしながらその他の空気の一部は、下面８１ｂの一部と部品９０の表面との間を通過して、部品９０の上面上を略水平方向に流れる。これにより、図１０Ｃの状態でのセンサＳＢ０の出力値は、図１０Ｂの状態でのセンサＳＢ０の出力値よりも小さくなる。部品８０が部品９０の穴部ＢＨから離れると、通過孔ＴＨから排出された空気は部品９０の上面にぶつかり上面上を略水平方向に流れる。このため、センサＳＢ０の出力値は再び初期値に戻る。
【００３０】
図１０Ｄに示すように、部品８０の通過孔ＴＨが部品９０の穴部ＢＨに対向している範囲の途中で、センサＳＢ０の出力値はピーク値ＰＬとなる。センサＳＢ０の出力値は、ピーク値ＰＬをセンサＳＢ０が出力した地点から部品８０が離れるほど、センサＳＢ０の出力値は低下する。最終的にはセンサＳＢ０の出力値は、最小値ＰＺを出力する。このように、ピーク値ＰＬと最小値ＰＺとの間の領域ＺでのセンサＳＢ０の出力値の大きさと、部品９０と部品８０との相対位置とは、一定の相関関係を有している。この相関関係に基づいて、制御部Ｃは部品８０、９０の相対位置を推定できる。即ち、制御部Ｃは、部品９０の穴部ＢＨに対する部品８０の位置を推定できる。
【００３１】
次に、本実施例で使用する部品８０、９０の寸法について説明する。図１１Ａは、部品８０、９０の外観図である。例えば、部品８０のＸ方向の寸法、Ｙ軸方向の寸法、Ｚ軸方向の寸法を、４ｍｍ、２５ｍｍ、５ｍｍとする。部品９０の矩形状である穴部ＢＨのＸ軸方向の寸法、Ｙ軸方向の寸法、Ｚ軸方向の寸法を、４．２ｍｍ、２５．３ｍｍ、８ｍｍとする。尚、部品８０、９０の穴部ＢＨの大きさはこれに限定されない。尚、図１１Ａでは、穴部ＢＨの長手方向をＹ軸方向とし、穴部ＢＨの短手方向をＸ軸方向とし、部品９０の穴部ＢＨが形成された面の法線方向をＺ軸方向と規定している。
【００３２】
図１１Ｂは、ハンドＲＨに保持された部品８０が部品９０の穴部ＢＨからずれた状態を示した図である。尚、図１１Ｂにおいては、理解を容易にするために爪部２２ａ０等は省略している。部品８０の側面８２ｄと穴部ＢＨの内側面９２ｄとのずれ量が、側面８２ｃと内側面９２ｃとのずれ量よりも大きい場合を例に説明する。図１１Ｂでは、部品８０は部品９０の穴部ＢＨに対してＸ軸方向、Ｙ軸方向、θ軸方向にずれている。従って、このままの状態で部品８０を部品９０に挿入することは困難である。
【００３３】
尚、部品８０が穴部ＢＨに対してずれていない場合には、センサＳＡ０、ＳＢ０は、Ｘ軸方向に並び、センサＳＡ１、ＳＢ１もＸ軸方向に並ぶ。また、センサＳＡ０、ＳＡ１はＹ軸方向に並び、センサＳＢ０、ＳＢ１はＹ軸方向に並び、センサＳＣ、ＳＤはＹ軸方向に並ぶ。また、図１１Ｂにおいては、穴部ＢＨは、底面９１、長手方向に沿って互いに対向した内側面９２ａ、９２ｂ、短手方向に沿って互いに対向した内側面９２ｃ、９２ｄ、を含む。尚、θ軸はＺ軸と平行である。
【００３４】
図１２Ａ〜１２Ｆは、各センサの出力値と、部品９０の穴部ＢＨに対する部品８０の位置のずれ量との関係を示したグラフである。図１２Ａ〜１２Ｆは、それぞれ、センサＳＡ０、ＳＡ１、ＳＢ０、ＳＢ１、ＳＣ、ＳＤに関する図である。図１１Ｂに示したように、センサＳＡ０は部品９０の穴部ＢＨの内側面９２ａに交差しているのに対して、センサＳＡ１は、内側面９２ａよりも内側に位置している。このため、センサＳＡ１には、内側面９２ａに沿って上方に流れた空気の多くが吹きつけられる。また、センサＳＡ０には、内側面９２ａに沿って上方に流れた空気の一部は部品８０の下面８１ｂに当接してセンサＳＡ０から離れる方向に流れて、残りの空気が吹きつけられる。このため、センサＳＡ１に吹きつけられる風力は、センサＳＡ０に吹きつけられる風力よりも大きい。従って、図１２Ａ、１２Ｂに示すように、センサＳＡ０よりもセンサＳＡ１の方が出力値は大きくなる。
【００３５】
図１１Ｂに示すように、センサＳＢ０は穴部ＢＨの内側面９２ｂに交差しているのに対し、センサＳＢ１は、穴部ＢＨの内側面９２ｂの外側に位置している。このため、センサＳＢ１に吹きつけられる風力は弱い。従って、図１２Ｃ、１２Ｄに示すように、センサＳＢ０よりもセンサＳＢ１の方が出力値は小さくなる。同様に、センサＳＣは穴部ＢＨの内側面９２ｃの外側に位置しているのに対し、センサＳＤは内側面９２ｄと交差している。このため、センサＳＣに吹きつけられる風力は、センサＳＤに吹きつけられる風力よりも弱い。従って、図１２Ｅ，１２Ｆに示すように、センサＳＤよりもセンサＳＣの方が出力値は小さくなる。
【００３６】
以上のように、制御部Ｃは、異なる位置に配置された複数のセンサの検出結果に基づいて、部品９０の穴部ＢＨに対する部品８０の各部の位置を推定できる。更に、制御部Ｃは、推定された部品８０の位置の情報に基づいて、アームＲＲを駆動して部品８０と穴部ＢＨとのずれを修正する。制御部Ｃは、前記検出部の検出結果に基づいて前記第２部品の前記穴部に対する前記第１部品の位置を推定可能な制御部の一例である。
【００３７】
図１３〜１６は、制御部Ｃが実行する制御の一例を示したフローチャートである。図１７Ａ〜１７Ｄは、制御部Ｃが実行する制御において使用されるマップの一例である。図１３に示すように、制御部Ｃは、まず、予めオペレータの目視や、予め入力されたデータ等に基づいて、ハンドＲＨに保持された部品８０を部品９０の穴部ＢＨの上部のおよその位置まで移動させる（ステップＳ１）。その後、制御部ＣはセンサＳＡ０等の出力値をリセットする（ステップＳ２）。次に、制御部Ｃは、エアポンプＡＰを駆動して部品９０に空気を吹きつける（ステップＳ３）。次に、制御部Ｃは、θ軸方向のずれ、Ｘ軸方向のずれ、Ｙ軸方向のずれ、を修正し（ステップＳ４〜６）、修正後の座標位置を登録する（ステップＳ７）。尚、ステップＳ７後に、制御部Ｃは、爪部２２ａ０、２２ｂ０等を制御して部品８０を開放して部品９０の穴部ＢＨに挿入してもよい。
【００３８】
図１４は、制御部Ｃが実行するθ軸方向のずれを修正する制御の一例を示したフローチャートである。制御部Ｃは、全てのセンサから出力値を読み込み（ステップＳ４１）、出力値ＶＡ０、ＶＡ１の合計値が出力値ＶＢ０、ＶＢ１の合計値よりも大きいか否かを判定する（ステップＳ４２）。出力値ＶＡ０、ＶＡ１、ＶＢ０、ＶＢ１は、それぞれセンサＳＡ０、ＳＡ１、ＳＢ０、ＳＢ１の出力値を示している。
【００３９】
例えば、出力値ＶＡ０、ＶＡ１の合計値が出力値ＶＢ０、ＶＢ１の合計値より大きい場合は、センサＳＡ０、ＳＡ１は穴部ＢＨの中心に近く、センサＳＢ０、ＳＢ１は穴部ＢＨの中心から離れていると推定される。例えば図１１Ｂに示した場合では、上記のように推定される。従って、この場合は、穴部ＢＨに対して部品８０は＋Ｘ方向側にずれていることが推定される。また、出力値ＶＡ０、ＶＡ１の合計値が出力値ＶＢ０、ＶＢ１の合計値よりも小さい場合は、穴部ＢＨに対して部品８０が−Ｘ方向側にずれていることが推定される。このように、Ｘ軸方向に沿うように設けられたセンサＳＡ０、ＳＢ０、同様にＸ軸方向に沿うように設けられたセンサＳＡ１、ＳＢ１の出力値を利用することにより、制御部Ｃは穴部ＢＨに対して部品８０がＸ軸方向のどちら側にずれているかを推定できる。
【００４０】
制御部Ｃは、ステップＳ４２で肯定判定、否定判定の何れの場合も、比較結果をＲＡＭ等のメモリに記憶する（ステップＳ４３ａ、４３ｂ）。
【００４１】
制御部Ｃは、例えばステップＳ４２で肯定判定の場合には、出力値ＶＡ０が出力値ＶＡ１よりも大きいか否かを判定する（ステップＳ４４ａ）。これにより、例えば出力値ＶＡ０が出力値ＶＡ１よりも大きい場合には、センサＳＡ０が穴部ＢＨの中心に近く、センサＳＡ１が穴部ＢＨの中心から離れていること推定される。従って、この場合では、部品８０は部品９０に対して−θ方向に角度がずれていると推定される。この場合、制御部Ｃは、部品８０のずれを修正するための回転方向を＋θ方向に決定する（ステップＳ４５ａ）。
【００４２】
一方、ステップ４４ａで否定判定の場合、具体的には、出力値ＶＡ０が出力値ＶＡ１よりも小さい場合には、部品８０は部品９０に対して＋θ方向に角度がずれていることが推定される。例えば、図１１Ｂに示した場合では、ステップＳ４４ａでは否定判定がなされる。この場合、制御部Ｃは、部品８０のずれを修正するための回転方向を−θ方向に決定する（ステップＳ４５ｂ）。
【００４３】
同様に、出力値ＶＢ０が出力値ＶＢ１よりも大きいか否かを判定する（ステップＳ４４ｂ）。これにより、部品８０が穴部ＢＨに対して−θ方向にずれているのか、＋θ方向にずれているのが推定される。次に、制御部Ｃは、部品８０の位置を修正するための回転方向を決定する（ステップＳ４５ａ、４５ｂ）。
【００４４】
以上のように、センサＳＡ０、ＳＡ１の出力値ＶＡ０、ＶＡ１の比較により、制御部Ｃは部品８０が部品９０の穴部ＢＨに対してθ軸方向のどちらの方向にずれているのかを推定することができる。センサＳＡ０、ＳＡは、部品８０の長辺に相当する側面８２ａ側に設けられており、出力値ＶＡ０、ＶＡ１の大小関係により、穴部ＢＨの内側面９２ａに対する部品８０の側面８２ａの傾き方向を推定できるからである。同様に、センサＳＢ０、ＳＢ１の出力値ＶＢ０、ＶＢ１の比較によっても、制御部Ｃは部品８０が部品９０の穴部ＢＨに対してθ軸方向のどちらの方向にずれているのかを推定できる。
【００４５】
制御部Ｃは、修正に必要となる回転量を、予めメモリ等に記憶されたマップに基づいて決定する（ステップＳ４６）。例えば、出力値ＶＡ０、ＶＡ１の合計値が出力値ＶＢ０、ＶＢ１の合計値よりも大きい場合には、図１７Ａに示したマップに基づいて回転量が決定される。出力値ＶＡ０、ＶＡ１の合計値が出力値ＶＢ０、ＶＢ１よりも小さい場合には、図１７Ｂに示したマップに基づいて回転量が決定される。図１７Ａのマップは、出力値ＶＡ１、ＶＡ０の差と必要な回転量との関係を規定している。図１７Ｂのマップは、出力値ＶＢ１、ＶＢ０との差と必要な回転量との関係を規定している。図１７Ａ、１７Ｂに示すように、出力値ＶＡ０、ＶＡ１の差、出力値ＶＢ０、ＶＢ１の差が大きいほど、修正に必要となる回転量は大きくなるように設定されている。これらの差が大きいほど、穴部ＢＨの内側面９２ａに対する修正前の側面８２ａの傾きが大きいものと推定されるからである。
【００４６】
制御部Ｃは、決定された回転量に基づいてハンドＲＨを回転させる（ステップＳ４７）。具体的には、制御部Ｃは、モータ群ＭＧを制御してアームＲＲに対するハンドＲＨの向きを変更する。これにより、部品８０のθ軸方向のずれが修正される。
【００４７】
制御部Ｃは、出力値ＶＡ０、ＶＡ１が等しいか否か、又は出力値ＶＢ０、ＶＢ１が等しいか否かを判定する（ステップＳ４８）。部品８０のθ軸方向のずれが適切に修正された状態であれば、穴部ＢＨの内側面９２ａと部品８０の側面８２ａとが平行になるため、出力値ＶＡ０、ＶＡ１は等しくなるからである。この場合、出力値ＶＢ０、ＶＢ１も等しくなる。従って、出力値ＶＡ０、ＶＡ１が等しくなく、又は出力値ＶＢ０、ＶＢ１が等しくないのであれば、いまだに部品８０はθ軸方向にずれているものと推定される。
【００４８】
次に、ステップＳ４８で肯定判定の場合、制御部Ｃは修正後のハンドＲＨのθ軸の座標をメモリに記憶し（ステップＳ４９）、Ｘ軸方向のずれの修正、Ｙ軸方向のずれの修正を行う（ステップＳ５、Ｓ６）。
【００４９】
ステップＳ４８で否定判定の場合には、制御部Ｃは現状のハンドＲＨの位置が、ハンドＲＨの回転の許容範囲内に含まれているか否かを判定する（ステップＳ４９１）。例えば、実際には既に部品８０のθ軸のずれが修正されているがＸ軸又はＹ軸方向に大きくずれている場合、出力値ＶＡ０と出力値ＶＡ１とは等しくならならず出力値ＶＢ０と出力値ＶＢ１についても等しくならない場合がある。現状のハンドＲＨの位置が、許容範囲内の場合は、制御部Ｃは再度θ軸方向のずれの修正を行う（ステップＳ４）。現状のハンドＲＨの位置が許容範囲外の場合には、制御部ＣはＸ軸方向のずれの修正、Ｙ軸方向のずれの修正し（ステップＳ５、Ｓ６）、その後に再度θ軸方向のずれの修正を行う（ステップＳ４）
【００５０】
図１５は、制御部Ｃが実行するＸ軸方向のずれを修正する制御の一例を示したフローチャートである。制御部Ｃは、全てのセンサから出力値を読み込み（ステップＳ５１）、出力値ＶＡ０、ＶＡ１の合計値が出力値ＶＢ０、ＶＢ１の合計値よりも大きいか否かを判定する（ステップＳ５２）。肯定判定の場合には、制御部Ｃは、部品８０は穴部ＢＨに対して−Ｘ方向にずれていると推定し、否定判定の場合には、制御部Ｃは、部品８０は穴部ＢＨに対して＋Ｘ方向にずれていると推定する。例えば、図１１Ｂに示した場合では、肯定判定がなされる。
【００５１】
ステップＳ５２で肯定判定の場合には、制御部Ｃは部品８０の移動方向を−Ｘ方向に決定する（ステップＳ５３ａ）。ステップＳ５２で否定判定の場合には、制御部Ｃは部品８０の移動方向を＋Ｘ方向に決定する（ステップＳ５３ｂ）。
【００５２】
次に、制御部Ｃは、修正に必要となる移動量を、予めメモリ等に記憶されたマップに基づいて決定する（ステップＳ５４）。具体的には、制御部Ｃは図１７Ｃに示したマップに基づいてＸ軸方向の移動量を決定する。図１７Ｃのマップは、出力値ＶＡ０、ＶＡ１の合計値と出力値ＶＢ０、ＶＢ１の合計値との差と、Ｘ軸方向の移動量との関係を規定している。図１７Ｃに示すように、出力値ＶＡ０、ＶＡ１の合計値と出力値ＶＢ０、ＶＢ１の合計値との差が大きいほど、修正に必要となる移動量は大きくなるように設定されている。
【００５３】
次に、制御部Ｃは、決定されたＸ軸方向の移動量に基づいてハンドＲＨをＸ軸方向に移動させる（ステップＳ５５）。その後、制御部Ｃは、出力値ＶＡ０、ＶＡ１の合計値と出力値ＶＢ０、ＶＢ１の合計値とが等しいか否かを判定する（ステップＳ５６）。等しい場合には、制御部Ｃは、部品８０のＸ軸方向のずれが修正されたものと推定して修正後でのハンドＲＨのＸ軸の座標をメモリに記憶し（ステップＳ５７）、Ｙ軸方向の修正を行う（ステップＳ６）。
【００５４】
尚、穴部ＢＨに対して部品８０がθ軸方向にずれており、Ｘ軸方向のずれは修正された状態の場合、部品８０の対角線上に並んだセンサＳＡ１、ＳＢ０の出力値ＶＡ１、ＶＢ０は等しいものと推定される。この場合、同様に対角線上に並ぶセンサＳＡ０、ＳＢ１の出力値ＶＡ０、ＶＢ１も等しいものと推定される。従って、出力値ＶＡ０、ＶＡ１の合計値と、出力値ＶＢ０、ＶＢ１の合計値とは等しいものとなる。よって、例えば、ステップＳ４においてθ軸方向のずれが十分に修正されていない場合であっても、Ｘ軸方向のずれを修正できる。
【００５５】
ステップＳ５６で否定判定の場合には、制御部Ｃは現状のハンドＲＨの位置がＸ軸方向の移動が許容される許容範囲内に含まれているか否かを判定する（ステップＳ５８）。例えば、実際には既にＸ軸方向のずれが修正されていたとしても、θ軸方向に大きくずれているがために、出力値ＶＡ０と出力値ＶＡ１との合計値と出力値ＶＢ０と出力値ＶＢ１との合計値とは等しくならならない場合がある。現状のハンドＲＨの位置が、予め設定されたＸ軸方向の移動が許容される許容範囲内に含まれている場合は、制御部Ｃは再度Ｘ軸方向のずれの修正を行う（ステップＳ５）。現状のハンドＲＨの位置が許容範囲外である場合には、制御部ＣはＹ軸方向のずれ、θ軸方向のずれを修正して（ステップＳ６、Ｓ５）、再びＸ軸方向のずれの修正する（ステップＳ５）。
【００５６】
図１６は、制御部Ｃが実行するＹ軸方向のずれを修正する制御の一例を示したフローチャートである。制御部Ｃは、全てのセンサからの出力値を読み込み（ステップＳ６１）、出力値ＶＣが出力値ＶＤよりも大きいか否かを判定する（ステップＳ６２）。出力値ＶＣ、ＶＤは、それぞれセンサＳＣ、ＳＤの出力値である。例えば、センサＳＣが内側面９２ｃよりも内側に位置し、センサＳＤが内側面９２ｄの外側に位置しているような場合には、出力値ＶＳは出力値ＶＤよりも大きくなる。この場合、制御部Ｃは、穴部ＢＨに対して部品８０は＋Ｙ方向にずれていると推定する。否定判定の場合には、制御部Ｃは、穴部ＢＨに対して部品８０は−Ｙ方向にずれていると推定する。例えば、図１１Ｂに示した場合では、否定判定がなされる。
【００５７】
ステップＳ６２で肯定判定の場合には、制御部Ｃは、部品８０のずれを修正するために必要となる部品８０の移動方向を−Ｙ方向に決定する（ステップＳ６３ａ）。ステップＳ６２で否定判定の場合には、制御部Ｃは、部品８０の移動方向を＋Ｙ方向に決定する（ステップＳ６３ｂ）。このように、Ｙ軸方向に並んだセンサＳＣ、ＳＤの出力値ＶＣ、ＶＤを利用することにより、穴部ＢＨに対して部品８０がＹ軸方向のいずれの方向にずれているかを推定することができる。
【００５８】
次に、制御部Ｃは、修正に必要となる移動量を予めメモリ等に記憶されたマップに基づいて決定する（ステップＳ６４）。具体的には、制御部Ｃは図１７Ｄに示したマップに基づいてＹ軸方向の移動量を決定する。図１７Ｄは、出力値ＶＤ、ＶＣの差と、Ｙ軸方向の移動量との関係を規定している。図１７Ｃに示すように、出力値ＶＤ、ＶＣの差が大きいほど、修正に必要となる移動量は大きくなるように設定されている。
【００５９】
次に、制御部Ｃは、決定されたＹ軸方向の移動量に基づいてハンドＲＨをＹ軸方向に移動させる（ステップＳ６５）。その後、制御部Ｃは、出力値ＶＣと出力値ＶＤが等しいか否かを判定する（ステップＳ６６）。等しい場合には、制御部Ｃは、Ｙ軸方向での部品８０のずれが修正されたものと推定して修正後でのハンドＲＨのＹ軸の座標をメモリに記憶する（ステップＳ６７）。次に、制御部Ｃは、修正後のハンドＲＨのＸ軸方向、Ｙ軸方向、Ｚ軸周りでの座標がメモリに記憶されているか否かを判定し（ステップＳ６９）、肯定判定の場合には、この座標を登録する（ステップＳ７）。
【００６０】
尚、穴部ＢＨに対して部品８０がθ軸及びＸ軸方向にずれているがＹ軸方向のずれは修正された状態の場合、Ｙ軸方向に並ぶセンサＳＣ、ＳＤの出力値ＶＣ、ＶＤは等しいものと推定される。この場合には、穴部ＢＨの内側面９２ｃに対するセンサＳＣのずれ量と、穴部ＢＨの内側面９２ｄに対するセンサＳＤのずれ量は等しくなるものと思われるからである。よって、例えば、ステップＳ４、Ｓ５においてずれが十分に修正されていない場合であっても、Ｙ軸方向のずれを修正することができる。
【００６１】
ステップＳ６６で否定判定の場合には、制御部Ｃは、現状のハンドＲＨの位置が、予め設定されたハンドＲＨのＹ軸方向の移動が許容される許容範囲内に含まれているか否かを判定する（ステップＳ６８）。例えば、実際には既にＹ軸方向のずれが修正されていたとしても、Ｘ軸又はθ軸方向に大きくずれているがために、出力値ＶＣと出力値ＶＤとが等しくならならない場合が考えられるからである。ステップＳ６８で肯定判定の場合には、制御部Ｃは再度Ｙ軸方向のずれを修正し、否定判定の場合には、制御部Ｃはθ軸及びＸ軸方向のずれを修正する（ステップＳ４、Ｓ５）。
【００６２】
以上のように、制御部Ｃは部品８０を挟む位置に設けられたセンサＳＡ０、ＳＢ０の出力値により、センサＳＡ０、ＳＢ０が並んだ方向での部品９０の穴部ＢＨに対する部品８０のずれを推定できる。同様に、制御部Ｃは、センサＳＣ、ＳＤが並んだ方向での部品９０の穴部ＢＨに対する部品８０のずれを推定できる。ここで、センサＳＡ０、ＳＢ０、ＳＣ、ＳＤは、水平面内に位置するように設けられている。また、センサＳＡ０からセンサＳＢ０への方向とセンサＳＣからセンサＳＤへの方向とは、直交している。このため、制御部Ｃは、センサＳＡ０、ＳＢ０、ＳＣ、ＳＤにより、上述した水平面内で直交する２軸の方向での、部品９０の穴部ＢＨに対する部品８０の位置を推定できる。尚、センサＳＡ１からセンサＳＢ１への方向とセンサＳＣからセンサＳＤへの方向とも直交しているので、センサＳＡ１、ＳＢ１、ＳＣ、ＳＤのみによっても直交する２軸の方向での穴部ＢＨに対する部品８０の位置を推定できる。
【００６３】
また、長辺に相当する部品８０の側面８２ａ側に設けられた２つのセンサＳＡ０、ＳＡ１の出力差に基づいて、制御部Ｃは、穴部ＢＨに対する部品８０のθ軸方向のずれを推定できる。同様に、長辺に相当する部品８０の側面８２ｂ側に設けられた２つのセンサＳＢ０、ＳＢ１の出力差に基づいて、θ軸方向のずれを推定できる。以上のように、本実施例ではカメラ等を用いずに部品９０に対して非接触で、部品９０の穴部ＢＨに対する部品８０の位置を推定できる。
【００６４】
図１８Ａ、１８Ｂは、本実施例とは異なる構造を有したハンドＲＨｘ、ＲＨｙの説明図である。図１８Ａに示すように、ハンドＲＨｘには、部品８０を保持するための爪部２２ａｘ、２２ｂｘの他にカメラＣＡが設けられている。カメラＣＡは、部品８０とは異なる位置に設けられている。従って、部品８０から部品９０の穴部ＢＨまでの距離とカメラＣＡから穴部ＢＨまでの距離は異なり、部品８０から穴部ＢＨへの方向とカメラＣＡから穴部ＢＨのへの方向も異なっている。このため、撮影された画像の処理により得られたカメラＣＡから穴部ＢＨへの距離、方向等を、予め設定された補正量に基づいて補正することにより、部品８０から穴部ＢＨまでの距離や方向が推定される。ハンドＲＨｘは、この推定結果に基づいて部品８０を部品９０の穴部ＢＨにまで移動させる。しかしながら、このような補正量は予め一律に定められているため、例えばカメラＣＡの設置位置のバラつきや、ハンドＲＨｘに保持された部品８０の位置又姿勢のばらつきが生じる場合がある。このような場合には、部品８０を部品９０の穴部ＢＨに挿入できないおそれがある。
【００６５】
図１８Ｂに示すように、ハンドＲＨｙには部品８０を挟むように２つのカメラＣＡ１、ＣＡ２が設けられている。カメラＣＡ１、ＣＡ２が設けられた位置やその角度によっては、部品８０を穴部ＢＨに挿入している途中で、穴部ＢＨの側面を撮影することができなくなり、部品８０の先端が穴部ＢＨの側面に当接する恐れがある。これにより、部品８０を適切な姿勢で部品９０に挿入できないおそれがある。
【００６６】
本実施例は、カメラを使用する従来の方式とは異なる方式で部品９０の位置を推定するため、上記のような問題は生じない。
【００６７】
尚、上記実施例では、θ軸方向のずれも修正しているが、使用される部品の形状や大きさによっては、θ軸方向のずれを修正する必要がない場合も考えられる。このような場合には、２つのセンサＳＡ０、ＳＡ１の代わりに単一のセンサを使用し、２つのセンサＳＢ０、ＳＢ１の代わりに単一のセンサを使用してもよい。即ち、Ｘ軸方向のずれのみを修正するのであれば、Ｘ軸方向に部品８０を挟むように一対のセンサが設けられていればよい。
【００６８】
上記実施例では、例えば、図１７Ａ等に示したように、２つのセンサの出力値の差に基づいて位置のずれを修正した。しかしながらこのような方法に限定はされない。例えば、Ｘ軸方向のずれを修正する場合には、センサＳＡ０、ＳＢ０の出力値をモニターしながらハンドＲＨをＸ軸方向に往復動させて、各出力値が所定値以下になった位置を、部品８０のずれが修正された位置と推定してもよい。
【００６９】
次に、センサの変形例について説明する。図１９は、変形例のセンサＳＡ０´の説明図である。センサＳＡ０´の弾性片Ｓ１０´は、固定部Ｓ１２´、非固定部Ｓ１４´、湾曲部Ｓ１６´を含む。固定部Ｓ１２´は、爪部に固定されている。非固定部Ｓ１４´は、固定部Ｓ１２´から連続して略直角に折り曲げられている。湾曲部Ｓ１６´は、非固定部Ｓ１４´に連続して下方側に凹状となるように湾曲している。ひずみゲージｓｇ´は、非固定部Ｓ１４´と湾曲部Ｓ１６´との境界付近に設けられている。湾曲部Ｓ１６´がこのように下方側に凹状となっていることにより、下方から上方に流れる風を湾曲部Ｓ１６´で受けることができる。これにより、風力が弱い場合であっても、非固定部Ｓ１４´と湾曲部Ｓ１６´の境界付近が大きく撓み、精度よく風力を検出することができる。
【００７０】
次に、本実施例の変形例について説明する。尚、本実施例と類似部分については、類似の符号を付することにより重複する説明を省略する。図２０、２１Ａ、２１Ｂは、第１変形例のハンドＲＨ´の説明図である。部品８０´は円柱状であり、穴部ＢＨ´も円筒状である。爪部２２ａ´〜２２ｄ´は、所定位置周りに等角度間隔で設けられており、部品８０´の湾曲した外側面８２´を押えて保持する。爪部２２ａ´〜２２ｄ´は、所定位置に向けて接近、離間可能に基部１０´に設けられている。爪部２２ａ´〜２２ｄ´の外側面には、それぞれセンサＳＡ´〜ＳＤ´が設けられている。センサＳＡ´〜ＳＤ´のそれぞれからノズル５０´までの距離は等しい。部品８０´は円柱状であり上面８１ａ´、下面８１ｂ´はそれぞれ円形であるため、θ軸方向のずれの修正は不要である。センサＳＡ´、ＳＢ´の出力値に基づいてＸ軸方向のずれを修正し、センサＳＣ´、ＳＤ´の出力値に基づいてＹ軸方向のずれを修正する。
【００７１】
図２２、２３Ａ、２３Ｂは、第２変形例のハンドＲＨ´´の説明図である。部品８０´´は、略直方体状である。上面８１ａ´´、下面８１ｂ´´のそれぞれは正方形である。爪部２２ａ´´〜２２ｄ´´は、互いに接近、離間可能に基部１０´´に設けられている。また、爪部２２ａ´´には、センサＳＡ０´´、ＳＡ１´´が設けられており、爪部２２ｂ´´には、センサＳＢ０´´、ＳＢ１´´が設けられている。爪部２２ｃ´´には、センサＳＣ０´´、ＳＣ１´´が設けられ、爪部２２ｄ´´には、センサＳＤ０´´、ＳＤ１´´が設けられている。単一の把持部に対して２つのセンサが設けられている。例えば、センサＳＡ０´´、ＳＡ１´´の出力値に基づいてθ軸方向のずれを修正し、その後に、センサＳＤ０´´、ＳＤ１´´の出力値に基づいて再度θ軸方向のずれを修正する。これによりθ軸方向でのずれを適切に修正することができる。尚、これらセンサのそれぞれからノズル５０´´までの距離は等しい。
【００７２】
以上本発明の好ましい一実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７３】
ハンドは、空気の吸引により部品を吸着保持するものであってもよいし、電磁石によって磁性部品を保持可能なものであってもよい。θ軸、Ｘ軸、及びＹ軸方向のずれの修正の順序は問わない。
【００７４】
上記実施例では、部品９０の穴部ＢＨは底面９１を有しているが、このような穴に限定されない。例えば、底を有しない貫通孔が形成された部品であってもよい。この場合、部品を配置した台が、穴の底面の役割を果たす。また、穴は深さが浅い凹部であってもよい。
【００７５】
上記実施例では、部品９０の穴部ＢＨに実際に挿入される部品８０に、ノズル５０からの空気が通過する通過孔ＴＨが形成されているが、これに限定されない。例えば、部品９０の穴部ＢＨに挿入される部品とは別の教示用部品を用意して、この部品に通過孔ＴＨを形成して、この部品を用いて部品９０の穴部ＢＨに対するハンドＲＨの適切な位置での座標を記録、登録してもよい。座標を登録した後にこの座標に基づいて、実際に挿入される予定の部品を穴部ＢＨに挿入することができるからである。
【００７６】
上記実施例では、ノズル５０はハンドＲＨの基部１０に設けられているがこれに限定されない。例えば、ノズル５０は、ハンドＲＨには設けられておらずに、アームＲＲの先端に設けられていてもよい。
【００７７】
上記実施例では、部品９０の穴部ＢＨに対する、ハンドＲＨに保持された部品８０の位置を推定する。しかしながら本発明はこのような構成に限定されない。例えば、ハンドＲＨの代わりに、溶液を供給するノズルや、吸引ノズル、溶接するための溶接ベッドがアームの先端に連結されているロボットに対しても本発明を適用できる。このような場合においても、カメラを用いずに。加工の対象となる部品に対するノズルの位置や溶接ヘッドの位置を推定できる。また、アームの先端に、ハンドＲＨやノズル、溶接ヘッド等を設けすに、ノズル５０とセンサＳＡ０等を設けることにより、他の部品に対するアームの先端の位置を推定することができる。
【符号の説明】
【００７８】
Ｒ  ロボット
ＲＲ  ロボットアーム（駆動部、可動部）
ＲＨ  ロボットハンド（保持部）
１０  基部
２２ａ０、２２ａ１、２２ｂ０、２２ｂ１、２２ｃ、２２ｄ  爪部
ＳＡ０、ＳＡ１、ＳＢ０、ＳＢ１、ＳＣ、ＳＤ  センサ（検出部）
Ｓ１０  弾性片
ｓｇ  ひずみゲージ
８０  部品（第１部品）
ＴＨ  通過孔
９０  部品（第２部品）
ＢＨ  穴部
Ｃ  制御部
【図１】
2013193148.tif 000003
【図２】
2013193148.tif 000004
【図３】
2013193148.tif 000005
【図４】
2013193148.tif 000006
【図５】
2013193148.tif 000007
【図６】
2013193148.tif 000008
【図７】
2013193148.tif 000009
【図８】
2013193148.tif 000010
【図９】
2013193148.tif 000011
【図１０】
2013193148.tif 000012
【図１１】
2013193148.tif 000013
【図１２】
2013193148.tif 000014
【図１３】
2013193148.tif 000015
【図１４】
2013193148.tif 000016
【図１５】
2013193148.tif 000017
【図１６】
2013193148.tif 000018
【図１７】
2013193148.tif 000019
【図１８】
2013193148.tif 000020
【図１９】
2013193148.tif 000021
【図２０】
2013193148.tif 000022
【図２１】
2013193148.tif 000023
【図２２】
2013193148.tif 000024
【図２３】
2013193148.tif 000025