(57)【要約】【課題】部品のワークへの組付け位置を精度よく探索できる探索装置を提供する。【解決手段】ワークは、バカ穴とバカ穴の底面に形成されたネジ穴とを有する。探索装置は、ネジと底面とを接触させた状態で、ｕ軸方向の正および負の向きと、ｖ軸方向の正および負の向きとに、ネジを移動させる。探索装置は、ｕ軸方向の正および負の向きと、ｖ軸方向の正および負の向きとに、ネジを各々移動させたときに反力が閾値Ｔｈ１以上となる位置Ｐα，Ｐβ，Ｐγ，Ｐδを特定する。探索装置は、位置Ｐαと位置Ｐβとの間の距離が閾値Ｔｈ２未満の場合には、位置Ｐαと位置Ｐβとの中間位置を起点としたｖ軸方向への移動と、位置Ｐγおよび位置Ｐδの特定とを実行する。探索装置は、位置Ｐγと位置Ｐδとの間の距離が閾値Ｔｈ２未満の場合には、位置Ｐγと位置Ｐδとの中間位置をネジの組付け位置と判断する。【選択図】図１０
2012143842.tif 000002
【特許請求の範囲】
【請求項１】
ワークに対する部品の組付け位置を探索する探索装置であって、
前記ワークは、前記部品を挿入するための第１の凹部と、前記第１の凹部の底面に形成された前記部品を組付けるための第２の凹部とを有し、
前記探索装置は、
前記部品に対する挿入方向への押圧力によって前記部品と前記底面とを接触させた状態で、予め定められた第１の移動方向における一方の向きおよび他方の向きと、予め定められた第２の移動方向における一方の向きおよび他方の向きとに、前記部品または前記ワークを移動させる移動手段と、
前記第１の移動方向への移動と前記第２の移動方向への移動とによって生じる前記部品に加わる反力を検出する反力検出手段と、
前記第１の移動方向における前記一方の向きに前記部品または前記ワークを移動させたときに前記反力が第１の閾値以上となる第１の位置と、当該第１の位置から前記第１の移動方向における前記他方の向きに前記部品または前記ワークを移動させたときに前記反力が前記第１の閾値以上となる第２の位置とを特定する第１の特定手段と、
前記第２の移動方向における前記一方の向きに前記部品または前記ワークを移動させたときに前記反力が第１の閾値以上となる第３の位置と、当該第３の位置から前記第２の移動方向における前記他方の向きに前記部品または前記ワークを移動させたときに前記反力が前記第１の閾値以上となる第４の位置とを特定する第２の特定手段とを備え、
前記探索装置は、
前記第１の位置と前記第２の位置との間の第１の距離が第２の閾値未満の場合には、第１の一連の処理として、前記第１の位置と前記第２の位置との中間位置を起点とした前記第２の移動方向への移動と、前記第２の特定手段による前記第３の位置および前記第４の位置の特定とを実行し、
前記第３の位置と前記第４の位置との間の第２の距離が前記第２の閾値未満の場合には、前記第３の位置と前記第４の位置との中間位置を前記組付け位置と判断する、探索装置。
【請求項２】
前記探索装置は、
前記第１の移動方向と前記第２の移動方向とを、それぞれ、一定の向きに一定量だけ変更する変更手段をさらに備え、
前記第１の距離が前記第２の閾値以上の場合には、当該第１の距離が前記第２の閾値未満となるまで、前記変更手段による前記第１の移動方向および前記第２の移動方向の変更と、前記第１の位置と前記第２の位置との中間位置を起点とした前記変更後の第１の移動方向への前記移動手段による前記移動と、前記反力検出手段による前記反力の検出と、前記第１の特定手段による前記第１の位置および前記第２の位置の特定とを含む第２の一連の処理を繰り返し、
前記第２の一連の処理によって前記第１の距離が前記第２の閾値未満となると、前記第１の一連の処理を実行し、
前記第１の一連の処理により特定された前記第３の位置と前記第４の位置との間の前記第２の距離が前記第２の閾値未満の場合には、前記第３の位置と前記第４の位置との中間位置を前記組付け位置と判断する、請求項１に記載の探索装置。
【請求項３】
前記第２の距離が前記第２の閾値以上の場合には、前記第１の距離が再度前記第２の閾値未満となるまで、前記第２の一連の処理を繰り返し、
前記第１の距離が再度前記第２の閾値未満となると、前記第１の一連の処理を再度実行し、
当該第１の一連の処理により特定された前記第３の位置と前記第４の位置との間の前記第２の距離が前記第２の閾値未満となった場合には、前記第３の位置と前記第４の位置との中間位置を前記組付け位置と判断する、請求項２に記載の探索装置。
【請求項４】
前記第１の移動方向における前記一方の向きへの移動距離が予め定められた距離以上となると、前記移動の中止と、前記変更手段による前記第１の移動方向および前記第２の移動方向の変更と、当該移動の開始位置を起点とした前記変更後の第１の移動方向への前記移動手段による前記移動と、前記反力検出手段による前記反力の検出と、前記第１の特定手段による前記第１の位置および前記第２の位置の特定とを実行する、請求項３に記載の探索装置。
【請求項５】
前記探索装置は、
前記部品を負圧により吸着する吸着手段と、
前記吸着によって形成された密閉空間への空気流入を検知する検知手段と、
前記空気流入の回数をカウントするカウント手段と、
前記空気流入の回数が予め定められた回数となると前記押圧力を上昇させる圧力制御手段とを備える、請求項３または４に記載の探索装置。
【請求項６】
ワークに対する部品の組付け位置を探索する探索装置であって、
前記ワークは、前記部品を挿入するための第１の凹部と、前記第１の凹部の底面に形成された前記部品を組付けるための第２の凹部とを有し、
前記探索装置は、
前記部品に対する挿入方向への押圧力によって前記部品と前記底面とを接触させた状態で、予め定められた移動方向における一方の向きおよび当該一方の向きとは反対の他方の向きに、前記部品または前記ワークを移動させる移動手段と、
前記移動によって生じる前記部品に加わる反力を検出する反力検出手段と、
前記一方の向きに前記部品または前記ワークを移動させたときに前記反力が第１の閾値以上となる第１の位置と、当該第１の位置から前記他方の向きに前記部品または前記ワークを移動させたときに前記反力が前記第１の閾値以上となる第２の位置とを特定する特定手段と、
前記移動方向を、一定の向きに一定量だけ変更する変更手段とを備え、
前記探索装置は、
前記第１の位置と前記第２の位置との間の距離が第２の閾値未満の場合には、前記第１の位置と前記第２の位置との中間位置を前記組み付け位置と判断し、
前記距離が前記第２の閾値以上の場合には、
当該距離が前記第２の閾値未満となるまで、前記変更手段による前記移動方向の変更と、前記変更後の移動方向における前記中間位置を起点とした前記移動手段による前記移動と、前記反力検出手段による前記反力の検出と、前記特定手段による前記第１の位置および前記第２の位置の特定とを含む一連の処理を繰り返し、
当該距離が前記第２の閾値未満となったときの前記第１の位置と前記第２の位置との中間位置を前記組付け位置と判断する、探索装置。
【請求項７】
前記部品は、ネジであって、
前記ワークは、第１のワークと、第２のワークとを有し、
前記第１のワークは、前記第２のワークに重なって配置されており、
前記第１のワークは、前記第１の凹部としてバカ穴を有し、
前記第２のワークは、前記第２の凹部としてネジ穴を有し、
前記底面は、前記第２のワークの表面である、請求項１から６のいずれか１項に記載の探索装置。
【請求項８】
請求項１から７のいずれか１項に記載の探索装置と、
前記組付け位置において、前記部品を前記第２の凹部に組付ける組付け手段とを備える、自動組付け装置。
【請求項９】
ワークに対する部品の組付け位置を探索する探索装置における探索方法であって、
前記ワークは、前記部品を挿入するための第１の凹部と、前記第１の凹部の底面に形成された前記部品を組付けるための第２の凹部とを有し、
前記探索方法は、
前記探索装置のプロセッサが、前記部品に対する挿入方向への押圧力によって前記部品と前記底面とを接触させた状態で、予め定められた第１の移動方向における一方の向きおよび他方の向きと、予め定められた第２の移動方向における一方の向きおよび他方の向きとに、前記部品または前記ワークを移動させるステップと、
前記探索装置のセンサが、前記第１の移動方向への移動と前記第２の移動方向への移動とによって生じる前記部品に加わる反力を検出するステップと、
前記プロセッサが、前記第１の移動方向における前記一方の向きに前記部品または前記ワークを移動させたときに前記反力が第１の閾値以上となる第１の位置と、当該第１の位置から前記第１の移動方向における前記他方の向きに前記部品または前記ワークを移動させたときに前記反力が前記第１の閾値以上となる第２の位置とを特定するステップと、
前記プロセッサが、前記第２の移動方向における前記一方の向きに前記部品または前記ワークを移動させたときに前記反力が第１の閾値以上となる第３の位置と、当該第３の位置から前記第２の移動方向における前記他方の向きに前記部品または前記ワークを移動させたときに前記反力が前記第１の閾値以上となる第４の位置とを特定するステップと、
前記第１の位置と前記第２の位置との間の第１の距離が第２の閾値未満の場合には、前記プロセッサが、前記第１の位置と前記第２の位置との中間位置を起点とした前記第２の移動方向への移動と、前記第３の位置および前記第４の位置の特定とを実行するステップと、
前記第３の位置と前記第４の位置との間の第２の距離が前記第２の閾値未満の場合には、前記プロセッサが、前記第３の位置と前記第４の位置との中間位置を前記組付け位置と判断するステップとを備える、探索方法。
【請求項１０】
ワークに対する部品の組付け位置を探索する探索装置における探索方法であって、
前記ワークは、前記部品を挿入するための第１の凹部と、前記第１の凹部の底面に形成された前記部品を組付けるための第２の凹部とを有し、
前記探索方法は、
前記探索装置のプロセッサが、前記部品に対する挿入方向への押圧力によって前記部品と前記底面とを接触させた状態で、予め定められた移動方向における一方の向きおよび当該一方の向きとは反対の他方の向きに、前記部品または前記ワークを移動させるステップと、
前記探索装置のセンサが、前記移動によって生じる前記部品に加わる反力を検出するステップと、
前記プロセッサが、前記一方の向きに前記部品または前記ワークを移動させたときに前記反力が第１の閾値以上となる第１の位置と、当該第１の位置から前記他方の向きに前記部品または前記ワークを移動させたときに前記反力が前記第１の閾値以上となる第２の位置とを特定するステップと、
前記プロセッサが、前記移動方向を、一定の向きに一定量だけ変更するステップと、
前記第１の位置と前記第２の位置との間の距離が第２の閾値未満の場合には、前記プロセッサが、前記第１の位置と前記第２の位置との中間位置を前記組み付け位置と判断するステップと、
前記距離が前記第２の閾値以上の場合には、前記プロセッサが、
当該距離が前記第２の閾値未満となるまで、前記移動方向の変更と、前記変更後の移動方向における前記中間位置を起点とした前記移動と、前記反力の検出と、前記第１の位置および前記第２の位置の特定とを含む一連の処理を繰り返すステップと、
当該距離が前記第２の閾値未満となったときの前記第１の位置と前記第２の位置との中間位置を前記組付け位置と判断するステップとを備える、探索方法。
【請求項１１】
ワークに対する部品の組付け位置を探索する探索装置を制御するためのプログラムであって、
前記探索装置は、プロセッサと、力センサとを有し、
前記ワークは、前記部品を挿入するための第１の凹部と、前記第１の凹部の底面に形成された前記部品を組付けるための第２の凹部とを有し、
前記プログラムは、
前記部品に対する挿入方向への押圧力によって前記部品と前記底面とを接触させた状態で、予め定められた第１の移動方向における一方の向きおよび他方の向きと、予め定められた第２の移動方向における一方の向きおよび他方の向きとに、前記部品または前記ワークを移動させるステップと、
前記第１の移動方向への移動と前記第２の移動方向への移動とによって生じる前記部品に加わる反力を、前記力センサから受付けるステップと、
前記第１の移動方向における前記一方の向きに前記部品または前記ワークを移動させたときに前記反力が第１の閾値以上となる第１の位置と、当該第１の位置から前記第１の移動方向における前記他方の向きに前記部品または前記ワークを移動させたときに前記反力が前記第１の閾値以上となる第２の位置とを特定するステップと、
前記第２の移動方向における前記一方の向きに前記部品または前記ワークを移動させたときに前記反力が第１の閾値以上となる第３の位置と、当該第３の位置から前記第２の移動方向における前記他方の向きに前記部品または前記ワークを移動させたときに前記反力が前記第１の閾値以上となる第４の位置とを特定するステップと、
前記第１の位置と前記第２の位置との間の第１の距離が第２の閾値未満の場合には、前記第１の位置と前記第２の位置との中間位置を起点とした前記第２の移動方向への移動と、前記第３の位置および前記第４の位置の特定とを実行するステップと、
前記第３の位置と前記第４の位置との間の第２の距離が前記第２の閾値未満の場合には、前記第３の位置と前記第４の位置との中間位置を前記組付け位置と判断するステップとを、前記プロセッサに実行させる、プログラム。
【請求項１２】
ワークに対する部品の組付け位置を探索する探索装置を制御するためのプログラムであって、
前記探索装置は、プロセッサと、力センサとを有し、
前記ワークは、前記部品を挿入するための第１の凹部と、前記第１の凹部の底面に形成された前記部品を組付けるための第２の凹部とを有し、
前記プログラムは、
前記部品に対する挿入方向への押圧力によって前記部品と前記底面とを接触させた状態で、予め定められた移動方向における一方の向きおよび当該一方の向きとは反対の他方の向きに、前記部品または前記ワークを移動させるステップと、
前記移動によって生じる前記部品に加わる反力を、前記力センサから受付けるステップと、
前記一方の向きに前記部品または前記ワークを移動させたときに前記反力が第１の閾値以上となる第１の位置と、当該第１の位置から前記他方の向きに前記部品または前記ワークを移動させたときに前記反力が前記第１の閾値以上となる第２の位置とを特定するステップと、
前記移動方向を、一定の向きに一定量だけ変更するステップと、
前記第１の位置と前記第２の位置との間の距離が第２の閾値未満の場合には、前記第１の位置と前記第２の位置との中間位置を前記組み付け位置と判断するステップと、
前記距離が前記第２の閾値以上の場合には、
当該距離が前記第２の閾値未満となるまで、前記移動方向の変更と、前記変更後の移動方向における前記中間位置を起点とした前記移動と、前記反力の検出と、前記第１の位置および前記第２の位置の特定とを含む一連の処理を繰り返すステップと、
当該距離が前記第２の閾値未満となったときの前記第１の位置と前記第２の位置との中間位置を前記組付け位置と判断するステップとを、前記プロセッサに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネジや樹脂ピン等の部品のワークへの組付け位置を探索する探索装置、当該探索装置を備える自動組付け装置、探索方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、組立ての代表的な工程であるネジ締めにおいて、自動式のネジ締めドライバと直動式のロボットを組合せた自動ネジ締め機が製品化され、かつ使用されている。しかしながら、これらの自動ネジ締め機は、ワークのばらつき等によってネジ穴の位置が設計位置からずれている場合、適切にネジの位置を補正してネジを締めることができなかった。具体的には、従来の自動ネジ締め機は、ネジ径の略１／１０程度を超える位置ずれがあると、正しくネジ締めできず、斜め噛み込み等の不完全なネジ締めをしたり、エラー停止する。このため、人手による補正が必要になっていた。
【０００３】
このような問題点を解消すべく、特許文献１では、力制御式のロボットを使用し、かつネジを通して受けた反力を元にドライバの位置を修正することによって、ネジと穴とのずれを修正している。これにより特許文献１では、当該修正によって、高信頼の自動ネジ締めを実現している。特許文献１の修正方法では、ネジ先が穴に入りかかっている場合に、ずれの方向を検知してネジの位置を補正することにより、正しくネジ締めを行なうことができる。
【０００４】
特許文献２には、大寸法のボルトの理想ねじ込み位置を位置決めする方法、特に、ネジ穴のある容器の蓋を締め付ける方法が開示されている。
【０００５】
特許文献３には、ロケートピンの位置制御装置が開示されている。当該位置制御装置は、ロケートピンを所定の位置に位置決めした際、ロケート穴の検出ができなかったときには、加工データ記憶部からロケート穴の形状に関する情報を読み込んで、ロケートピンをスクロール動作させる。当該位置制御装置は、当該動作中にロケート穴を見つけることができれば、ロケートピンの挿入動作を行なう。
【０００６】
特許文献４には、小物部品の組付装置が開示されている。当該組付装置は、組付ロボットのロボットアームとロボットハンドとの間に、ＸＹ方向への位置調整可能なエンドエフェクタと、Ｚ方向の加重を検出する力覚センサとが介在している。当該組付装置は、力覚センサで検出されたＺ方向の加重の変化率に基づいてエンドエフェクタを制御し、ロボットハンドのＸＹ方向の位置を調整する。これにより、当該組付装置は、ファスナの組付穴への挿入を可能としている。
【０００７】
特許文献５には、ロボットでワークを対象物に押圧しながらワークを挿入する挿入位置を探索して挿入し組立てる組立て方法が開示されている。当該組立て方法は、複数の探索方向毎に往復動作の探索範囲を設定し、往復動作の周期の大きさに差を設ける。当該組立て方法は、ある探索方向の往復動作によりその方向の探索範囲を１回移動する間に、次に周期の短い探索方向の往復動作ではその方向においてワークを対象物に挿入可能となる範囲の量以下だけ移動するように、ロボットによりワークを対象物に対して相対移動させる。当該組立て方法は、当該相対移動により挿入位置を探索する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−３３１４２８号公報
【特許文献２】特開昭６２−１０２９２８号公報
【特許文献３】特開平７−１６０３３６号公報
【特許文献４】特開平５−２００６３８号公報
【特許文献５】特開２００４−１６７６５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１〜５であっても、部品を挿入するための第１の凹部と第１の凹部の底面に形成された部品を組付けるための第２の凹部とを有するワークに対して部品の組み付けを行なう場合、第２の凹部の探索時に部品が第１の凹部の側面に接触することがあり、部品の組付け位置を精度よく探索することは難しい。
【００１０】
本発明は、上記の問題点に鑑みなされたものであって、その目的は、部品のワークへの組付け工程において、ワークが位置および／または寸法のばらつきを有する場合でも、部品の組付け位置を精度よく探索できる探索装置、自動組付け装置、探索方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明のある局面に従うと、探索装置は、ワークに対する部品の組付け位置を探索する探索装置である。ワークは、部品を挿入するための第１の凹部と、第１の凹部の底面に形成された部品を組付けるための第２の凹部とを有する。探索装置は、部品に対する挿入方向への押圧力によって部品と底面とを接触させた状態で、予め定められた第１の移動方向における一方の向きおよび他方の向きと、予め定められた第２の移動方向における一方の向きおよび他方の向きとに、部品またはワークを移動させる移動手段と、第１の移動方向への移動と第２の移動方向への移動とによって生じる部品に加わる反力を検出する反力検出手段と、第１の移動方向における一方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第１の位置と、第１の位置から第１の移動方向における他方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第２の位置とを特定する第１の特定手段と、第２の移動方向における一方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第３の位置と、第３の位置から第２の移動方向における他方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第４の位置とを特定する第２の特定手段とを備える。探索装置は、第１の位置と第２の位置との間の第１の距離が第２の閾値未満の場合には、第１の一連の処理として、第１の位置と第２の位置との中間位置を起点とした第２の移動方向への移動と、第２の特定手段による第３の位置および第４の位置の特定とを実行し、第３の位置と第４の位置との間の第２の距離が第２の閾値未満の場合には、第３の位置と第４の位置との中間位置を組付け位置と判断する。
【００１２】
好ましくは、探索装置は、第１の移動方向と第２の移動方向とを、それぞれ、一定の向きに一定量だけ変更する変更手段をさらに備える。探索装置は、第１の距離が第２の閾値以上の場合には、第１の距離が第２の閾値未満となるまで、変更手段による第１の移動方向および第２の移動方向の変更と、第１の位置と第２の位置との中間位置を起点とした変更後の第１の移動方向への移動手段による移動と、反力検出手段による反力の検出と、第１の特定手段による第１の位置および第２の位置の特定とを含む第２の一連の処理を繰り返す。探索装置は、第２の一連の処理によって第１の距離が第２の閾値未満となると、第１の一連の処理を実行する。探索装置は、第１の一連の処理により特定された第３の位置と第４の位置との間の第２の距離が第２の閾値未満の場合には、第３の位置と第４の位置との中間位置を組付け位置と判断する。
【００１３】
好ましくは、探索装置は、第２の距離が第２の閾値以上の場合には、第１の距離が再度第２の閾値未満となるまで、第２の一連の処理を繰り返す。探索装置は、第１の距離が再度第２の閾値未満となると、第１の一連の処理を再度実行する。探索装置は、第１の一連の処理により特定された第３の位置と第４の位置との間の第２の距離が第２の閾値未満となった場合には、第３の位置と第４の位置との中間位置を組付け位置と判断する。
【００１４】
好ましくは、探索装置は、第１の移動方向における一方の向きへの移動距離が予め定められた距離以上となると、移動の中止と、変更手段による第１の移動方向および第２の移動方向の変更と、当該移動の開始位置を起点とした変更後の第１の移動方向への移動手段による移動と、反力検出手段による反力の検出と、第１の特定手段による第１の位置および第２の位置の特定とを実行する。
【００１５】
好ましくは、探索装置は、部品を負圧により吸着する吸着手段と、吸着によって形成された密閉空間への空気流入を検知する検知手段と、空気流入の回数をカウントするカウント手段と、空気流入の回数が予め定められた回数となると押圧力を上昇させる圧力制御手段とを備える。
【００１６】
本発明の他の局面に従うと、探索装置は、ワークに対する部品の組付け位置を探索する探索装置である。ワークは、部品を挿入するための第１の凹部と、第１の凹部の底面に形成された部品を組付けるための第２の凹部とを有する。探索装置は、部品に対する挿入方向への押圧力によって部品と底面とを接触させた状態で、予め定められた移動方向における一方の向きおよび当該一方の向きとは反対の他方の向きに、部品またはワークを移動させる移動手段と、移動によって生じる部品に加わる反力を検出する反力検出手段と、一方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第１の位置と、当該第１の位置から他方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第２の位置とを特定する特定手段と、移動方向を、一定の向きに一定量だけ変更する変更手段とを備える。探索装置は、第１の位置と第２の位置との間の距離が第２の閾値未満の場合には、第１の位置と第２の位置との中間位置を組み付け位置と判断する。探索装置は、距離が第２の閾値以上の場合には、距離が第２の閾値未満となるまで、変更手段による移動方向の変更と、変更後の移動方向における中間位置を起点とした移動手段による移動と、反力検出手段による反力の検出と、特定手段による第１の位置および第２の位置の特定とを含む一連の処理を繰り返す。探索装置は、距離が第２の閾値未満となったときの第１の位置と第２の位置との中間位置を組付け位置と判断する。
【００１７】
好ましくは、部品は、ネジである。ワークは、第１のワークと、第２のワークとを有する。第１のワークは、第２のワークに重なって配置されている。第１のワークは、第１の凹部としてバカ穴を有する。第２のワークは、第２の凹部としてネジ穴を有する。底面は、第２のワークの表面である。
【００１８】
本発明のさらに他の局面に従うと、自動組付け装置は、上述した探索装置と、組付け位置において、部品を第２の凹部に組付ける組付け手段とを備える。
【００１９】
本発明のさらに他の局面に従うと、探索方法は、ワークに対する部品の組付け位置を探索する探索装置における探索方法である。ワークは、部品を挿入するための第１の凹部と、第１の凹部の底面に形成された部品を組付けるための第２の凹部とを有する。探索方法は、探索装置のプロセッサが、部品に対する挿入方向への押圧力によって部品と底面とを接触させた状態で、予め定められた第１の移動方向における一方の向きおよび他方の向きと、予め定められた第２の移動方向における一方の向きおよび他方の向きとに、部品またはワークを移動させるステップと、探索装置のセンサが、第１の移動方向への移動と第２の移動方向への移動とによって生じる部品に加わる反力を検出するステップと、プロセッサが、第１の移動方向における一方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第１の位置と、当該第１の位置から第１の移動方向における他方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第２の位置とを特定するステップと、プロセッサが、第２の移動方向における一方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第３の位置と、当該第３の位置から第２の移動方向における他方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第４の位置とを特定するステップと、第１の位置と第２の位置との間の第１の距離が第２の閾値未満の場合には、プロセッサが、第１の位置と第２の位置との中間位置を起点とした第２の移動方向への移動と、第３の位置および第４の位置の特定とを実行するステップと、第３の位置と第４の位置との間の第２の距離が第２の閾値未満の場合には、プロセッサが、第３の位置と第４の位置との中間位置を組付け位置と判断するステップとを備える。
【００２０】
本発明のさらに他の局面に従うと、探索方法は、ワークに対する部品の組付け位置を探索する探索装置における探索方法である。ワークは、部品を挿入するための第１の凹部と、第１の凹部の底面に形成された部品を組付けるための第２の凹部とを有する。探索方法は、探索装置のプロセッサが、部品に対する挿入方向への押圧力によって部品と底面とを接触させた状態で、予め定められた移動方向における一方の向きおよび当該一方の向きとは反対の他方の向きに、部品またはワークを移動させるステップと、探索装置のセンサが、移動によって生じる部品に加わる反力を検出するステップと、プロセッサが、一方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第１の位置と、当該第１の位置から他方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第２の位置とを特定するステップと、プロセッサが、移動方向を、一定の向きに一定量だけ変更するステップと、第１の位置と第２の位置との間の距離が第２の閾値未満の場合には、プロセッサが、第１の位置と第２の位置との中間位置を組み付け位置と判断するステップと、距離が第２の閾値以上の場合には、プロセッサが、距離が第２の閾値未満となるまで、移動方向の変更と、変更後の移動方向における中間位置を起点とした移動と、反力の検出と、第１の位置および第２の位置の特定とを含む一連の処理を繰り返すステップと、距離が第２の閾値未満となったときの第１の位置と第２の位置との中間位置を組付け位置と判断するステップとを備える。
【００２１】
本発明のさらに他の局面に従うと、プログラムは、ワークに対する部品の組付け位置を探索する探索装置を制御するためのプログラムである。探索装置は、プロセッサと、力センサとを有する。ワークは、部品を挿入するための第１の凹部と、第１の凹部の底面に形成された部品を組付けるための第２の凹部とを有する。プログラムは、部品に対する挿入方向への押圧力によって部品と底面とを接触させた状態で、予め定められた第１の移動方向における一方の向きおよび他方の向きと、予め定められた第２の移動方向における一方の向きおよび他方の向きとに、部品またはワークを移動させるステップと、第１の移動方向への移動と第２の移動方向への移動とによって生じる部品に加わる反力を、力センサから受付けるステップと、第１の移動方向における一方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第１の位置と、当該第１の位置から第１の移動方向における他方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第２の位置とを特定するステップと、第２の移動方向における一方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第３の位置と、当該第３の位置から第２の移動方向における他方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第４の位置とを特定するステップと、第１の位置と第２の位置との間の第１の距離が第２の閾値未満の場合には、第１の位置と第２の位置との中間位置を起点とした第２の移動方向への移動と、第３の位置および第４の位置の特定とを実行するステップと、第３の位置と第４の位置との間の第２の距離が第２の閾値未満の場合には、第３の位置と第４の位置との中間位置を組付け位置と判断するステップとを、プロセッサに実行させる。
【００２２】
本発明のさらの他の局面に従うと、プログラムは、ワークに対する部品の組付け位置を探索する探索装置を制御するためのプログラムである。探索装置は、プロセッサと、力センサとを有する。ワークは、部品を挿入するための第１の凹部と、第１の凹部の底面に形成された部品を組付けるための第２の凹部とを有する。プログラムは、部品に対する挿入方向への押圧力によって部品と底面とを接触させた状態で、予め定められた移動方向における一方の向きおよび当該一方の向きとは反対の他方の向きに、部品またはワークを移動させるステップと、移動によって生じる部品に加わる反力を、力センサから受付けるステップと、一方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第１の位置と、第１の位置から他方の向きに部品またはワークを移動させたときに反力が第１の閾値以上となる第２の位置とを特定するステップと、移動方向を、一定の向きに一定量だけ変更するステップと、第１の位置と第２の位置との間の距離が第２の閾値未満の場合には、第１の位置と第２の位置との中間位置を組み付け位置と判断するステップと、距離が第２の閾値以上の場合には、距離が第２の閾値未満となるまで、移動方向の変更と、変更後の移動方向における中間位置を起点とした移動と、反力の検出と、第１の位置および第２の位置の特定とを含む一連の処理を繰り返すステップと、距離が第２の閾値未満となったときの第１の位置と第２の位置との中間位置を組付け位置と判断するステップとを、プロセッサに実行させる。
【発明の効果】
【００２３】
上記の発明によれば、部品のワークへの組付け工程において、ワークが位置および／または寸法のばらつきを有する場合でも、部品の組付け位置を精度よく探索できる。
【図面の簡単な説明】
【００２４】
【図１】自動組付け装置の概略構成を示した図である。
【図２】ネジ締めドライバの先端部と、ネジ吸着機構と、ワークとの断面を示した断面図である。
【図３】ワークの上面図である。
【図４】自動組付け装置の制御系の構成を示した図である。
【図５】自動組付け装置の機能的構成を示した機能ブロック図である。
【図６】ネジ穴の探索を説明するための遷移図である。
【図７】図６（ｄ）に続いて行なわれる探索を説明するための遷移図である。
【図８】図７（ｄ）に続いて行なわれる探索を説明するための遷移図である。
【図９】自動組付け装置における処理の流れを示したフローチャートである。
【図１０】図９におけるステップＳ４の処理の詳細を説明するためのフローチャートである。
【図１１】制御部として機能するコンピュータシステムのハードウェア構成を表わすブロック図である。
【図１２】ｕ軸のみを考慮した探索方法を行なう場合の処理の流れを示したフローチャートである。
【図１３】樹脂ピンをワークに挿入する処理を説明するための図である。
【発明を実施するための形態】
【００２５】
以下、図面を参照しつつ、本発明の実施の形態に係る自動組付け装置について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２６】
＜概略構成＞
図１は、本実施の形態に係る自動組付け装置１の概略構成を示した図である。図１を参照して、自動組付け装置１は、部品をワークに組付ける装置である。自動組付け装置１は、部品の組付け位置を探索する探索装置と、当該探索した組付け位置において当該部品をワークに組付ける組付け装置とを備える。自動組付け装置１では、探索装置と組付け装置とが一体として構成されている。自動組付け装置１は、具体的には、ネジ８００をワーク９００のネジ穴に対して締め付けるための自動ネジ締め装置である。
【００２７】
自動組付け装置１は、基部１１と、スカラロボット１２と、組付け部１３と、ネジ供給機構１４とを備える。スカラロボット１２は、リンク１２１と、関節１２８と、リンク１２２と、関節１２９と、リンク１２３とをこの順に備える。組付け部１３は、直動軸１３１と、直動軸１３２と、直動軸１３３と、力センサ１３４と、ネジ締めドライバ１３５と、ネジ吸着機構１３６と、衝撃緩和機構（図示せず）とを備える。
【００２８】
基部１１は、金属製の土台である。基部１１は、直方体形状を有している。基部１１は、上面の寸法が約１５００ｍｍ×約１５００ｍｍである。
【００２９】
スカラロボット１２は、ＳＣＡＲＡ（Selective Compliance Assembly Robot Arm）型のロボットである。スカラロボット１２は、鉛直方向の回転軸を持ち、かつ先端部を水平面内で移動可能とする。リンク１２１は、基部１１に固定されている。リンク１２１とリンク１２２とは関節１２８によって接続されている。リンク１２２とリンク１２３とは関節１２９によって接続されている。スカラロボット１２は、図示しないロボット制御部２１（図４参照）によって関節１２８および１２９の角度を制御することにより、所定の位置に先端部を移動させる。
【００３０】
関節１２８と１２９との距離は、４５０ｍｍである。関節１２９と、直動軸１３１，１３２を原点位置にしたときのネジ締めドライバ１３５の軸との距離は、５５０ｍｍである。スカラロボット１２は、関節１２８を中心として半径１０００ｍｍの範囲内にネジ締めドライバ１３５を移動できる。
【００３１】
組付け部１３は、後述する組付け処理と、ネジ締め動作とを行なうための機構である。組付け部１３は、スカラロボット１２のリンク１２３の先端に固定され、スカラロボット１２によって移動する。
【００３２】
直動軸１３１，１３２，１３３は、ネジ８００を移動させる。直動軸１３１，１３２，１３３は、直動型アクチュエータである。直動軸１３１，１３２，１３３は、モーターとボールネジとで構成される。
【００３３】
直動軸１３３の基部は、リンク１２３に固定されている。直動軸１３３は、先端側を図１の上下方向（ｚ軸方向）に駆動する。直動軸１３２の基部は、直動軸１３３の先端側に固定されている。直動軸１３２は、先端側を図１の左右方向（ｙ軸方向）に駆動する。直動軸１３１の基部は、直動軸１３２の先端側に固定されている。直動軸１３１は、先端側を図１の紙面垂直方向（ｚ軸とｙ軸とに垂直な方向（以下、「ｘ方向」と称する））に駆動する。
【００３４】
直動軸１３１および直動軸１３２は、２０ｍｍのストロークを持ち、ストロークの中央を原点とする動作をする。直動軸１３３は、５０ｍｍのストロークを持ち、ストローク上端を原点とする動作をする。直動軸１３１，１３２，１３３は、図示しない組付け制御部２２（図４参照）の制御により、それぞれ、先端側を指定された位置に移動する。
【００３５】
力センサ１３４は、ワーク９００に対するネジ８００の接触圧を検出する。力センサ１３４は、ｘ軸、ｙ軸、およびｚ軸の３軸方向に加えられた力の大きさを検出する３軸力覚センサである。以下では、ｘ軸に加えられた力の大きさを「力ＦＸ」と、ｙ軸に加えられた力の大きさを「力ＦＹ」と、ｚ軸に加えられた力の大きさを「力ＦＺ」と称する。
【００３６】
力センサ１３４の基部は、直動軸１３１の先端側に固定されている。力センサ１３４のｘ，ｙ，ｚの３軸は、各々直動軸１３１，１３２，１３３の駆動方向と平行となるように取り付けられている。力センサ１３４の力測定レンジはｘ，ｙ，ｚの各方向に±１００Ｎである。力センサ１３４は、１ｍｓごとに力ＦＸ，ＦＹ，ＦＺを測定し、後述の制御部２０（図４参照）からの読取り処理に応じて、制御部２０に出力する。力センサ１３４の出力は、図１の状態（すなわち、先端にネジ締めドライバ１３５が搭載された状態）で、力ＦＸ，ＦＹ，ＦＺが０になるようオフセット調整されている。
【００３７】
ネジ締めドライバ１３５は、トルク管理による自動ネジ締めが可能なドライバである。ネジ締めドライバ１３５は、力センサ１３４の先端側に取り付けられている。ネジ締めドライバ１３５は、ネジ締め開始の指示を受けると、先端のビット１３５１（図２参照）を回転させてネジ締めを行なう。ネジ締めドライバ１３５は、ビット１３５１からの反トルクが所定の完了トルクに達するとビット１３５１の回転を停止し、ネジ締めが完了したことを表す完了信号を制御部２０に出力する。
【００３８】
ビット１３５１の付け根には、バネによる衝撃緩和機構が内蔵されている。衝撃緩和機構は、ネジの押し込み方向の力に応じてビット１３５１の突き出し量を短縮する。これによって、衝撃緩衝機構は、直動軸１３３が駆動されてビット１３５１がワーク９００に接触するときの衝撃を緩和する。また、衝撃緩和機構により、Ｚ軸位置変動時の反力変化が緩和され、後述する探索移動中の押付け力となる力ＦＺを一定に保つ制御が安定しやすくなる。
【００３９】
ネジ締めドライバ１３５は、トルクアップ検知機能を備える。なお、図示しない制御部２０（図４参照）は、異常判定機能を持つ。制御部２０は、ネジ締め中に所定の締結回転角度より少ない回転でトルクが上昇した場合、ビット１３５１の回転を停止させる。制御部２０は、ネジ締め開始後に所定時間が経過してもトルクが上昇しない場合には、ビット１３５１の回転を停止させる。
【００４０】
図２は、ネジ締めドライバ１３５の先端部と、ネジ吸着機構１３６と、ワーク９００との断面を示した断面図である。図２を参照して、ネジ吸着機構１３６は、ネジ８００を把持する把持手段としての機能を果たす。具体的には、ネジ吸着機構１３６は、負圧によりネジ８００をビット１３５１に吸着する機構である。ネジ吸着機構１３６は、ビット１３５１の付け根に取り付けられている。ネジ吸着機構１３６は、図示しない空圧パイプにより、外部の負圧源に接続されている。ネジ吸着機構１３６は、先端にゴム部材１３６１を備える。ネジ吸着機構１３６は、ゴム部材１３６１がネジ８００の頭部８０１に接触すると、空圧パイプによる吸引処理によりゴム部材１３６１は頭部８０１に密着する。これにより、負圧による密閉空間が形成される。
【００４１】
また、ネジ８００がビット１３５１に対して傾斜した場合でも、ゴム部材１３６１の弾性によってゴム部材１３６１が変形し追従するため密閉が保たれる。それゆえ、吸着力は、維持される。さらに、ネジ８００がビット１３５１に対して傾斜した場合、当該傾斜を無くそうとする反力がゴム部材１３６１から発生する。
【００４２】
ネジ供給機構１４は、一般的な自動式のネジ供給機である。ネジ供給機構１４は、予め内部にストックした複数のネジを整列した後、１個のネジを取り出す。さらに、ネジ供給機構１４は、取り出したネジの頭部８０１をネジの先端面８９０に対して上に向けた状態で、ネジ供給機構１４上面の所定の供給位置にネジを移動させる。
【００４３】
ネジ供給機構１４は、略直方体の形状を有する。ネジ供給機構１４は、基部１１上のワーク９００の設置範囲に隣接して設置されている。ネジ供給機構１４は、スカラロボット１２を駆動することによって、ネジ締めドライバ１３５をネジ供給機構１４の供給位置上へ移動させることができる。ネジ供給機構１４は、供給位置にネジがあるかどうかを検知するセンサを持つ。ネジ供給機構１４は、ネジが取り去られると内部機構を駆動して次のネジを供給位置に移動させる。
【００４４】
ネジ８００は、たとえば、Ｍ３、ネジ長６ｍｍ、バインド頭のメートルネジである。なお、ネジ８００のサイズや種別は、これに限定されるものではない。
【００４５】
ワーク９００は、ネジ８００により締結される部材である。ワーク９００は、ネジ８００を挿入するための上穴９１１（第１の凹部）と、上穴９１１の底面９０８に形成されたネジ８００を組付けるためのネジ穴９２１（第２の凹部）とを有する。
【００４６】
より具体的には、ワーク９００は、ともに長方形平板状のワーク９０１とワーク９０２とからなる。ワーク９０１は、ワーク９０２に対して、上面と外周を覆う形で乗せられており、横方向に一定の誤差範囲内で位置決めされている。ワーク９０１とワーク９０２とには、上面外周に沿って複数箇所に、締結用の穴が開けられている。ワーク９０１の厚みは１．０ｍｍであり、ワーク９００の全体厚みは４０ｍｍである。ワーク９０１の穴は、一定径のバカ穴である。ワーク９０２の穴は、Ｍ３のメネジである。なお、底面９０８は、ワーク９０２の露出面でもある。以下では、説明の便宜上、底面９０８を「露出面９０８」とも称する。
【００４７】
ワーク９００は、図示しない外部の搬送装置により、基部１１上の所定位置に設置される。また自動組付け装置１によるネジ締めが終わると、ワーク９００は、外部の搬送装置により搬出される。基部１１上の所定位置に設置されたワーク９００の穴の位置は、以下の要因による誤差を持つ。
【００４８】
・外部の搬送装置がワーク９００を設置する動作のばらつき
・ワーク９０２に対するワーク９０１のガタつき
・ワーク９０１およびワーク９０２の寸法公差
以上の累積として、基部１１上の所定位置に設置されたワーク９０１およびワーク９０２の穴の位置は、その設計上の基準位置を中心に、たとえば±１．５ｍｍの範囲のばらつきを持つ。
【００４９】
図３は、ワーク９００の上面図である。図３を参照して、上穴９１１とネジ穴９２１とは、円形の開口を有している。上穴９１１の中心とネジ穴９２１の中心とは、ずれている。自動組付け装置１は、ネジ８００の先端面８９０（図２参照）を露出面９０８に接触させた後、ネジ穴９２１の探索を開始する。
【００５０】
＜制御系の構成＞
図４は、自動組付け装置１の制御系の構成を示した図である。自動組付け装置１は、制御部２０と、ロボット制御部２１と、組付け制御部２２と、ネジ供給機構１４と、ネジ締めドライバ１３５と、力センサ１３４と、ネジ吸着機構１３６と、関節１２８と、関節１２９と、直動軸１３１と、直動軸１３２と、直動軸１３３とを備える。
【００５１】
制御部２０は、それぞれ後述する、移動量の設定、ノイズμの生成、組付けの進捗度の評価、各種パラメータの記憶、当該パラメータの更新を行なうための計算機である。具体的には、制御部２０は、一般的なＰＣ（Personal Computer）である（図１１参照）。
【００５２】
制御部２０は、後述する自動組付け装置１の制御フロー（図９，図１０）を実行するためのアルゴリズムを、予め記憶部（図示せず）に記憶している。なお、記憶部は、たとえば、ＨＤＤ（Hard Disc Drive）、フラッシュメモリ等の不揮発性のメモリである。
【００５３】
制御部２０は、ロボット制御部２１，組付け制御部２２、ネジ締めドライバ１３５および力センサ１３４と通信線で接続され、当該各機器の状態読取りおよび制御を行なう。具体的には、制御部２０は、ロボット制御部２１に対して、スカラロボット１２の関節１２８および１２９の角度読取りと目標角度との指令を行なう。制御部２０は、組付け制御部２２に対して、直動軸１３１，１３２，１３３の位置の取得と目標位置との指令を行なう。制御部２０は、ネジ締めドライバ１３５に対して、異常状態および完了状態の読取りと、締結開始の指示とを行なう。制御部２０は、力センサ１３４に対して、最新の力ＦＸ、ＦＹ，ＦＺの読取りを行なう。制御部２０は、計算パラメータとして、直動軸１３１，１３２，１３３の各々の目標位置ＰＸ，ＰＹ，ＰＺと、その移動量ＭＸ，ＭＹ，ＭＺを記憶しており、制御計算によって更新する。
【００５４】
＜機能ブロック＞
図５は、自動組付け装置１の機能的構成を示した機能ブロック図である。図５を参照して、自動組付け装置１は、制御部２０と、反力検出部２５０と、移動部２６０と、吸着部２７０と、空気流入検知部２８０と、接触圧検出部２９１と、トルク検出部２９２とを備える。制御部２０は、特定部２１０と、距離算出部２２０と、変更部２３０と、カウント部２４０と、押圧力制御部２４５とを含む。特定部２１０は、第１特定部２１１と第２特定部２１２とを有する。
【００５５】
接触圧検出部２９１は、力センサ１３４に対応する。接触圧検出部２９１は、ワーク９００に対するネジ８００の接触圧を検出し、検出結果を制御部２０に送る。
【００５６】
トルク検出部２９２は、ネジ締めドライバ１３５に対応する。トルク検出部２９２は、ネジ８００を締める際の締付けトルクを検出し、検出結果を制御部２０に送る。移動部２６０は、直動軸１３１，１３２，１３３に対応する。
【００５７】
移動部２６０は、制御部２０からの指示に基づき動作する。具体的には、移動部２６０は、ネジ８００に対する挿入方向（ｚ方向）への押圧力によってネジ８００とワーク９０２の露出面９０８とを接触させた状態で、予め定められた第１の移動方向（以下、「ｕ軸方向」と称する）における正の向き（＋の向き）および負の向き（−の向き）に、ネジ８００を移動させる。また、移動部２６０は、上記接触させた状態で、予め定められた第２の移動方向（以下、「ｖ軸方向」と称する）における正の向きおよび負の向きに、ネジ８００を移動させる。
【００５８】
反力検出部２５０は、ｕ軸方向への移動とｖ軸方向への移動とによって生じるネジ８００に加わる反力を検出する。具体的には、反力検出部２５０は、当該移動によって生じる露出面９０８との摩擦力、ネジ８００の側面（ネジの先端部８０２付近）が上穴９１１の側面に当たったときに生じる接触圧、ネジ８００の側面がネジ穴９２１の入口側面に当たったときに生じる接触圧を検出する。
【００５９】
特定部２１０は、反力検出部２５０により検出された反力が所定の条件を満たすときのｘｙ座標系におけるネジの位置を特定する。具体的には、特定部２１０は、以下に述べる、第１特定部２１１による特定処理と、第２特定部２１２による特定処理とを行なう。
【００６０】
第１特定部２１１は、ｕ軸方向における正の向きにネジ８００を移動させたときに反力が閾値Ｔｈ１以上となる位置Ｐα（第１の位置）を特定する。また、第１特定部２１１は、さらに上記第１の位置からｕ軸方向における負の向きにネジ８００を移動させたときに反力が閾値Ｔｈ１以上となる位置Ｐβ（第２の位置）とを特定する。
【００６１】
第２特定部２１２は、ｖ軸方向における正の向きにネジ８００を移動させたときに反力が閾値Ｔｈ１以上となる位置Ｐγ（第３の位置）を特定する。また、第２特定部２１２は、上記第３の位置からｖ軸方向における負の向きにネジ８００を移動させたときに反力が閾値Ｔｈ１以上となる位置Ｐδ（第４の位置）とを特定する。
【００６２】
距離算出部２２０は、位置Ｐαと位置Ｐβとの間の距離Ｌ１（第１の距離）を算出する。また、距離算出部２２０は、位置Ｐγと位置Ｐδとの間の距離Ｌ２（第２の距離）を算出する。
【００６３】
詳細については図１０に示したフローチャートに基づいて説明するが、制御部２０は、位置Ｐαと位置Ｐβとの間の距離Ｌ１が閾値Ｔｈ２未満の場合には、一連の処理Ｓα（第１の一連の処理）として、位置Ｐαと位置Ｐβとの中間位置Ｐｍを起点としたｖ軸方向への移動と、第２特定部２１２による位置Ｐγおよび位置Ｐδの特定とを実行する。制御部２０は、位置Ｐγと位置Ｐδとの間の距離Ｌ２が閾値Ｔｈ２未満の場合には、位置Ｐγと位置δとの中間位置Ｐｎを組付け位置と判断する。
【００６４】
閾値Ｔｈ２は、ネジ８００およびネジ穴９２１の直径に比べて十分に小さい値である。たとえばネジの直径が３ｍｍである場合、閾値Ｔｈ２は、たとえば１ｍｍである。閾値Ｔｈ２は、ネジの直径および／または上穴９１１の径等に基づいた値に、予め定められている。
【００６５】
変更部２３０は、ｕ軸方向とｖ軸方向とを、それぞれ、一定の向きに一定量だけ変更する。当該向きと量との詳細については、後述する。
【００６６】
また、詳細については図１０に示したフローチャートに基づいて説明するが、自動組付け装置１は、距離Ｌ１が閾値Ｔｈ２以上の場合には、距離Ｌ１が閾値Ｔｈ２未満となるまで、変更部２３０によるｕ軸方向およびｖ軸方向の変更と、位置Ｐαと位置Ｐβとの中間位置Ｐｍを起点とした当該変更後のｕ軸方向への移動部２６０による移動と、反力検出部２５０による反力の検出と、第１特定部２１１による位置Ｐαおよび位置Ｐβの特定とを含む一連の処理Ｓβ（第２の一連の処理）を繰り返す。自動組付け装置１は、一連の処理Ｓβによって距離Ｌ１が閾値Ｔｈ２未満となると、一連の処理Ｓαを実行する。自動組付け装置１は、一連の処理Ｓαにより特定された位置Ｐγと位置Ｐδとの間の距離Ｌ２が閾値Ｔｈ２未満の場合には、位置Ｐγと位置Ｐδとの中間位置Ｐｎを組付け位置と判断する。
【００６７】
また、自動組付け装置１は、距離Ｌ２が閾値Ｔｈ２以上の場合には、距離Ｌ１が再度閾値Ｔｈ２未満となるまで、一連の処理Ｓβを繰り返す。自動組付け装置１は、距離Ｌ１が再度閾値Ｔｈ２未満となると、一連の処理Ｓαを再度実行する。自動組付け装置１は、一連の処理Ｓαにより特定された位置Ｐγと位置Ｐδとの間の距離Ｌ２が閾値Ｔｈ２未満となった場合には、位置Ｐγと位置Ｐδとの中間位置Ｐｎを組付け位置と判断する。
【００６８】
吸着部２７０は、ネジ８００を負圧により吸着する。空気流入検知部２８０は、吸着時の空気流入を検知する。つまり、空気流入検知部２８０は、負圧により形成された密閉空間への外部空気の流入を検知する。なお、吸着部２７０と空気流入検知部２８０とを合わせた構成が、図４に示したネジ吸着機構１３６に対応する。
【００６９】
カウント部２４０は、空気流入の回数をカウントする。押圧力制御部２４５は、空気流入の回数が予め定められた回数となると、上記押圧力（ネジ８００に加えるｚ方向への力）を上昇させる。これにより、ネジ８００の頭部８０１が、より一層、ゴム部材１３６１に接触する。それゆえ、密閉空間への空気の流入を防ぐことができる。
【００７０】
なお、制御部２０の他の機能については、後述する。
＜探索例＞
次に、図６〜図８に基づいて、ネジ穴９２１を探索する際のネジ８００の移動について説明する。つまり、ネジ８００の締結位置の探索処理について説明する。
【００７１】
図６は、ネジ穴９２１の探索を説明するための遷移図である。図６（ａ）は、ネジ８００をｚ方向へ移動させて、ネジ８００の先端面８９０を露出面９０８に接触させた状態を示した図である。つまり、図６（ａ）は、ネジ８００の上穴９１１への挿入が完了した状態を示した図である。図６（ａ）を参照して、制御部２０は、ネジ８００をｕ軸の正の向き（矢印７０１の向き）へ移動させる。位置Ｐ０は、先端面８９０の中心の位置を表している。言い換えれば、位置Ｐ０は、ネジ８００の軸の位置を表している。
【００７２】
図６（ｂ）は、図６（ａ）の状態からネジ８００をｕ軸の正の向きに移動させた後の状態を示した図である。図６（ｂ）を参照して、ネジ８００は、上穴９１１の側面に当たり停止する。その後、制御部２０は、ネジ８００をｕ軸の負の向き（矢印７０２の向き）へ移動させる。先端面８９０の中心の位置Ｐ１が、上述した位置Ｐα（第１の位置）に対応する。
【００７３】
図６（ｃ）は、図６（ｂ）の状態からネジ８００をｕ軸の負の向きに移動させた後の状態を示した図である。図６（ｃ）を参照して、ネジ８００は、上穴９１１の側面に当たり停止する。その後、制御部２０は、ネジ８００をｕ軸の正の向き（矢印７０３の向き）へ移動させる。先端面８９０の中心の位置Ｐ２が、上述した位置Ｐβ（第２の位置）に対応する。
【００７４】
図６（ｄ）は、図６（ｃ）の状態からネジ８００をｕ軸の正の向きに移動させた後の状態を示した図である。図６（ｄ）を参照して、制御部２０は、位置Ｐ１と位置Ｐ２との中間の位置Ｐ３まで、ネジ８００をｕ軸に沿って移動させる。位置Ｐ３が、上述した中間位置Ｐｍに該当する。
【００７５】
図６（ｄ）に示す状態になった後、距離算出部２２０は、位置Ｐ１と位置Ｐ２との間の距離（つまり、距離Ｌ１）を算出する。制御部２０は、当該距離Ｌ１と閾値Ｔｈ２とを比較する。制御部２０は、距離Ｌ１は閾値Ｔｈ２に比べて大きいため、ｕ軸を回転する処理に移る。
【００７６】
図７は、図６（ｄ）に続いて行なわれる探索を説明するための遷移図である。図７（ａ）は、図６（ｄ）で示した位置Ｐ３を起点とした、ネジ８００の移動を説明するための図である。図７（ａ）を参照して、変更部２３０は、位置Ｐ３を回転中心として、ｕ軸を図７（ａ）における反時計回りに７８．７５度回転させる。その後、制御部２０は、ネジ８００を、回転後のｕ軸の正の向き（矢印７０４の向き）へ移動させる。
【００７７】
なお、ｕ軸の回転角度は、７８．７５度に限定されるものではない。ただし、９０度以外の角度が好ましい。また、詳細については後述するが、制御部２０は、ｕ軸の回転にあわせて後述するｖ軸も回転させる。ｖ軸とｕ軸とのなす角度は、一定（本実施の形態では７８．７５度）である。
【００７８】
図７（ｂ）は、図７（ａ）の状態からネジ８００をｕ軸の正の向きに移動させた後の状態を示した図である。図７（ｂ）を参照して、ネジ８００は、ネジ穴９２１の側面に当たり停止する。その後、制御部２０は、ネジ８００をｕ軸の負の向き（矢印７０５の向き）へ移動させる。先端面８９０の中心の位置Ｐ４が、上述した位置Ｐα（第１の位置）に対応する。
【００７９】
図７（ｃ）は、図７（ｂ）の状態からネジ８００をｕ軸の負の向きに移動させた後の状態を示した図である。図７（ｃ）を参照して、ネジ８００は、ネジ穴９２１の側面に当たり停止する。その後、制御部２０は、ネジ８００をｕ軸の正の向き（矢印７０６の向き）へ移動させる。先端面８９０の中心の位置Ｐ５が、上述した位置Ｐβ（第２の位置）に対応する。
【００８０】
図７（ｄ）は、図７（ｃ）の状態からネジ８００をｕ軸の正の向きに移動させた後の状態を示した図である。図７（ｄ）を参照して、制御部２０は、位置Ｐ４と位置Ｐ５との中間の位置Ｐ６まで、ネジ８００をｕ軸に沿って移動させる。位置Ｐ６が、上述した中間位置Ｐｍに該当する。
【００８１】
図７（ｄ）に示す状態になった後、距離算出部２２０は、位置Ｐ４と位置Ｐ５との間の距離（つまり、距離Ｌ１）を算出する。制御部２０は、当該距離Ｌ１と閾値Ｔｈ２とを比較する。制御部２０は、距離Ｌ１は閾値Ｔｈ２に比べて小さいため、ネジ８００をｖ軸方向に移動させる処理に移る。
【００８２】
図８は、図７（ｄ）に続いて行なわれる探索を説明するための遷移図である。図８（ａ）は、図７（ｄ）で示した位置Ｐ６を起点とした、ネジ８００の移動を説明するための図である。図８（ａ）を参照して、制御部２０は、ネジ８００をｖ軸の正の向き（矢印７０７の向き）へ移動させる。なお、上述したように、ｖ軸とｕ軸とのなす角度は、７８．７５度である。
【００８３】
図８（ｂ）は、図８（ａ）の状態からネジ８００をｖ軸の正の向きに移動させた後の状態を示した図である。図８（ｂ）を参照して、ネジ８００は、ネジ穴９２１の側面に当たり停止する。その後、制御部２０は、ネジ８００をｖ軸の負の向き（矢印７０８の向き）へ移動させる。先端面８９０の中心の位置Ｐ７が、上述した位置Ｐγ（第３の位置）に対応する。
【００８４】
図８（ｃ）は、図８（ｂ）の状態からネジ８００をｖ軸の負の向きに移動させた後の状態を示した図である。図８（ｃ）を参照して、ネジ８００は、ネジ穴９２１の側面に当たり停止する。その後、制御部２０は、ネジ８００をｖ軸の正の向き（矢印７０９の向き）へ移動させる。先端面８９０の中心の位置Ｐ８が、上述した位置Ｐδ（第４の位置）に対応する。
【００８５】
図８（ｄ）は、図８（ｃ）の状態からネジ８００をｖ軸の正の向きに移動させた後の状態を示した図である。図８（ｄ）を参照して、制御部２０は、位置Ｐ７と位置Ｐ８との中間の位置Ｐ９まで、ネジ８００をｖ軸に沿って移動させる。位置Ｐ９が、上述した中間位置Ｐｎに該当する。
【００８６】
図８（ｄ）に示す状態になった後、距離算出部２２０は、位置Ｐ７と位置Ｐ８との間の距離（つまり、距離Ｌ２）を算出する。制御部２０は、当該距離Ｌ２と閾値Ｔｈ２とを比較する。制御部２０は、距離Ｌ２は閾値Ｔｈ２に比べて小さいため、位置Ｐ７と位置Ｐ８との中間の位置Ｐ９を、ネジ８００の締結位置と判断する。
【００８７】
自動組付け装置１は、位置Ｐ９においてネジ８００の締結処理を実行する。
＜制御構造＞
図９は、自動組付け装置１における処理の流れを示したフローチャートである。図９を参照して、ステップＳ２において、自動組付け装置１は、ネジ８００をワーク９００の上穴９１１内に挿入し、ネジ８００を露出面９０８に接触させる。ステップＳ４に含まれるステップＳ４２において、自動組付け装置１は、ネジ穴９２１の探索を開始する。ステップＳ４４において、自動組付け装置１は、上述した密閉空間への空気流入が発生しているか否かを判断する。
【００８８】
自動組付け装置１は、空気流入が発生していると判断すると（ステップＳ４４においてＹＥＳ）、処理をステップＳ１２に進める。自動組付け装置１は、空気流入が発生していないと判断すると（ステップＳ４４においてＮＯ）、ステップＳ４６において、探索開始位置からネジ８００を３ｍｍ以上移動させたか否かを判断する。自動組付け装置１が当該判断を行なう理由は、ネジ８００の無駄な移動を行なわないようにして、探索に要する時間を短くするためである。
【００８９】
自動組付け装置１は、３ｍｍ以上移動していると判断すると（ステップＳ４６においてＹＥＳ）、処理をステップＳ２０に進める。自動組み付け装置１は、３ｍｍ以上移動していないと判断すると（ステップＳ４６においてＮＯ）、ステップＳ４８において、ネジ穴９２１の探索に成功したか否かを判断する。
【００９０】
自動組付け装置１は、ネジ穴９２１の探索に成功したと判断すると（ステップＳ４８においてＹＥＳ）、ステップＳ６においてネジ締めを開始する。自動組付け装置１は、ネジ穴９２１の探索に失敗したと判断すると（ステップＳ４８においてＮＯ）、処理をステップＳ４４に進める。
【００９１】
ステップＳ８において、自動組付け装置１は、ネジ締めの工程において、エラーが発生したか否かを判断する。自動組付け装置１は、たとえば、ネジ締め開始後、１５００ｍｓｅｃ経過してもトルクが上昇しない場合には、エラーが発生していると判断する。
【００９２】
自動組付け装置１は、エラーが発生していないと判断すると（ステップＳ８においてＮＯ）、ステップＳ１０においてネジ締めに成功したか否かを判断する。自動組付け装置１は、たとえば、ネジ締め開始後、１５００ｍｓｅｃ以内にトルクが予め定められた値以上に上昇した場合、ネジ締めに成功したと判断する。
【００９３】
自動組付け装置１は、エラーが発生したと判断すると（ステップＳ８においてＹＥＳ）、ステップＳ２６において、ネジ締めドライバ１３５を一定時間（たとえば１５００ｍｓｅｃ）だけ逆回転させてネジ８００をネジ穴９０２から取りだし、ビット１３５１を５ｍｍ引き上げる。具体的には、自動組付け装置１は、ネジ締めドライバ１３５を逆転して、ワーク９００に突き刺さったネジ８００を回収してから、ビット１３５１を引き上げる。ステップＳ２８において、自動組付け装置１は、探索開始原点（たとえば図６における位置Ｐ０）に対してネジ締め位置と点対象となる位置にビット１３５１を移動させる。なお、ネジ８００がワーク９００に残っており、ビット１３５１から外れている場合には、ネジ８００の組付け処理を停止する。
【００９４】
ステップＳ１２において、自動組付け装置１は、前回の引き上げ距離が３ｍｍ未満かつ空気流入回数が３回未満であるか否かを判断する。なお、自動組付け装置１は、ビット１３５１を引き上げてもネジ８００が吸着できない場合は、空気漏れ無視モードに入る。自動組付け装置１は、距離が３ｍｍ未満でかつ流入回数が３回未満であると判断すると（ステップＳ１２においてＹＥＳ）、処理をステップＳ１４に進める。自動組付け装置１は、距離が３ｍｍ以上または流入回数が３回以上であると判断すると、ステップＳ２２において、前回の引き上げ距離が３ｍｍ未満かつ空気流入回数が５回未満であるか否かを判断する。
【００９５】
自動組付け装置１は、距離が３ｍｍ未満でかつ５回未満であると判断すると（ステップＳ２２においてＹＥＳ）、ステップＳ２４において、押圧力の設定値をデフォルトの６Ｎから８Ｎに変更する。押圧力を上昇させれば、ネジ８００のビット１３５１への取り付け状態を改善し、空気流入を減少させることができるためである。なお、当該設定値に基づき実際に押圧力を８Ｎとするのは、再度、処理をステップＳ２に戻す前である。自動組付け装置１は、距離が３ｍｍ以上または流入回数が５回以上であると判断すると（ステップＳ２２においてＮＯ）、処理をステップＳ４６に進める。自動組付け装置１が、処理をステップＳ４６に進める理由は、組付け処理における無限ループを回避するためである。
【００９６】
ステップＳ１４において、自動組付け装置１は、ネジ８００の姿勢を戻すために、ビット１３５１の引き上げを開始する。ステップＳ１６において、自動組付け装置１は、空気流入が停止したか否かを判断する。自動組付け装置１は、停止したと判断すると（ステップＳ１６においてＹＥＳ）、ステップＳ２０において、直前の探索開始位置にビット１３５１を移動する。自動組付け装置１は、ステップＳ２０の後、ステップＳ２に処理を進める。つまり、自動組付け装置１は、空気漏れが発生した場合は、途中で回復しても接触判定からやり直す。
【００９７】
自動組付け装置１は、停止していないと判断すると（ステップＳ１６においてＮＯ）、ステップＳ１８において、引き上げ距離が３ｍｍ以上であるか否かを判断する。自動組付け装置１は、３ｍｍ以上引き上げたと判断すると（ステップＳ１８においてＹＥＳ）、処理をステップＳ２に進める。自動組付け装置１は、３ｍｍ以上引き上げていないと判断すると（ステップＳ１８においてＮＯ）、処理をステップＳ１６に進める。
【００９８】
図１０は、図９におけるステップＳ４の処理の詳細を説明するためのフローチャートである。図１０を参照して、ステップＳ１０２において、自動組付け装置１は、ｕ軸の角度をｘｙ座標系のｙ軸に対して０度に（図６（ａ）参照）、ｖ軸の角度をｙ軸に対して７８．７５度に設定する。ステップＳ１０４において、自動組付け装置１は、ｕ軸の正の向きにビット１３５１を進める。ステップＳ１０６において、自動組付け装置１は、反力が閾値Ｔｈ１以上であるか否かを判断する。上穴９１１の側面にネジ８００が当たったか否かを判断するためである。
【００９９】
自動組付け装置１は、閾値Ｔｈ１以上であると判断すると（ステップＳ１０６においてＹＥＳ）、ステップＳ１０８において、ｕ軸の負の向きにビット１３５１を進める。自動組付け装置１は、閾値Ｔｈ１未満であると判断すると（ステップＳ１０６においてＮＯ）、処理をステップＳ１０４に進める。
【０１００】
ステップＳ１１０において、自動組付け装置１は、反力が閾値Ｔｈ１以上であるか否かを判断する。自動組付け装置１は、閾値Ｔｈ１以上であると判断すると（ステップＳ１１０においてＹＥＳ）、ステップＳ１１２において、中心位置にビット１３５１を進める。なお、「中心位置」とは、ステップＳ１０６において反力が閾値Ｔｈ１以上になった位置（上述した位置Ｐα）と、ステップＳ１１０において反力が閾値Ｔｈ１以上になった位置（上述した位置Ｐβ）との中間位置（上述した中間位置Ｐｍ）である。自動組付け装置１は、閾値Ｔｈ１未満であると判断すると（ステップＳ１１０においてＮＯ）、処理をステップＳ１０８に進める。
【０１０１】
ステップＳ１１４において、自動組付け装置１は、ｕ軸方向の両端点の距離が閾値Ｔｈ２以下であるか否かを判断する。つまり、自動組付け装置１は、ステップＳ１０６において反力が閾値Ｔｈ１以上になった位置（位置Ｐα）と、ステップＳ１１０において反力が閾値Ｔｈ１以上になった位置（位置Ｐβ）との間の距離（上述した距離Ｌ１）が閾値Ｔｈ２以下であるか否かを判断する。
【０１０２】
自動組付け装置１は、閾値Ｔｈ２以下であると判断すると（ステップＳ１１４においてＹＥＳ）、ステップＳ１１６において、自動組付け装置１は、ｖ軸の正の向きにビット１３５１を進める。自動組付け装置１は、閾値Ｔｈ２よりも大きいと判断すると（ステップＳ１１４においてＮＯ）、処理をステップＳ１２８に進める。
【０１０３】
ステップＳ１１８において、自動組付け装置１は、反力が閾値Ｔｈ１以上であるか否かを判断する。自動組付け装置１は、閾値Ｔｈ１以上であると判断すると（ステップＳ１１８においてＹＥＳ）、ステップＳ１２０において、ｖ軸の負の向きにビット１３５１を進める。自動組付け装置１は、閾値Ｔｈ１未満であると判断すると（ステップＳ１１８においてＮＯ）、処理をステップＳ１１６に進める。
【０１０４】
ステップＳ１２２において、自動組付け装置１は、反力が閾値Ｔｈ１以上であるか否かを判断する。自動組付け装置１は、閾値Ｔｈ１以上であると判断すると（ステップＳ１２２においてＹＥＳ）、ステップＳ１２４において、中心位置にビット１３５１を進める。なお、「中心位置」とは、ステップＳ１１８において反力が閾値Ｔｈ１以上になった位置（上述した位置Ｐγ）と、ステップＳ１２２において反力が閾値Ｔｈ１以上になった位置（上述した位置Ｐδ）との中間位置（上述した中間位置Ｐｎ）である。自動組付け装置１は、閾値Ｔｈ１未満であると判断すると（ステップＳ１２２においてＮＯ）、処理をステップＳ１２０に進める。
【０１０５】
ステップＳ１２６において、自動組付け装置１は、ｖ軸方向の両端点の距離が閾値Ｔｈ２以下であるか否かを判断する。つまり、自動組付け装置１は、ステップＳ１１８において反力が閾値Ｔｈ１以上になった位置（位置Ｐγ）と、ステップＳ１２２において反力が閾値Ｔｈ１以上になった位置（位置Ｐδ）との間の距離（上述した距離Ｌ２）が閾値Ｔｈ２以下であるか否かを判断する。
【０１０６】
自動組付け装置１は、閾値Ｔｈ２以下であると判断すると（ステップＳ１２６においてＹＥＳ）、ネジ穴９２１の探索に成功したとして、処理を図９のステップＳ６に進める。自動組付け装置１は、閾値Ｔｈ２よりも大きいと判断すると（ステップＳ１２６においてＮＯ）、ステップＳ１２９において、ｕ軸とｖ軸とを、ともに一定の向き（ｘｙ座標系において反時計回り）に一定の量（７８．７５度）だけ回転させ、その後さらに、ステップＳ１２８において、ｕ軸とｖ軸とを、ともに一定の向き（ｘｙ座標系において反時計回り）に一定の量（７８．７５度）だけ回転させる（図７（ａ）参照）。自動組付け装置１は、ステップＳ１２８の後は、処理をステップＳ１０４に進める。
【０１０７】
＜自動組付け装置１のまとめ＞
（１）以上のように、自動組付け装置１は、ワーク９００に対するネジ８００の組付け位置を探索する装置である。ワーク９００は、ネジ８００を挿入するための上穴９１１と、上穴９１１の底面９０８に形成されたネジ８００を組付けるためのネジ穴９２１とを有する。自動組付け装置１は、移動部２６０と、反力検出部２５０と、第１特定部２１１と、第２特定部２１２とを備える。
【０１０８】
移動部２６０は、ネジ８００に対する挿入方向（ｚ方向）への押圧力によってネジ８００と底面９０８とを接触させた状態で、ｕ軸方向における正の向きおよび負の向きと、ｖ軸方向における正の向きと負の向きとに、ネジ８００を移動させる。反力検出部２５０は、ｕ軸方向への移動とｖ軸方向への移動とによって生じるネジ８００に加わる反力を検出する。第１特定部２１１は、ｕ軸方向における正の向きにネジ８００を移動させたときに反力が閾値Ｔｈ１以上となる位置Ｐαと、位置Ｐαからｕ軸方向における負の向きにネジ８００を移動させたときに反力が閾値Ｔｈ１以上となる位置Ｐβとを特定する。第２特定部２１２は、ｖ軸方向における正の向きにネジ８００を移動させたときに反力が閾値Ｔｈ１以上となる位置Ｐγと、位置Ｐγからｖ軸方向における負の向きにネジ８００を移動させたときに反力が閾値Ｔｈ１以上となる位置Ｐδとを特定する。
【０１０９】
自動組付け装置１は、位置Ｐαと位置Ｐβとの間の距離Ｌ１が閾値Ｔｈ２未満の場合には、一連の処理Ｓαとして、位置Ｐαと位置Ｐβとの中間位置Ｐｍを起点としたｖ軸方向への移動と、第２特定部２１２による位置Ｐγおよび位置Ｐδの特定とを実行する。自動組付け装置１は、位置Ｐγと位置Ｐδとの間の距離Ｌ２が閾値Ｔｈ２未満の場合には、位置Ｐγと位置Ｐδとの中間位置Ｐｎを組付け位置と判断する。
【０１１０】
上記の構成によれば、自動組付け装置１は、ｕ軸方向への移動の際に閾値Ｔｈ１以上の反力を検出したことに基づき、ネジ穴９２１の探索時にネジが上穴９１１の側面に接触したことを検知できる。また、自動組付け装置１は、当該接触時の位置を用いて、ｕ軸方向における距離Ｌ１を検出できる。自動組付け装置１は、距離Ｌ１が閾値Ｔｈ２未満の場合には、ｖ軸方向への移動の際に閾値Ｔｈ１以上の反力を検出したことに基づき、ネジ穴９２１の探索時にネジが上穴９１１の側面に接触したことを検知できる。また、自動組付け装置１は、当該接触時の位置を用いて、ｖ軸方向における距離Ｌ２を検出できる。
【０１１１】
距離Ｌ１と距離Ｌ２とが共に閾値Ｔｈ２よりも小さいときには、ネジ８００の先端部がネジ穴９２１にかかっている状態を表している。このため、位置Ｐγと位置Ｐδとの中間位置Ｐｎが、ネジ８００の組付け位置と判断してもよい。
【０１１２】
それゆえ、自動組付け装置１は、上穴９１１とネジ穴９２１とがある場合に、ワークが位置および／または寸法のばらつきを有するときでも、ネジ８００の組付け位置を精度よく探索できる。
【０１１３】
（２）また、自動組付け装置１は、ｕ軸方向とｖ軸方向とを、それぞれ、一定の向きに一定量だけ変更する変更部２３０をさらに備える。自動組付け装置１は、距離Ｌ１が閾値Ｔｈ２以上の場合には、距離Ｌ１が閾値Ｔｈ２未満となるまで、変更部２３０によるｕ軸方向およびｖ軸方向の変更と、位置Ｐαと位置Ｐβとの中間位置Ｐｍを起点とした変更後のｕ軸方向への移動部２６０による移動と、反力検出部２５０による反力の検出と、第１特定部２１１による位置Ｐαおよび位置Ｐβの特定とを含む一連の処理Ｓβを繰り返す。自動組付け装置１は、一連の処理Ｓβによって距離Ｌ１が閾値Ｔｈ２未満となると、一連の処理Ｓαを実行する。自動組付け装置１は、一連の処理Ｓαにより特定された位置Ｐγと位置Ｐδとの間の距離Ｌ２が閾値Ｔｈ２未満の場合には、位置Ｐγと位置Ｐδとの中間位置Ｐｎを組付け位置と判断する。
【０１１４】
したがって、自動組付け装置１は、一連の処理Ｓβを繰り返すことにより、距離Ｌ１を閾値Ｔｈ２未満とできる。
【０１１５】
（３）また、自動組付け装置１は、距離Ｌ２が閾値Ｔｈ２以上の場合には、距離Ｌ１が再度閾値Ｔｈ２未満となるまで、一連の処理Ｓβを繰り返す。自動組付け装置１は、距離Ｌ１が再度閾値Ｔｈ２未満となると、一連の処理Ｓαを再度実行する。自動組付け装置１は、一連の処理Ｓαにより特定された位置Ｐγと位置Ｐδとの間の距離Ｌ２が閾値Ｔｈ２未満となった場合には、位置Ｐγと位置Ｐδとの中間位置Ｐｎを組付け位置と判断する。
【０１１６】
したがって、距離Ｌ２が閾値Ｔｈ２以上の場合となっても、自動組付け装置１は、一連の処理Ｓβを繰り返すことにより、距離Ｌ１を再度閾値Ｔｈ２未満とできる。
【０１１７】
（４）また、自動組付け装置１は、ｕ軸方向における正の向きへの移動距離が予め定められた距離（たとえば３ｍｍ）以上となると（図９のステップＳ４６においてＹＥＳ）、移動の中止と、変更部２３０によるｕ軸方向およびｖ軸方向の変更と、当該移動の開始位置を起点とした変更後のｕ軸方向への移動部２６０による移動と、反力検出部２５０による反力の検出と、第１特定部２１１による位置Ｐαおよび位置Ｐβの特定とを実行する。
【０１１８】
したがって、自動組付け装置１は、ネジ８００の無駄な移動を行なわないようにして、探索に要する時間を短くできる。
【０１１９】
（５）また、自動組付け装置１は、ネジ８００を負圧により吸着する吸着部２７０と、吸着によって形成された密閉空間への空気流入を検知する空気流入検知部２８０と、空気流入の回数をカウントするカウント部２４０と、空気流入の回数が予め定められた回数となると押圧力を上昇させる押圧力制御部２４５とを備える。
【０１２０】
したがって、自動組付け装置１は、ネジ８００の姿勢が基準となる姿勢からずれた場合であっても、基準となる姿勢に戻すことができる。
【０１２１】
＜制御部２０のハードウェア構成＞
図１１は、制御部２０として機能するコンピュータシステム３００のハードウェア構成を表わすブロック図である。
【０１２２】
コンピュータシステム３００は、主たる構成要素として、プログラムを実行するＣＰＵ３１０と、コンピュータシステム３００の使用者による指示の入力を受けるマウス３２０およびキーボード３３０と、ＣＰＵ３１０によるプログラムの実行により生成されたデータ、又はマウス３２０若しくはキーボード３３０を介して入力されたデータを揮発的に格納するＲＡＭ３４０と、データを不揮発的に格納するハードディスク３５０と、ＤＶＤ−ＲＯＭ駆動装置３６０と、モニタ３７０と、通信ＩＦ３８０とを含む。各構成要素は、相互にデータバスによって接続されている。ＤＶＤ−ＲＯＭ駆動装置３６０には、ＤＶＤ−ＲＯＭ３６１が装着される。
【０１２３】
コンピュータシステム３００における処理は、各ハードウェアおよびＣＰＵ３１０により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク３５０に予め記憶されている場合がある。また、ソフトウェアは、ＤＶＤ−ＲＯＭ３６１その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、ＤＶＤ−ＲＯＭ駆動装置３６０その他の読取装置によりその記憶媒体から読取られて、あるいは、通信ＩＦ３８０を介してダウンロードされた後、ハードディスク３５０に一旦格納される。そのソフトウェアは、ＣＰＵ３１０によってハードディスク３５０から読み出され、ＲＡＭ３４０に実行可能なプログラムの形式で格納される。ＣＰＵ３１０は、そのプログラムを実行する。
【０１２４】
同図に示されるコンピュータシステム３００を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、ＲＡＭ３４０、ハードディスク３５０、ＤＶＤ−ＲＯＭ３６１その他の記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、コンピュータシステム３００の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【０１２５】
なお、記録媒体としては、ＤＶＤ-ＲＯＭ、ＣＤ−ＲＯＭ、ＦＤ（Flexible Disk）、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク（ＭＯ（Magnetic Optical Disc）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc））、ＩＣ（Integrated Circuit）カード（メモリカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Electronically Programmable Read-Only Memory）、ＥＥＰＲＯＭ（Electronically Erasable Programmable Read-Only Memory）、フラッシュＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。
【０１２６】
ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【０１２７】
＜変形例＞
（１）上記においては、ｕ軸とｖ軸とを用いた、ネジ穴９２１の探索方法について説明したが、上穴９１１が真円に近い場合（図３に示すような場合）には、ｕ軸のみを考慮した探索を行なってもよい。当該構成により、ｕ軸とｖ軸とを探索する構成よりも処理を簡略化することができる。
【０１２８】
図１２は、ｕ軸のみを考慮した探索方法を行なう場合の処理の流れを示したフローチャートである。図１２を参照して、自動組付け装置１は、ステップＳ１０２Ａにおいて、ｕ軸の角度をｘｙ座標系のｙ軸に対して０度に設定する。自動組付け装置１は、ステップＳ１０２Ａの後は、図１０に示したステップＳ１０４〜ステップＳ１１４の処理を行なう。
【０１２９】
自動組付け装置１は、ｕ軸方向の両端点の距離が閾値Ｔｈ２以下であると判断したときには（ステップＳ１１４においてＹＥＳ）、ネジ穴９２１の探索に成功したと判断して、処理を、図９のステップＳ６に進める。自動組付け装置１は、閾値Ｔｈ２よりも大きいと判断した場合（ステップＳ１１４においてＮＯ）、ステップＳ１２８Ａにおいて、ｕ軸を一定の向き（ｘｙ座標系において反時計回り）に一定の量（７８．７５度）だけ回転させる。自動組付け装置１は、ステップＳ１２８Ａの後は、処理をステップＳ１０４に進める。
【０１３０】
（２）上記においては、自動組付け装置１がネジ８００をワーク９００に取り付ける処理を例に挙げて説明した。以下では、自動組付け装置が、挿入式の樹脂ピンをワークに挿入する処理を説明する。なお、説明の便宜上、挿入式の樹脂ピンをワークに挿入するための自動組付け装置を、「自動組付け装置１Ａ」と称する。
【０１３１】
図１３は、樹脂ピン６００をワーク９００Ａに挿入する処理を説明するための図である。図１３を参照して、自動組付け装置１Ａは、ネジ締めドライバ１３５の代わりに、把持機構１３９を持つ。ネジ供給機構１４はネジ８００の代わりに樹脂ピン６００を供給する機構である。ワーク９００Ａは２層の板状のワーク９３０，９４０からなる。ワーク９００Ａは、樹脂ピン６００を挿入するための上穴９３１（第１の凹部）と、上穴９３１の底面９０９に形成された樹脂ピン６００を組付けるためのネジ穴９４１（第２の凹部）とを有する。
【０１３２】
樹脂ピン６００は、板状の上部から下方向に固定用の爪が出た形状の樹脂製の固定ピンである。樹脂ピン６００をワーク９００Ａの穴に挿入すると爪の引っ掛かりによって、ワーク９３０とワーク９４０とが固定される。把持機構１３９は、真空吸着式の部品把持機構である。把持機構１３９の下面には樹脂ピン６００の上部と勘合する凹形状が形成されている。凹形状の内部に吸引用の真空源へと接続される穴が設けられている。
【０１３３】
自動組付け装置１Ａの制御動作は、図９に示したフローにてネジ締めドライバ１３５を操作してネジの回転を開始する処理を実行しないこと以外は、自動組付け装置１と同一である。このような自動組付け装置１Ａにより、挿入型の樹脂ピンを、位置ずれのある設置条件で、高信頼に自動挿入することができる。
【０１３４】
（３）図１０において、ステップＳ１０６における閾値とステップＳ１１０における閾値とは必ずしも一致してなくてもよい。また、ステップＳ１１８における閾値とステップＳ１２２における閾値とは必ずしも一致していなくてもよい。さらに、ステップＳ１０６，Ｓ１１０における閾値と、ステップＳ１１８，Ｓ１２２における閾値とは、必ずしも一致していなくてもよい。また、ステップＳ１１４における閾値と、ステップＳ１２６における閾値とは、必ずしも一致していなくてもよい。
【０１３５】
（４）ｕ軸およびｖ軸の回転方向は、ｘｙ座標系において、時計回りとしてもよい。
（５）図９のステップＳ４６およびステップＳ１８に示した数値“３ｍｍ”は、一例であって、これに限定されるものではない。また、ステップＳ２６における数値“５ｍｍ”も一例であって、これに限定されるものではない。ステップＳ１２，Ｓ２２に示した流入回数も一例であって、これに限定されるものではない。ステップＳ２４における押圧力の変化も、これに限定されるものではない。
【０１３６】
（６）また、上穴９１１の開口の形状も真円に限定されるものではない。当該形状は、楕円、矩形、真円を一定方向に移動したときに当該真円が通過する領域の形状（相対する直線と相対する半円とで囲まれた形状）であってもよい。
【０１３７】
（７）移動部２６０が部品の代わりにワークを部品とワークとが接触した状態で移動させるように、自動組付け装置１，１Ａを構成してもよい。
【０１３８】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０１３９】
本発明は、挿入部品の部品組付けを行なう自動組付け装置全般に利用可能である。
【符号の説明】
【０１４０】
１，１Ａ  自動組付け装置、１１  基部、１２  スカラロボット、１３  組付け部、１４  ネジ供給機構、２０  制御部、２１  ロボット制御部、２２  組付け制御部、１２１，１２２，１２３  リンク、１２８，１２９  関節、１３１，１３２，１３３  直動軸、１３４  力センサ、１３５  ネジ締めドライバ、１３６  ネジ吸着機構、１３９  把持機構、２１０  特定部、２１１  第１特定部、２１２  第２特定部、２２０  距離算出部、２３０  変更部、２４０  カウント部、２４５  押圧力制御部、２５０  反力検出部、２６０  移動部、２７０  吸着部、２８０  空気流入検知部、２９１  接触圧検出部、２９２  トルク検出部、３１０  ＣＰＵ、６００  樹脂ピン、８００  ネジ、８０１  頭部、８０２  先端部、８９０  先端面、９００，９００Ａ，９０１，９０２，９３０，９４０  ワーク、９０８  底面、９０９  底面、９１１  上穴、９２１，９４１  ネジ穴、９３１  穴、１３５１  ビット、１３６１  ゴム部材。
【図１】
2012143842.tif 000003
【図２】
2012143842.tif 000004
【図３】
2012143842.tif 000005
【図４】
2012143842.tif 000006
【図５】
2012143842.tif 000007
【図６】
2012143842.tif 000008
【図７】
2012143842.tif 000009
【図８】
2012143842.tif 000010
【図９】
2012143842.tif 000011
【図１０】
2012143842.tif 000012
【図１１】
2012143842.tif 000013
【図１２】
2012143842.tif 000014
【図１３】
2012143842.tif 000015