(57)【要約】【課題】ねじ穴の検査において、ねじゲージをねじ穴に容易かつ適確に締結することができるようにロボットを制御する制御装置、ロボットおよび制御方法を提供すること。【解決手段】力検出部が設けられたロボットアームを有するロボットを制御する制御装置であって、前記ロボットアームを作動し、前記ロボットアームの前記力検出部よりも先端側に設けられ、ねじ穴の検査に用いられ、ねじ部を有するねじゲージを移動させて前記ねじ部を前記ねじ穴と接触させた後、前記力検出部により前記ねじゲージに加わる力を検出し、前記力検出部の検出情報に基づいて、前記ねじ穴の軸方向と直交する方向の力制御を行い、前記ロボットアームを作動し、前記ねじゲージを移動させる制御部を備えることを特徴とする制御装置。【選択図】図１
2018202602.tif 000002
【特許請求の範囲】
【請求項１】
力検出部が設けられたロボットアームを有するロボットを制御する制御装置であって、
前記ロボットアームを作動し、前記ロボットアームの前記力検出部よりも先端側に設けられ、ねじ穴の検査に用いられ、ねじ部を有するねじゲージを移動させて前記ねじ部を前記ねじ穴と接触させた後、前記力検出部により前記ねじゲージに加わる力を検出し、前記力検出部の検出情報に基づいて、前記ねじ穴の軸方向と直交する方向の力制御を行い、前記ロボットアームを作動し、前記ねじゲージを移動させる制御部を備えることを特徴とする制御装置。
【請求項２】
前記制御部は、前記ねじ部を前記ねじ穴と接触させた後、前記ねじ部を前記ねじ穴に挿入する際、少なくとも一部の区間において、前記ロボットに対して前記軸方向の力制御を行わない請求項１に記載の制御装置。
【請求項３】
前記制御部は、前記ねじ穴に挿入された前記ねじ部を前記ねじ穴への挿入方向と反対方向に移動させる際、少なくとも一部の区間において、前記ロボットに対して前記軸方向の力制御を行う請求項１または２に記載の制御装置。
【請求項４】
前記制御部は、前記ねじゲージを前記軸周りに回転させる場合、前記ロボットアームにより回転させる請求項１ないし３のいずれか１項に記載の制御装置。
【請求項５】
前記ロボットアームは、複数のアームを有し、
前記制御部は、前記ロボットアームの最も先端の前記アームに設けられた前記力検出部に取り付けられた前記ねじゲージを回転させる請求項４に記載の制御装置。
【請求項６】
前記制御部は、前記ねじゲージを前記軸回りに回転させる場合、前記ロボットアームに設けられたモーターにより回転させる請求項１ないし３のいずれか１項に記載の制御装置。
【請求項７】
前記ロボットアームは、複数のアームを有し、
前記制御部は、前記ロボットアームの最も先端の前記アームに設けられた前記力検出部に対してオフセットしている前記モーターにより前記ねじゲージを回転させる請求項６に記載の制御装置。
【請求項８】
前記ロボットアームは、複数のアームを有し、
前記制御部は、前記ロボットアームの最も先端の前記アームの回動軸の軸方向から見て前記回動軸と重なっている前記ねじゲージを回転させる請求項１ないし７のいずれか１項に記載の制御装置。
【請求項９】
前記ねじ穴の深さ情報と前記ねじゲージの回転情報と前記力検出部の検出情報との少なくとも一つに基づいて、前記ねじ穴の合否を判定する判定部を有する請求項１ないし８のいずれか１項に記載の制御装置。
【請求項１０】
前記ねじ穴の通り側の検査において、前記ねじ穴が貫通したねじ穴の場合と非貫通のねじ穴の場合とで、前記ねじ穴の合否の判定の仕方が異なる請求項９に記載の制御装置。
【請求項１１】
力検出部が設けられたロボットアームを有し、
請求項１ないし１０のいずれか１項に記載の制御装置により制御されることを特徴とするロボット。
【請求項１２】
力検出部が設けられたロボットアームを有するロボットを制御する制御方法であって、
前記ロボットアームを作動し、前記ロボットアームの前記力検出部よりも先端側に設けられ、ねじ穴の検査に用いられ、ねじ部を有するねじゲージを移動させて前記ねじ部を前記ねじ穴と接触させる工程と、
前記力検出部により前記ねじゲージに加わる力を検出し、前記力検出部の検出情報に基づいて、前記ねじ穴の軸方向と直交する方向の力制御を行い、前記ロボットアームを作動し、前記ねじゲージを移動させる工程とを備えることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ロボットおよび制御方法に関するものである。
【背景技術】
【０００２】
ねじ穴の検査は、作業者が手作業でねじ用限界ゲージをねじ穴に挿入し、螺合して行っているが、近年、その検査の自動化が進んでいる。
【０００３】
特許文献１には、ねじ用限界ゲージを用いてねじ山（ねじ穴）を検査するねじ山検査装置が開示されている。
【０００４】
特許文献１に記載のねじ山検査装置では、往復手段によりねじ用限界ゲージを上下方向に移動させるとともに回転用モーターによりねじ用限界ゲージを回転させ、ねじ用限界ゲージをねじ穴に挿入し、螺合して、合否の判定を行う。具体的には、回転用モーターの負荷電流を検出し、判定パラメーターの１つである限界トルクを超えるトルクに相当する負荷電流が流れた場合は、回転用モーターの駆動を停止し、合否の判定を行う。また、負荷電流が限界トルクを超えない場合は、ねじ用限界ゲージの移動距離に基づいて、合否の判定を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２６１８０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載のねじ山検査装置では、下記の問題がある。
まず、ねじ用限界ゲージとねじ穴の位置とが完全に一致していないと、ねじ用限界ゲージがねじ穴に入らず、検査を行うことができない。
【０００７】
また、ねじ用限界ゲージやねじ山検査装置に偏心がある場合、ねじ用限界ゲージをねじ穴に螺合する際に、ねじ用限界ゲージでねじ穴を損傷、破壊してしまう虞がある。
【課題を解決するための手段】
【０００８】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００９】
本発明の制御装置は、力検出部が設けられたロボットアームを有するロボットを制御する制御装置であって、
前記ロボットアームを作動し、前記ロボットアームの前記力検出部よりも先端側に設けられ、ねじ穴の検査に用いられ、ねじ部を有するねじゲージを移動させて前記ねじ部を前記ねじ穴と接触させた後、前記力検出部により前記ねじゲージに加わる力を検出し、前記力検出部の検出情報に基づいて、前記ねじ穴の軸方向と直交する方向の力制御を行い、前記ロボットアームを作動し、前記ねじゲージを移動させる制御部を備えることを特徴とする。
【００１０】
このような本発明の制御装置によれば、容易かつ適確に、ねじゲージとねじ穴との位置合わせを行うことができ、容易かつ適確に、ねじゲージをねじ穴に挿入することができる。
【００１１】
本発明の制御装置では、前記制御部は、前記ねじ部を前記ねじ穴と接触させた後、前記ねじ部を前記ねじ穴に挿入する際、少なくとも一部の区間において、前記ロボットに対して前記軸方向の力制御を行わないことが好ましい。
【００１２】
これにより、ロボットに対して前記軸方向の力制御を行わない区間において、力検出部の前記軸方向の力の検出情報を他の制御に用いることができる。
【００１３】
本発明の制御装置では、前記制御部は、前記ねじ穴に挿入された前記ねじ部を前記ねじ穴への挿入方向と反対方向に移動させる際、少なくとも一部の区間において、前記ロボットに対して前記軸方向の力制御を行うことが好ましい。
【００１４】
これにより、ねじゲージがねじ穴を損傷させてしまうことを抑制することができ、また、円滑かつ適確に、ねじゲージを挿入方向と反対方向に移動させることができる。
【００１５】
本発明の制御装置では、前記制御部は、前記ねじゲージを前記軸周りに回転させる場合、前記ロボットアームにより回転させることが好ましい。
【００１６】
これにより、別途、ねじゲージを回転させる装置をロボットアームに取り付けることなく、ねじゲージを回転させることができ、これによって、ロボットの小型化を図ることができる。
【００１７】
本発明の制御装置では、前記ロボットアームは、複数のアームを有し、
前記制御部は、前記ロボットアームの最も先端の前記アームに設けられた前記力検出部に取り付けられた前記ねじゲージを回転させることが好ましい。
これにより、ねじゲージを回転させる制御を容易かつ適確に行うことができる。
【００１８】
本発明の制御装置では、前記制御部は、前記ねじゲージを前記軸回りに回転させる場合、前記ロボットアームに設けられたモーターにより回転させることが好ましい。
【００１９】
これにより、ロボットアームがねじゲージを回転させる必要がないので、ロボットアームに設けられた配線がロボットアームに巻き付くことを抑制することができる。
【００２０】
本発明の制御装置では、前記ロボットアームは、複数のアームを有し、
前記制御部は、前記ロボットアームの最も先端の前記アームに設けられた前記力検出部に対してオフセットしている前記モーターにより前記ねじゲージを回転させることが好ましい。
【００２１】
これにより、力検出部に対してモーターがオフセットしていない場合に比べて、ロボットアームの先端からねじゲージの先端までの長さを短くすることができ、ロボットの小型化を図ることができる。
【００２２】
本発明の制御装置では、前記ロボットアームは、複数のアームを有し、
前記制御部は、前記ロボットアームの最も先端の前記アームの回動軸の軸方向から見て前記回動軸と重なっている前記ねじゲージを回転させることが好ましい。
これにより、ねじゲージを回転させる制御を容易かつ適確に行うことができる。
【００２３】
本発明の制御装置では、前記ねじ穴の深さ情報と前記ねじゲージの回転情報と前記力検出部の検出情報との少なくとも一つに基づいて前記ねじ穴の合否を判定する判定部を有することが好ましい。
【００２４】
これにより、別途、ねじ穴の合否を判定する装置を用意する必要がなく、ねじ穴の検査を行うことができる。
【００２５】
本発明の制御装置では、前記ねじ穴の通り側の検査において、前記ねじ穴が貫通したねじ穴の場合と非貫通のねじ穴の場合とで、前記ねじ穴の合否の判定の仕方が異なることが好ましい。
【００２６】
これにより、貫通したねじ穴と非貫通のねじ穴とのそれぞれで、適確に検査を行うことができる。
【００２７】
本発明のロボットは、力検出部が設けられたロボットアームを有し、
本発明の制御装置により制御されることを特徴とする。
【００２８】
このような本発明のロボットによれば、容易かつ適確に、ねじゲージとねじ穴との位置合わせを行うことができ、容易かつ適確に、ねじゲージをねじ穴に挿入することができる。
【００２９】
本発明の制御方法は、力検出部が設けられたロボットアームを有するロボットを制御する制御方法であって、
前記ロボットアームを作動し、前記ロボットアームの前記力検出部よりも先端側に設けられ、ねじ穴の検査に用いられ、ねじ部を有するねじゲージを移動させて前記ねじ部を前記ねじ穴と接触させる工程と、
前記力検出部により前記ねじゲージに加わる力を検出し、前記力検出部の検出情報に基づいて、前記ねじ穴の軸方向と直交する方向の力制御を行い、前記ロボットアームを作動し、前記ねじゲージを移動させる工程とを備えることを特徴とする。
【００３０】
このような本発明の制御方法によれば、容易かつ適確に、ねじゲージとねじ穴との位置合わせを行うことができ、容易かつ適確に、ねじゲージをねじ穴に挿入することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明のロボットの第１実施形態と、その第１実施形態のロボットを備えるロボットシステムとを示す側面図である。
【図２】図１に示すロボットシステムのブロック図である。
【図３】図１に示すロボットシステムのエンドエフェクターの斜視図である。
【図４】図１に示すロボットシステムのエンドエフェクターのねじ用限界ゲージの側面図である。
【図５】図１に示すロボットシステムの制御装置のねじ穴の検査の際の制御動作を示すフローチャートである。
【図６】図１に示すロボットシステムの制御装置のねじ穴の検査の際の制御動作を示すフローチャートである。
【図７】図１に示すロボットシステムが行うねじ穴の検査を説明するための図である。
【図８】図１に示すロボットシステムが行うねじ穴の検査を説明するための図である。
【図９】図１に示すロボットシステムが行うねじ穴の検査を説明するための図である。
【図１０】図１に示すロボットシステムが行うねじ穴の検査を説明するための図である。
【図１１】図１に示すロボットシステムが行うねじ穴の検査の際に力検出部により検出されたｚ軸方向の力を示すグラフである。
【図１２】図１に示すロボットシステムの表示装置に表示されるウィンドウを示す図である。
【図１３】本発明のロボットの第２実施形態と、その第２実施形態のロボットを備えるロボットシステムとを示す側面図である。
【図１４】図１３に示すロボットシステムの制御装置のねじ穴の検査の際の制御動作を示すフローチャートである。
【図１５】図１３に示すロボットシステムの制御装置のねじ穴の検査の際の制御動作を示すフローチャートである。
【図１６】第３実施形態におけるねじ穴の検査を説明するための図である。
【図１７】第３実施形態におけるねじ穴の検査の際の制御装置の制御動作を示すフローチャートである。
【図１８】第３実施形態におけるねじ穴の検査の際の制御装置の制御動作を示すフローチャートである。
【図１９】第４実施形態におけるエンドエフェクターの斜視図である。
【図２０】第４実施形態におけるエンドエフェクターの正面図である。
【発明を実施するための形態】
【００３２】
以下、本発明の制御装置、ロボットおよび制御方法を添付図面に示す実施形態に基づいて詳細に説明する。
【００３３】
＜第１実施形態＞
図１は、本発明のロボットの第１実施形態と、その第１実施形態のロボットを備えるロボットシステムとを示す側面図である。図２は、図１に示すロボットシステムのブロック図である。図３は、図１に示すロボットシステムのエンドエフェクターの斜視図である。図４は、図１に示すロボットシステムのエンドエフェクターのねじ用限界ゲージの側面図である。図５および図６は、それぞれ、図１に示すロボットシステムの制御装置のねじ穴の検査の際の制御動作を示すフローチャートである。図７〜図１０は、それぞれ、図１に示すロボットシステムが行うねじ穴の検査を説明するための図である。図１１は、図１に示すロボットシステムが行うねじ穴の検査の際に力検出部により検出されたｚ軸方向の力を示すグラフである。図１２は、図１に示すロボットシステムの表示装置に表示されるウィンドウを示す図である。なお、図１では、表示装置４１および入力装置４２の図示は省略されている。
【００３４】
また、図１、図７〜図１０では、説明の便宜上、互いに直交する３軸として、ｘ軸、ｙ軸およびｚ軸を図示している。また、以下では、ｘ軸に平行な方向を「ｘ軸方向」とも言い、ｙ軸に平行な方向を「ｙ軸方向」とも言い、ｚ軸に平行な方向を「ｚ軸方向」とも言う。また、以下では、図示された各矢印の先端側を「＋（プラス）」、基端側を「−（マイナス）」と言い、＋ｘ軸方向に平行な方向を「＋ｘ軸方向」とも言い、−ｘ軸方向に平行な方向を「−ｘ軸方向」とも言い、＋ｙ軸方向に平行な方向を「＋ｙ軸方向」とも言い、−ｙ軸方向に平行な方向を「−ｙ軸方向」とも言い、＋ｚ軸方向に平行な方向を「＋ｚ軸方向」とも言い、−ｚ軸方向に平行な方向を「−ｚ軸方向」とも言う。また、ｚ軸周りの方向およびｚ軸に平行な軸周りの方向を「ｕ軸方向」とも言う。これらは、他の実施形態でも同様である。
【００３５】
また、以下では、説明の便宜上、図１中の＋ｚ軸方向（ｚ軸方向＋側）（上側）を「上」、−ｚ軸方向（ｚ軸方向−側）（下側）を「下」とも言う。また、ロボットアーム２０については、図１中の基台２１側を「基端」、その反対側（エンドエフェクター７側）を「先端」と言う。また、図１中のｚ軸方向（上下方向）を「鉛直方向」とし、ｘ軸方向およびｙ軸方向（左右方向）を「水平方向」とする。また、ねじ用限界ゲージの中心軸と、第３回動軸Ｏ３と、ｚ軸とは、一致または平行であるとする。また、本明細書において、「水平」とは、完全に水平な場合のみならず、水平に対して±５°以内で傾斜している場合も含む。同様に、本明細書において、「鉛直」とは、完全に鉛直な場合のみならず、鉛直に対して±５°以内で傾斜している場合も含む。また、本明細書において、「平行」とは、２つの線（軸を含む）または面が、互いに完全な平行である場合のみならず、±５°以内で傾斜している場合も含む。また、本明細書において、「一致」とは、２つの線（軸を含む）または面が、互いに完全な一致している場合のみならず、±５°以内で傾斜している場合も含む。また、本明細書において、「直交」とは、２つの線（軸を含む）または面が、互いに完全な直交である場合のみならず、±５°以内で傾斜している場合も含む。これらは、他の実施形態でも同様である。
【００３６】
図１および図２に示すロボットシステム１００は、例えば、電子部品および電子機器等のワーク（対象物）の保持、搬送、組立ておよび検査等の作業で用いられる装置である。ロボットシステム１００は、制御装置１と、ロボット２と、エンドエフェクター７と、表示装置４１（表示部）と、入力装置４２（入力部）とを備えている。
【００３７】
また、本実施形態では、制御装置１は、その全部がロボット２に内蔵されている。すなわち、制御装置１とロボット２とが一体で構成されている。
【００３８】
なお、制御装置１は、その全部がロボット２に内蔵されている構成に限定されず、例えば、制御装置１の一部がロボット２に内蔵されていてもよく、また、制御装置１は、ロボット２と別体で構成されていてもよい。
【００３９】
また、ロボット２と制御装置１とは、ケーブル（配線）で電気的に接続（以下、単に「接続」とも言う）され、有線方式で通信を行うようになっていてもよく、また、前記ケーブルを省略し、無線方式で通信を行うようになっていてもよい。すなわち、ロボット２と制御装置１とは、有線通信で接続されていてもよく、また、無線通信で接続されていてもよい。
【００４０】
＜ロボット＞
ロボット２の種類は、特に限定されないが、本実施形態では、ロボット２は、水平多関節ロボットの１例であるスカラーロボットである。
【００４１】
図１に示すように、ロボット２は、基台２１と、第１アーム２２と、第２アーム２３と、作業ヘッド２４と、筐体２５と、配管２６とを備えている。第１アーム２２、第２アーム２３および作業ヘッド２４等によりロボットアーム２０が構成される。
【００４２】
また、筐体２５は、基台２１の上部に連結されている。また、配管２６の一端部は、筐体２５に連結され、他端部は、第２アーム２３に連結されており、配管２６内には、各配線が配置されている。
【００４３】
また、ロボット２は、第１アーム２２を基台２１に対して回動（駆動）させる駆動部２８０と、第２アーム２３を第１アーム２２に対して回動させる駆動部２８０と、作業ヘッド２４のシャフト２４１を第２アーム２３に対して回動させる駆動部２８０と、シャフト２４１を第２アーム２３に対してｚ軸方向に移動させる駆動部２８０と、各駆動部２８０を駆動するモータードライバー（図示せず）とを備えている。
【００４４】
各駆動部２８０は、それぞれ、駆動力を発生するモーター（図示せず）とモーターの駆動力を減速する減速機（図示せず）とを備えている。駆動部２８０が有するモーターとしては、例えば、ＡＣサーボモーター、ＤＣサーボモーター等のサーボモーターを用いることができる。また、駆動部２８０が有する減速機としては、例えば、遊星ギア型の減速機、波動歯車装置等を用いることができる。また、各駆動部２８０には、それぞれ、モーターまたは減速機の回転軸の回転角度を検出する位置センサー２８１（角度センサー）が設けられている。また、各駆動部２８０は、それぞれ、対応するモータードライバー（図示せず）に接続されており、モータードライバーを介して制御装置１のロボット制御部１１により制御される。なお、各駆動部２８０では、それぞれ、減速機は省略されていてもよい。
【００４５】
また、基台２１は、例えば、図示しない床面にボルト等によって固定されている。基台２１の上端部には第１アーム２２が連結されている。第１アーム２２は、基台２１に対して鉛直方向に沿う第１回動軸Ｏ１周りに回動可能となっている。第１アーム２２を回動させる駆動部２８０が駆動すると、第１アーム２２が基台２１に対して第１回動軸Ｏ１周りに水平面内で回動する。また、位置センサー２８１により、基台２１に対する第１アーム２２の駆動（回動量）が検出できるようになっている。
【００４６】
また、第１アーム２２の先端部には、第２アーム２３が連結されている。第２アーム２３は、第１アーム２２に対して鉛直方向に沿う第２回動軸Ｏ２周りに回動可能となっている。第１回動軸Ｏ１の軸方向と第２回動軸Ｏ２の軸方向とは同一である。すなわち、第２回動軸Ｏ２は、第１回動軸Ｏ１と平行である。第２アーム２３を回動させる駆動部２８０が駆動すると、第２アーム２３が第１アーム２２に対して第２回動軸Ｏ２周りに水平面内で回動する。また、位置センサー２８１により、第１アーム２２に対する第２アーム２３の駆動（回動量）が検出できるようになっている。
【００４７】
また、第２アーム２３の先端部には、シャフト２４１（スプラインシャフト）を有する作業ヘッド２４が設置されている。シャフト２４１は、第２アーム２３に対して、鉛直方向に沿う第３回動軸Ｏ３（第３回転軸）周りに回動（回転）可能であり、かつ、上下方向（ｚ軸方向の両方向）（鉛直方向の両方向）に移動（昇降）可能となっている。このシャフト２４１は、ロボットアーム２０の第３アームであり、ロボットアーム２０の最も先端のアームである。
【００４８】
シャフト２４１を回動させる駆動部２８０が駆動すると、シャフト２４１は、ｚ軸周りに正逆回転（回動）する。また、位置センサー２８１により、第２アーム２３に対するシャフト２４１の回転量が検出できるようになっている。
【００４９】
また、シャフト２４１をｚ軸方向に移動させる駆動部２８０が駆動すると、シャフト２４１は、上下方向（ｚ軸方向に移動）に移動する。また、位置センサー２８１により、第２アーム２３に対するシャフト２４１のｚ軸方向の移動量が検出できるようになっている。
【００５０】
また、シャフト２４１の先端部（下端部）には、各種のエンドエフェクターが着脱可能に連結される（取り付けられる）。エンドエフェクターとしては、特に限定されず、例えば、被搬送物を把持するもの、被加工物を加工するもの、検査に使用するもの等が挙げられる。本実施形態では、エンドエフェクター７が着脱可能に連結される。エンドエフェクター７については、後に詳述する。
【００５１】
なお、エンドエフェクター７は、本実施形態では、ロボット２の構成要素になっていないが、エンドエフェクター７の一部（例えば、力検出部２９０）または全部がロボット２の構成要素になっていてもよい。また、エンドエフェクター７は、本実施形態では、ロボットアーム２０の構成要素になっていないが、エンドエフェクター７の一部（例えば、力検出部２９０）または全部がロボットアーム２０の構成要素になっていてもよい。
【００５２】
＜エンドエフェクター＞
図１、図３および図４に示すように、エンドエフェクター７は、力検出部２９０と、力検出部２９０に取り付けられた取り付け部７１（フレーム）と、取り付け部７１に設けられたモーター７２と、モーター７２の回転軸に、着脱可能に同心的に取り付けられたねじ用限界ゲージ３（ねじゲージ）とを有している。このエンドエフェクター７では、力検出部２９０が、直接または図示しない連結部材を介して、シャフト２４１の先端部に着脱可能に連結される。したがって、ねじ用限界ゲージ３は、ロボットアーム２０の力検出部２９０よりも先端側に設けられている。また、シャフト２４１の中心軸、すなわち、第３回動軸Ｏ３と、モーター７２の回転軸と、ねじ用限界ゲージ３の中心軸とは、一致している。すなわち、第３回動軸Ｏ３の軸方向から見て、第３回動軸Ｏ３と、モーター７２と、ねじ用限界ゲージ３とは重なっている。
【００５３】
また、ねじ用限界ゲージ３は、ねじゲージの１例であり、柱状の把持部３１と、把持部３１の一端部に設けられ、雄ねじが形成された通り側ゲージ３２（ねじ部）と、把持部３１の他端部に設けられ、雄ねじが形成された止まり側ゲージ３３（ねじ部）とを有している。このねじ用限界ゲージ３は、通り側ゲージ３２を使用する場合は、止まり側ゲージ３３が設けられた把持部３１の端部をモーター７２の回転軸に取り付け、通り側ゲージ３２を先端側に配置する。また、止まり側ゲージ３３を使用する場合は、通り側ゲージ３２が設けられた把持部３１の端部をモーター７２の回転軸に取り付け、止まり側ゲージ３３を先端側に配置する。
【００５４】
また、通り側ゲージ３２は、ねじ穴８２、８３（図７、図１６参照）の有効径の検査、具体的には、有効径が基準値に対して小さ過ぎないことを確認する検査に用いられるものである。通り側ゲージ３２を用いて行う検査の具体例を挙げると、通り側ゲージ３２をねじ穴８２、８３にねじ込んだとき、所定の長さ以上（例えば、ねじ穴８２、８３の全長に亘って）ねじ込むことができた場合、「合格」とする。
【００５５】
また、止まり側ゲージ３３は、通り側ゲージ３２よりも径が大きく、ねじ穴８２、８３の有効径の検査、具体的には、有効径が基準値に対して大き過ぎないことを確認する検査に用いられるものである。止まり側ゲージ３３を用いて行う検査の具体例を挙げると、止まり側ゲージ３３をねじ穴８２、８３にねじ込んだとき、所定の回転回数（例えば、２回転）以上（または所定の回転回数を超えて）ねじ込まれない場合、「合格」とする。
【００５６】
また、モーター７２としては、特に限定されないが、例えば、ＡＣサーボモーター、ＤＣサーボモーター等のサーボモーター、ステッピングモーター等が用いられる。
【００５７】
また、エンドエフェクター７は、モーター７２の回転軸の回転角度を検出する図示しない位置センサー（角度センサー）を有しており、その位置センサーにより、モーター７２の回転軸の回転角度が検出できるようになっている。
【００５８】
また、力検出部２９０は、例えば、ねじ用限界ゲージ３に加わる力（モーメントを含む）を検出する力覚センサー（例えば、６軸力覚センサー）等で構成されている。なお、本実施形態では、力検出部２９０はエンドエフェクター７の構成要素であるが、これに限定されず、ロボット２またはロボットアーム２０の構成要素であってもよい。
【００５９】
このエンドエフェクター７では、モーター７２の回転軸とねじ用限界ゲージ３との間に歯車やベルト等の動力伝達機構が介在している場合に比べて、バックラッシュによる回転精度の低下を抑制することができる。
【００６０】
なお、ねじ用限界ゲージ３は、このような構成のものに限定されず、例えば、通り側ゲージのみを有するねじ用限界ゲージと、止まり側ゲージのみを有するねじ用限界ゲージとを付け替えて使用する構成のものであってもよい。
【００６１】
また、本実施形態では、エンドエフェクター７は、ロボットアーム２０に対して着脱可能であるが、これに限定されず、例えば、エンドエフェクター７は、ロボットアーム２０から離脱不能になっていてもよく、また、力検出部２９０がロボットアーム２０から離脱不能になっていてもよい。
【００６２】
＜制御装置＞
図２に示すように、制御装置１は、ロボット制御部１１（制御部）と、モーター制御部１２（エンドエフェクター制御部）と、表示制御部１３と、記憶部１４と、受付部１５と、判定部１６とを備えており、ロボット２、エンドエフェクター７のモーター７２および表示装置４１等、ロボットシステム１００の各部の駆動（作動）をそれぞれ制御する。ロボット制御部１１およびモーター制御部１２により、本発明の制御装置における「制御部」が構成される。また、ロボット制御部１１は、ロボット２の駆動を制御し、さらに、モーター制御部１２に対して指令（命令）を送り、モーター制御部１２は、その指令に基づいてモーター７２の駆動を制御する。すなわち、ロボット制御部１１は、モーター７２の駆動を制御する機能を備えているとも言うことができる。この場合は、ロボット制御部１１により、本発明の制御装置における「制御部」が構成される。
【００６３】
また、制御装置１は、ロボット制御部１１と、モーター制御部１２と、表示制御部１３と、記憶部１４と、受付部１５と、判定部１６との間で、それぞれ、通信可能に構成されている。すなわち、ロボット制御部１１と、モーター制御部１２と、表示制御部１３と、記憶部１４と、受付部１５と、判定部１６とは、互いに、有線または無線通信で接続（以下、単に「接続」とも言う）されている。
【００６４】
また、制御装置１には、ロボット２と、表示装置４１と、入力装置４２と、エンドエフェクター７（モーター７２、力検出部２９０、図示しない位置センサー）とが、それぞれ、有線または無線通信で接続されている。
【００６５】
すなわち、制御装置１のロボット制御部１１には、ロボット２と、力検出部２９０とが、それぞれ、有線または無線通信で接続されている。また、制御装置１のモーター制御部１２には、モーター７２およびモーター７２の回転軸の回転角度を検出する位置センサー（図示せず）が有線または無線通信で接続されている。また、制御装置１の表示制御部１３には、表示装置４１が有線または無線通信で接続されている。また、制御装置１の受付部１５には、入力装置４２が有線または無線通信で接続されている。
【００６６】
（ロボット制御部）
ロボット制御部１１は、ロボット２の駆動、すなわち、ロボットアーム２０等の駆動を制御する。ロボット制御部１１は、プログラム（ＯＳ等）がインストールされたコンピューターである。このロボット制御部１１は、例えば、プロセッサーとしてのＣＰＵと、ＲＡＭと、プログラムが記憶されたＲＯＭとを有する。また、ロボット制御部１１の機能は、例えば、ＣＰＵにより各種プログラムを実行することにより実現することができる。
【００６７】
（モーター制御部）
モーター制御部１２は、モーター７２の駆動を制御する。モーター制御部１２は、プログラム（ＯＳ等）がインストールされたコンピューターである。このモーター制御部１２は、例えば、プロセッサーとしてのＣＰＵと、ＲＡＭと、プログラムが記憶されたＲＯＭとを有する。また、モーター制御部１２の機能は、例えば、ＣＰＵにより各種プログラムを実行することにより実現することができる。
【００６８】
（表示制御部）
表示制御部１３は、表示装置４１に各種の画像（ウィンドウ等の各種の画面等を含む）や文字等を表示させる機能を有している。すなわち、表示制御部１３は、表示装置４１の駆動を制御する。この表示制御部１３の機能は、例えばＧＰＵ等により実現することができる。
【００６９】
（判定部）
判定部１６は、ねじ穴８２、８３（雌ねじ）の検査において、ねじ穴８２、８３の合否を判定する。本実施形態では、判定部１６は、ねじ穴８２の深さ情報とねじ用限界ゲージ３（ねじゲージ）の回転情報と力検出部２９０の検出情報との少なくとも一つに基づいて、ねじ穴８２の合否を判定する。判定部１６は、例えば、プロセッサーとしてのＣＰＵと、ＲＡＭと、プログラムが記憶されたＲＯＭとを有する。また、判定部１６の機能は、例えば、ＣＰＵにより各種プログラムを実行することにより実現することができる。なお、判定部１６は、ロボット制御部１１の構成要素であってもよい。
【００７０】
（記憶部）
記憶部１４は、各種の情報（データやプログラム等を含む）を記憶する機能を有する。この記憶部１４は、制御プログラム等を記憶する。記憶部１４の機能は、ＲＯＭ等やいわゆる外部記憶装置（図示せず）によって実現することができる。
【００７１】
（受付部）
受付部１５は、入力装置４２からの入力を受け付ける機能を有している。この受付部１５の機能は、例えばインターフェース回路によって実現することができる。なお、例えばタッチパネルを用いる場合には、受付部１５は、ユーザーの指のタッチパネルへの接触等を検知する入力検知部としての機能を有する。
【００７２】
＜表示装置＞
表示装置４１は、例えば、液晶ディスプレイ、ＥＬディスプレイ等で構成されたモニター（図示せず）を備えており、例えば、各種の画像（ウィンドウ等の各種の画面等を含む）や文字等を表示する機能を有する。
【００７３】
＜入力装置＞
入力装置４２は、例えば、マウスやキーボード等で構成されている。したがって、ユーザーは、入力装置４２を操作することで、制御装置１に対して各種の処理等の指示を行うことができる。
【００７４】
具体的には、ユーザーは、表示装置４１に表示される各種画面（ウィンドウ等）に対して入力装置４２のマウスでクリックする操作や、入力装置４２のキーボードで文字や数字等を入力する操作により、制御装置１に対する指示を行うことができる。以下、このユーザーによる入力装置４２を用いた指示（入力装置４２による入力）を「操作指示」とも言う。この操作指示は、入力装置４２により、表示装置４１に表示された内容から所望の内容を選択する選択操作や、入力装置４２により、文字や数字等を入力する入力指示等を含む。また、入力には、選択も含まれる。
【００７５】
なお、本実施形態では、表示装置４１および入力装置４２の代わりに、表示装置４１および入力装置４２（表示部および入力部）を兼ね備えた表示入力装置（図示せず）を設けてもよい。表示入力装置としては、例えばタッチパネル（静電式タッチパネルや感圧式タッチパネル）等を用いることができる。また、入力装置４２は、音（音声を含む）を認識する構成であってもよい。
【００７６】
＜ロボットシステムにおける制御の基本＞
制御装置１は、作業（例えば、検査）において、各位置センサー２８１、力検出部２９０の出力、すなわち、各位置センサー２８１の検出情報（検出結果）、力検出部２９０の検出情報（検出結果）等に基づいて、ロボット２の駆動（動作）を位置制御、力制御等で制御する。
【００７７】
位置制御とは、ロボット２のロボットアーム２０の先端部またはエンドエフェクター７の位置や姿勢に関する情報に基づいて、ロボットアーム２０の先端部またはエンドエフェクター７を目標の位置に目標の姿勢になるように移動させるロボット２の動作の制御である。また、ロボットアーム２０の先端部またはエンドエフェクター７の位置や姿勢に関する情報は、各位置センサー２８１の検出情報に基づいて求めることが可能である。
【００７８】
また、力制御とは、力検出部２９０により力の検出を行い、力検出部２９０の検出情報に基づいて、ロボットアーム２０の先端部またはエンドエフェクター７の位置や姿勢を変更したり、また、エンドエフェクター７を押したり、引っ張ったりするロボット２の動作の制御である。力制御には、例えば、インピーダンス制御等が含まれている。
【００７９】
インピーダンス制御は、倣い制御を含む。まず、簡単に説明すると、インピーダンス制御では、ロボットアーム２０の先端部に加わる力を可能な限り所定の力に維持、すなわち、力検出部２９０により検出される所定方向の力を可能な限り目標値（０も含む）に維持するようにロボットアーム２０（ロボット２）の動作を制御する。これにより、例えば、ロボットアーム２０（ロボット２）に対してインピーダンス制御を行うと、ロボットアーム２０は、エンドエフェクター７が対象物に対し、前記所定方向について倣う動作を行う。
【００８０】
また、より詳しく説明すると、ロボット２のインピーダンス制御のモデルは、例えば、下記（Ａ）式に示す運動方程式で表すことができる。
ｆ（ｔ）＝ｍｘ’’＋ｃｘ’＋ｋｘ      ・・・（Ａ）
【００８１】
前記（Ａ）式において、ｍは、質量（慣性）、ｃは、粘性係数、ｋは、弾性（剛性）係数、ｆ（ｔ）は、力、ｘは、目標位置からの変位（位置）である。また、ｘの１次微分、すなわち、ｘ’は、速度に対応し、ｘの２次微分、すなわち、ｘ’’は、加速度に対応する。なお、以下では、ｍ、ｃおよびｋをそれぞれ単に、「パラメーター」とも言う。
【００８２】
インピーダンス制御では、前記（Ａ）式の特性をロボットアーム２０の先端部に持たせるための制御系を構成する。すなわち、前記（Ａ）式で表される仮想質量、仮想粘性係数、仮想弾性係数を、あたかもロボットアーム２０の先端部が持っているかのように制御を行う。
【００８３】
また、前記（Ａ）式におけるパラメーターｍ、ｃおよびｋは、それぞれ、特に限定されず、諸条件に基づいて適宜設定される。すなわち、パラメーターｍ、ｃおよびｋは、それぞれ、ロボット２が行う作業に応じて都合のよい値に設定される。
【００８４】
このロボットシステム１００は、例えば、制御装置１の制御の下、所定の対象物等に対して作業を行う。本実施形態では、ねじ穴８２の検査を行う。このねじ穴８２の検査では、ロボット２は、エンドエフェクター７のねじ用限界ゲージ３をねじ穴８２に締結（挿入）する。
【００８５】
また、図１２に示すように、ねじ穴８２の検査の際は、表示装置４１に、検査用のウィンドウ５（設定用画面）が表示される。このウィンドウ５には、入力用のテキストボックス５１、５２、５３、５４と、「完了」と表示されたボタン５５（アイコン）とが、それぞれ、表示される。テキストボックス５１は、ねじ穴８２（雌ねじ）の呼び径を入力する機能を有している。また、テキストボックス５２は、ねじ穴８２の種類、すなわち、ねじ穴８２が並目と細目とのいずれであるかを入力する機能を有している。また、テキストボックス５３は、ねじ穴８２の深さの規格値の上限値（上限）を入力する機能を有している。また、テキストボックス５４は、ねじ穴８２の深さの規格値の下限値（下限）を入力する機能を有している。
【００８６】
まず、ユーザーは、表示装置４１に表示されたウィンドウ５において、テキストボックス５１、５２、５３、５４、５５に、それぞれ、ねじ穴８２の対応する情報（条件）を入力する操作指示を行う。ここで、本発明で、「入力」は、「選択」を含む。
【００８７】
具体的には、テキストボックス５１に、ねじ穴８２（ねじ）の呼び径（例えば、「Ｍ１」）を入力する。また、テキストボックス５２に、ねじ穴８２の種類、すなわち、ねじ穴８２が並目と細目とのいずれであるか（例えば、「並目」）を入力する。また、テキストボックス５３に、ねじ穴８２の深さの規格値の上限値（上限）を入力する。また、テキストボックス５４に、ねじ穴８２の深さの規格値の下限値（下限）を入力する。
【００８８】
次に、ユーザーは、「完了」と表示されたボタン５５に対する操作指示を行う。
制御装置１の受付部１５がユーザーによるボタン５５に対する操作指示を受け付けると、制御装置１、例えば、ロボット制御部１１は、ねじ穴８２の検査のプログラム（検査プログラム）を生成する。そして、制御装置１は、そのプログラムを実行して、ロボット２等の駆動を制御し、ねじ穴８２の検査を行う。
【００８９】
次に、図５〜図１０に基づいて、ワーク８１に形成されたねじ穴８２の検査におけるロボットシステム１００の動作（制御装置１の制御動作）について説明する。
【００９０】
まず、検査対象のねじ穴８２（雌ねじ）は、ワーク８１に形成された有底（非貫通）のねじ穴である。このねじ穴８２の軸方向は、本実施形態では、ｚ軸方向と一致している。また、ねじ穴８２の入口には、＋ｚ軸方向に向かって内径が漸増するようにテーパー（傾斜面）が形成されている。なお、テーパーは省略されていてもよい。
【００９１】
また、本実施形態では、ねじ穴８２の検査の際、ロボットアーム２０によりねじ用限界ゲージ３を回転させるのではなく、ロボットアーム２０に設けられたエンドエフェクター７のモーター７２によりねじ用限界ゲージ３を回転させる。以下、この方式を「モーター方式」と言う。
【００９２】
まず、ねじ穴８２の検査における制御方法は、ロボットアーム２０を作動し、ねじ用限界ゲージ３（ねじゲージ）を移動させてねじ用限界ゲージ３の通りゲージ３２（または止まり側ゲージ３３）をねじ穴８２と接触させる工程（第１工程）と、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向およびｙ軸方向の力を検出し、力検出部２９０の検出情報に基づいて、ロボット２（ロボットアーム２０）に対してｘ軸方向およびｙ軸方向（ねじ穴８２の軸方向と直交する方向）の力制御を行い、ロボットアーム２０を作動し、ねじ穴８２の軸方向（ｚ軸方向）と直交する方向における力、すなわち、ｘ軸方向およびｙ軸方向における力が減少するようにねじ用限界ゲージ３を移動させる工程（第２工程）とを備えている。なお、本実施形態では、ｘ軸方向およびｙ軸方向において力制御を行っているが、力制御の方向は、ねじ穴８２の軸を法線とする平面内における任意の方向でよい。
【００９３】
次に、ねじ穴８２の通り側の検査におけるロボットシステム１００の動作について説明する。
【００９４】
まず、ロボット２（ロボットアーム２０）を動作（作動）させ、ねじ用限界ゲージ３の通り側ゲージ３２の先端（下端）をねじ穴８２の上空に移動させる（図５に示すステップＳ１０１）。このステップＳ１０１では、ロボット２（ロボットアーム２０）に対して力制御は行わずに、位置制御を行う。また、後述するステップＳ１０２以降では、ロボット２に対して位置制御および力制御を行う。
【００９５】
次いで、図７に示すように、ロボット２を動作させ、すなわち、シャフト２４１を下降させ、通り側ゲージ３２の先端をねじ穴８２に接触させる（ステップＳ１０２）（制御方法における第１工程）。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｚ軸方向の力を検出し、ｚ軸方向について力制御（インピーダンス制御）を行ってロボット２を動作させる。また、力制御のｚ軸方向の目標力は、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、例えば、２Ｎである。これにより、通り側ゲージ３２の先端がねじ穴８２の入口（＋ｚ軸方向の開口）に接触する。
【００９６】
なお、力制御に代えて、例えば、位置制御でねじ用限界ゲージ３をｚ軸方向に移動させ、力検出部２９０により、ｚ軸方向において所定の力（例えば、２Ｎ）を検出した場合に停止するようにしてもよい。
【００９７】
次いで、図８に示すように、ロボット２を動作させ、通り側ゲージ３２の先端をねじ穴８２の入口に倣わせる（ステップＳ１０３）（制御方法における第２工程）。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向およびｙ軸方向の力を検出し、力検出部２９０の検出情報（検出結果）に基づいて、ねじ穴８２の軸方向と直交する方向、すなわち、ｘ軸方向およびｙ軸方向における力が減少するようにねじ用限界ゲージ３を移動させる。具体的には、ねじ穴８２の軸方向と直交する方向、すなわち、ｘ軸方向およびｙ軸方向についてそれぞれ力制御（インピーダンス制御）を行ってロボット２を動作させる。また、力制御のｘ軸方向およびｙ軸方向の目標力は、それぞれ、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、例えば、０Ｎである。これにより、ねじ用限界ゲージ３がねじ用限界ゲージ３に加わるｘ軸方向およびｙ軸方向の力が減少する方向に移動し、通り側ゲージ３２の先端の中心がねじ穴８２の入口の中心に移動する。すなわち、ｚ軸方向から見て、通り側ゲージ３２がねじ穴８２内に配置される。
【００９８】
ここで、ステップＳ１０３では、通り側ゲージ３２の先端は、ねじ穴８２の入口のテーパーに何度か当たりながらｘ−ｙ平面内における移動方向を換えてｘ軸方向およびｙ軸方向に移動し、これにより、通り側ゲージ３２の先端の中心は、ねじ穴８２の入口の中心に徐々に接近し、ｚ軸方向から見て、通り側ゲージ３２がねじ穴８２内に配置される。
【００９９】
具体的には、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向およびｙ軸方向の力を検出しつつ、通り側ゲージ３２の先端をｘ軸方向およびｙ軸方向に移動させてねじ穴８２の入口のテーパーに当てる。
【０１００】
次に、力検出部２９０の検出情報に基づいて、ｘ−ｙ平面内における移動方向を換えてねじ用限界ゲージ３を移動させ、かつ、ねじ用限界ゲージ３を−ｚ軸方向に若干移動させることで、再度、通り側ゲージ３２の先端をねじ穴８２の入口のテーパーに当てる。これにより、通り側ゲージ３２の先端の中心は、ねじ穴８２の入口の中心に接近する。このような動作を複数回行うことにより、通り側ゲージ３２の先端の中心は、ねじ穴８２の入口の中心に徐々に接近してゆき、最終的には、ｚ軸方向から見て、通り側ゲージ３２がねじ穴８２内に配置される。
【０１０１】
なお、ねじ穴８２の入口にテーパーが形成されていない場合は、例えば、通り側ゲージ３２をｘ軸方向およびｙ軸方向に移動させてねじ穴８２を探る探り動作等を行って、通り側ゲージ３２をねじ穴８２内に配置させる。
【０１０２】
次いで、通り側ゲージ３２の先端のｚ軸方向の現在の位置を初期位置として記憶部１４に記憶する（ステップＳ１０４）。
【０１０３】
次いで、モーター７２を駆動して、通り側ゲージ３２が締まる方向にねじ用限界ゲージ３を回転させる動作を開始する（ステップＳ１０５）。
【０１０４】
次いで、シャフト２４１を下降させる（ステップＳ１０６）。ねじ用限界ゲージ３の回転と、シャフト２４１の下降とにより、通り側ゲージ３２がねじ穴８２に螺合し、通り側ゲージ３２の先端がねじ穴８２の底に向って（通り側ゲージ３２が締まる方向に）移動する。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向、ｙ軸方向およびｚ軸方向の力を検出し、ｘ軸方向、ｙ軸方向およびｚ軸方向についてそれぞれ力制御（インピーダンス制御）を行い、また、ｚ軸方向について位置制御を行ってロボット２を動作させる。また、力制御のｘ軸方向、ｙ軸方向およびｚ軸方向の目標力は、それぞれ、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、ｘ軸方向、ｙ軸方向およびｚ軸方向の目標力は、それぞれ、例えば、０Ｎである。これにより、通り側ゲージ３２がねじ穴８２を損傷させてしまうことを抑制することができ、また、円滑かつ適確に、通り側ゲージ３２を締まる方向に移動させることができる。このステップＳ１０６は、ねじ用限界ゲージ３が所定回数回転（例えば、半回転）するまで実行する。なお、本区間において、ｚ軸方向についての力制御を省略してもよい。
【０１０５】
次いで、引き続きシャフト２４１を下降させる（ステップＳ１０７）。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向およびｙ軸方向の力を検出し、ｘ軸方向およびｙ軸方向についてそれぞれ力制御（インピーダンス制御）を行い、また、ｚ軸方向について位置制御を行ってロボット２を動作させる。この場合、本区間では、ｚ軸方向については力制御を行わない。また、力制御のｘ軸方向およびｙ軸方向の目標力は、それぞれ、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、例えば、０Ｎである。これにより、通り側ゲージ３２がねじ穴８２を損傷させてしまうことを抑制することができ、また、円滑かつ適確に、通り側ゲージ３２を締まる方向に移動させることができる。また、力検出部２９０によりｚ軸方向の力を検出し、ｚ軸方向において所定の力（例えば、３Ｎ）を検出すると、シャフト２４１およびモーター７２を停止させる。このようにして、図９に示すように、通り側ゲージ３２の先端がねじ穴８２の底に接触する。すなわち、通り側ゲージ３２がねじ穴８２に締結される。なお、通り側ゲージ３２の先端がねじ穴８２の底に到達しない場合もある。また、このステップＳ１０７では、ｚ軸方向について力制御を行わないので、力検出部２９０のｚ軸方向の力の検出情報を他の制御に用いることができる。具体的には、ｚ軸方向において所定の力を検出することをシャフト２４１およびモーター７２の停止条件としている。
【０１０６】
次いで、通り側ゲージ３２の先端のｚ軸方向の現在の位置を停止位置として記憶部１４に記憶する（ステップＳ１０８）。
【０１０７】
次いで、初期位置と停止位置とに基づいて、ねじ穴８２の深さ（ｚ軸方向の長さ）を求める（ステップＳ１０９）。このねじ穴８２の深さは、初期位置から停止位置を減算して求め、測定値として記憶部１４に記憶する。
【０１０８】
次いで、ねじ穴８２の深さの測定値と、ねじ穴８２の深さの規格値（規定値）の上限値および下限値とに基づいて、ねじ穴８２の通り側について、合否を判定する。
【０１０９】
すなわち、ねじ穴８２の深さの測定値がねじ穴８２の深さの規格値の範囲内であるか否かを判断し（ステップＳ１１０）、範囲内であれば、「合格」と判定し（ステップＳ１１１）、範囲外であれば、「不合格」と判定する（ステップＳ１１２）。
【０１１０】
このねじ穴８２の通り側の検査結果は、記憶部１４に記憶され、必要に応じて、表示装置４１により表示される。
【０１１１】
次いで、モーター７２を駆動して、通り側ゲージ３２が外れる方向にねじ用限界ゲージ３を回転させる動作を開始する（ステップＳ１１３）。
【０１１２】
次いで、シャフト２４１を上昇させる（ステップＳ１１４）。ねじ用限界ゲージ３の回転と、シャフト２４１の上昇とにより、ねじ用限界ゲージ３は、通り側ゲージ３２がねじ穴８２から外れる方向（緩む方向）に移動する。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向、ｙ軸方向およびｚ軸方向の力を検出し、ｘ軸方向、ｙ軸方向およびｚ軸方向についてそれぞれ力制御（インピーダンス制御）を行い、また、ｚ軸方向について位置制御を行ってロボット２を動作させる。また、力制御のｘ軸方向、ｙ軸方向およびｚ軸方向の目標力は、それぞれ、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、ｘ軸方向、ｙ軸方向およびｚ軸方向の目標力は、それぞれ、例えば、０Ｎである。これにより、通り側ゲージ３２がねじ穴８２を損傷させてしまうことを抑制することができ、また、円滑かつ適確に、通り側ゲージ３２を外す方向に移動させることができる。このようにして、図１０に示すように、通り側ゲージ３２の先端が初期位置よりもｚ軸方向＋側に所定距離（例えば、０．２ｍｍ）離間した位置に到達するまで、ねじ用限界ゲージ３を移動させ、シャフト２４１およびモーター７２を停止させる。なお、本区間のうちの一部の区間または全区間において、ｚ軸方向についての力制御を省略してもよい。以上で、このプログラムを終了する。
【０１１３】
次に、ねじ穴８２の止まり側の検査におけるロボットシステム１００の動作について説明する。
【０１１４】
まず、図６に示すステップＳ２０１〜ステップＳ２０６は、前述したステップＳ１０１〜ステップＳ１０６において、通り側ゲージ３２を止まり側ゲージ３３に代える他は、ステップＳ１０１〜ステップＳ１０６と同様であり、その説明は省略する。
【０１１５】
ステップＳ２０６に引き続きシャフト２４１を下降させる（ステップＳ２０７）。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向およびｙ軸方向の力を検出し、ｘ軸方向およびｙ軸方向についてそれぞれ力制御（インピーダンス制御）を行い、また、ｚ軸方向について位置制御を行ってロボット２を動作させる。また、力制御のｘ軸方向およびｙ軸方向の目標力は、それぞれ、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、例えば、０Ｎである。これにより、止まり側ゲージ３３がねじ穴８２を損傷させてしまうことを抑制することができ、また、円滑かつ適確に、止まり側ゲージ３３を締まる方向に移動させることができる。また、力検出部２９０によりｚ軸方向の力を検出し、ｚ軸方向において所定の力（例えば、３Ｎ）を検出すると、シャフト２４１およびモーター７２を停止させる。このようにして、ねじ用限界ゲージ３は、止まり側ゲージ３３の先端がねじ穴８２の底に到達する前に停止するか、または、止まり側ゲージ３３の先端がねじ穴８２の底に到達して停止する。また、このステップＳ２０７では、ｚ軸方向について力制御を行わないので、力検出部２９０のｚ軸方向の力の検出情報を他の制御に用いることができる。具体的には、ｚ軸方向において所定の力を検出することをシャフト２４１およびモーター７２の停止条件としている。
【０１１６】
次いで、止まり側ゲージ３３の先端のｚ軸方向の現在の位置を停止位置として記憶部１４に記憶する（ステップＳ２０８）。
【０１１７】
次いで、初期位置と停止位置とのｚ軸方向の距離を求める（ステップＳ２０９）。このステップＳ２０９では、初期位置から停止位置を減算し、その減算値を記憶部１４に記憶する。
【０１１８】
次いで、初期位置と停止位置とのｚ軸方向の距離に基づいて、ねじ穴８２の止まり側について、合否を判定する。
【０１１９】
すなわち、初期位置と停止位置とのｚ軸方向の距離がねじ穴８２のリードの２倍未満であるか否かを判断し（ステップＳ２１０）、ねじ穴８２のリードの２倍未満であれば、「合格」と判定し（ステップＳ２１１）、ねじ穴８２のリードの２倍以上であれば、「不合格」と判定する（ステップＳ２１２）。ねじ穴８２のリードとは、ねじ用限界ゲージ３（止まり側ゲージ３３）がねじ穴８２に対して１回転したときに、ねじ用限界ゲージ３がねじ穴８２に対して進む距離を言う。なお、合否の閾値の「２倍」は、１例であり、他の値に設定してもよい。
【０１２０】
このねじ穴８２の止まり側の検査結果は、記憶部１４に記憶され、必要に応じて、表示装置４１により表示される。
【０１２１】
なお、本実施形態では、ねじ穴８２の止まり側について、初期位置と停止位置とのｚ軸方向の距離に基づいて合否を判定しているが、これに限らず、例えば、ねじ用限界ゲージ３（止まり側ゲージ３３）の回転回数（回転量）に基づいて、合否を判定してもよい。具体的には、止まり側ゲージ３３の先端が初期位置から停止位置に移動するまでにねじ用限界ゲージ３が回転する回数（回転量）を求め、そのねじ用限界ゲージ３が回転する回数が２回転未満であるか否かを判断し、２回転未満であれば、「合格」と判定し、２回転以上であれば、「不合格」と判定する。なお、合否の閾値の「２回転」は、１例であり、他の値に設定してもよい。
【０１２２】
また、ステップＳ２１３およびステップＳ２１４は、前述したステップＳ１１３およびステップＳ１１４において、通り側ゲージ３２を止まり側ゲージ３３に代える他は、ステップＳ１１３およびステップＳ１１４と同様であり、その説明は省略する。以上で、このプログラムを終了する。
【０１２３】
このねじ穴８２の通り側の検査では、ねじ用限界ゲージ３に加わるｚ軸方向の力は、例えば、図１１に示すように推移する。図１１に示すグラフにおいて、「底に到達」と記載されたピークは、シャフト２４１を下降させたときに、ねじ用限界ゲージ３の通り側ゲージ３２の先端がねじ穴８２の底に到達したときのｚ軸方向の力を示している。
【０１２４】
以上説明したように、ロボットシステム１００によれば、容易かつ適確に、ねじ用限界ゲージ３とねじ穴８２との位置合わせを行うことができ、容易かつ適確に、ねじ用限界ゲージ３の通りゲージ３２や止まり側ゲージ３３をねじ穴８２に挿入することができる。
【０１２５】
また、ねじ用限界ゲージ３の通りゲージ３２や止まり側ゲージ３３をねじ穴８２に挿入する際およびねじ穴８２から外す際、ねじ用限界ゲージ３がねじ穴８２を損傷させてしまうことを抑制することができる。
【０１２６】
以上説明したように、制御装置１は、力検出部２９０が設けられたロボットアーム２０を有するロボット２を制御する装置である。
【０１２７】
制御装置１は、ロボットアーム２０を作動し、ロボットアーム２０の力検出部２９０よりも先端側に設けられ、ねじ穴８２の検査に用いられ、通り側ゲージ３２および止まり側ゲージ３３（ねじ部）を有するねじ用限界ゲージ３（ねじゲージ）を移動させて通り側ゲージ３２（または止まり側ゲージ３３）（ねじ部）をねじ穴８２と接触させた後、力検出部２９０によりねじ用限界ゲージ３（ねじゲージ）に加わる力を検出し、力検出部２９０の検出情報に基づいて、ねじ穴８２の軸方向と直交する方向の力制御を行い、ロボットアーム２０を作動し、ねじ用限界ゲージ３（ねじゲージ）を移動させるロボット制御部１１（制御部）を備えている。なお、ロボット制御部１１およびモーター制御部１２とで制御部を構成してもよい。また、力検出部２９０は、ロボットアーム２０に着脱可能に設けられていてもよく、また、離脱不能に設けられていてもよい。
【０１２８】
このような制御装置１によれば、容易かつ適確に、ねじ用限界ゲージ３とねじ穴８２との位置合わせを行うことができ、容易かつ適確に、ねじ用限界ゲージ３をねじ穴８２に挿入することができる。
【０１２９】
また、ロボット制御部１１（制御部）は、通り側ゲージ３２（または止まり側ゲージ３３）（ねじ部）をねじ穴８２と接触させた後、通り側ゲージ３２（または止まり側ゲージ３３）（ねじ部）をねじ穴８２に挿入する際、少なくとも一部の区間において、ロボット２に対してねじ穴８２の軸方向の力制御を行わない。
【０１３０】
これにより、ロボット２に対してねじ穴８２の軸方向の力制御を行わない区間において、力検出部２９０のねじ穴８２軸方向の力の検出情報を他の制御に用いることができる。
【０１３１】
また、ロボット制御部１１（制御部）は、ねじ穴８２に挿入された通り側ゲージ３２（または止まり側ゲージ３３）（ねじ部）をねじ穴８２への挿入方向と反対方向に移動させる際、少なくとも一部の区間において、ロボット２に対してねじ穴８２の軸方向の力制御を行う。
【０１３２】
これにより、ねじ用限界ゲージ３がねじ穴８２を損傷させてしまうことを抑制することができ、また、円滑かつ適確に、ねじ用限界ゲージ３を挿入方向と反対方向に移動させることができる。
【０１３３】
また、ロボット制御部１１（制御部）は、ねじ用限界ゲージ３（ねじゲージ）をねじ穴８２の軸回りに回転させる場合、ロボットアーム２０に設けられたモーター７２により回転させる。
【０１３４】
これにより、ロボットアーム２０がねじ用限界ゲージ３を回転させる必要がないので、ロボットアーム２０に設けられた配線がロボットアーム２０に巻き付くことを抑制することができる。
【０１３５】
また、ロボットアーム２０は、第１アーム２２と、第２アーム２３と、シャフト２４１を備える作業ヘッド２４と（複数のアーム）を有している。ロボット制御部１１（制御部）は、ロボットアーム２０の最も先端のアームの１例であるシャフト２４１の回動軸（第３回動軸Ｏ３）と中心軸が一致しているねじ用限界ゲージ３（ねじゲージ）を回転させる。
【０１３６】
これにより、ねじ用限界ゲージ３を回転させる制御を容易かつ適確に行うことができる。
【０１３７】
また、制御装置１は、ねじ穴８２の深さ情報とねじ用限界ゲージ３（ねじゲージ）の回転情報と力検出部２９０の検出情報との少なくとも一つに基づいてねじ穴８２の合否を判定する判定部１６を有する。
【０１３８】
これにより、別途、ねじ穴８２の合否を判定する装置を用意する必要がなく、ねじ穴８２の検査を行うことができる。
【０１３９】
また、ロボット２は、力検出部２９０が設けられたロボットアーム２０を有し、制御装置１により制御される。
【０１４０】
このようなロボット２によれば、容易かつ適確に、ねじ用限界ゲージ３とねじ穴８２との位置合わせを行うことができ、容易かつ適確に、ねじ用限界ゲージ３をねじ穴に挿入することができる。
【０１４１】
また、制御方法は、力検出部２９０が設けられたロボットアーム２０を有するロボット２を制御する制御方法である。
【０１４２】
この制御方法は、ロボットアーム２０を作動し、ロボットアーム２０の力検出部２９０よりも先端側に設けられ、ねじ穴８２の検査に用いられ、通り側ゲージ３２および止まり側ゲージ３３（ねじ部）を有するねじ用限界ゲージ３（ねじゲージ）を移動させて通り側ゲージ３２（または止まり側ゲージ３３）（ねじ部）をねじ穴８２と接触させる工程（第１工程）と、力検出部２９０によりねじ用限界ゲージ３（ねじゲージ）に加わる力を検出し、力検出部２９０の検出情報に基づいて、ねじ穴８２の軸方向と直交する方向の力制御を行い、ロボットアーム２０を作動し、ねじ用限界ゲージ３（ねじゲージ）を移動させる工程（第２工程）とを備える。
【０１４３】
このような制御方法によれば、容易かつ適確に、ねじ用限界ゲージ３とねじ穴８２との位置合わせを行うことができ、容易かつ適確に、ねじ用限界ゲージ３をねじ穴８２に挿入することができる。
【０１４４】
＜第２実施形態＞
図１３は、本発明のロボットの第２実施形態と、その第２実施形態のロボットを備えるロボットシステムとを示す側面図である。
【０１４５】
図１４および図１５は、それぞれ、図１３に示すロボットシステムの制御装置の検査の際の制御動作を示すフローチャートである。
【０１４６】
以下、第２実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
【０１４７】
図１３に示すように、第２実施形態では、エンドエフェクター７Ａが、シャフト２４１の先端部に着脱可能に連結される。
【０１４８】
エンドエフェクター７Ａは、力検出部２９０と、力検出部２９０に取り付けられた取り付け部７３と、取り付け部７３に着脱可能に取り付けられたねじ用限界ゲージ３とを有している。すなわち、エンドエフェクター７Ａは、モーターを有していない。このエンドエフェクター７Ａでは、力検出部２９０が、直接または図示しない連結部材を介して、シャフト２４１の先端部に着脱可能に連結される。また、シャフト２４１の中心軸、すなわち、第３回動軸Ｏ３と、ねじ用限界ゲージ３の中心軸とは、一致している。すなわち、第３回動軸Ｏ３の軸方向から見て、第３回動軸Ｏ３と、ねじ用限界ゲージ３とは重なっている。
【０１４９】
次に、図７〜図１０、図１４、図１５に基づいて、ワーク８１に形成されたねじ穴８２の検査におけるロボットシステム１００の動作（制御装置１の制御動作）について説明する。
【０１５０】
まず、検査対象のねじ穴８２は、ワーク８１に形成された有底（非貫通）のねじ穴である。
【０１５１】
また、本実施形態では、ねじ穴８２の検査の際、ロボットアーム２０によりねじ用限界ゲージ３を回転させる。以下、この方式を「ロボット方式」と言う。
【０１５２】
まず、ねじ穴８２の通り側の検査におけるロボットシステム１００の動作について説明する。
【０１５３】
まず、ロボット２を動作させ、ねじ用限界ゲージ３の通り側ゲージ３２の先端をねじ穴８２の上空に移動させる（図１４に示すステップＳ３０１）。このステップＳ３０１では、ロボット２に対して力制御は行わずに、位置制御を行う。また、後述するステップＳ３０２以降では、ロボット２に対して位置制御および力制御を行う。
【０１５４】
次いで、図７に示すように、ロボット２を動作させ、すなわち、シャフト２４１を下降させ、通り側ゲージ３２の先端をねじ穴８２に接触させる（ステップＳ３０２）（制御方法における第１工程）。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｚ軸方向の力を検出し、ｚ軸方向について力制御（インピーダンス制御）を行ってロボット２を動作させる。また、力制御のｚ軸方向の目標力は、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、例えば、２Ｎである。これにより、通り側ゲージ３２の先端がねじ穴８２の入口に接触する。
【０１５５】
なお、力制御に代えて、例えば、位置制御でねじ用限界ゲージ３をｚ軸方向に移動させ、力検出部２９０により、ｚ軸方向において所定の力（例えば、２Ｎ）を検出した場合に停止するようにしてもよい。
【０１５６】
次いで、図８に示すように、ロボット２を動作させ、通り側ゲージ３２の先端をねじ穴８２の入口に倣わせる（ステップＳ３０３）（制御方法における第２工程）。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向およびｙ軸方向の力を検出し、力検出部２９０の検出情報に基づいて、ねじ穴８２の軸方向と直交する方向、すなわち、ｘ軸方向およびｙ軸方向における力が減少するようにねじ用限界ゲージ３を移動させる。具体的には、ねじ穴８２の軸方向と直交する方向、すなわち、ｘ軸方向およびｙ軸方向についてそれぞれ力制御（インピーダンス制御）を行ってロボット２を動作させる。また、力制御のｘ軸方向およびｙ軸方向の目標力は、それぞれ、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、例えば、０Ｎである。これにより、ねじ用限界ゲージ３がねじ用限界ゲージ３に加わるｘ軸方向およびｙ軸方向の力が減少する方向に移動し、通り側ゲージ３２の先端の中心がねじ穴８２の入口の中心に移動する。すなわち、ｚ軸方向から見て、通り側ゲージ３２がねじ穴８２内に配置される。
【０１５７】
次いで、通り側ゲージ３２の先端のｚ軸方向の現在の位置を初期位置として記憶部１４に記憶するステップＳ３０４）。
【０１５８】
次いで、シャフト２４１を所定方向に回転させつつ下降させる（ステップＳ３０５）。前記所定方向は、通り側ゲージ３２が締まる方向である。これにより、ねじ用限界ゲージ３が回転し、そのねじ用限界ゲージ３の回転と、シャフト２４１の下降とにより、通り側ゲージ３２がねじ穴８２に螺合し、通り側ゲージ３２の先端がねじ穴８２の底に向って（通り側ゲージ３２が締まる方向に）移動する。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向、ｙ軸方向およびｚ軸方向の力を検出し、ｘ軸方向、ｙ軸方向およびｚ軸方向についてそれぞれ力制御（インピーダンス制御）を行い、また、ｚ軸方向およびｕ軸方向（ｚ軸周りの方向）についてそれぞれ位置制御を行ってロボット２を動作させる。また、力制御のｘ軸方向、ｙ軸方向およびｚ軸方向の目標力は、それぞれ、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、ｘ軸方向、ｙ軸方向およびｚ軸方向の目標力は、それぞれ、例えば、０Ｎである。これにより、通り側ゲージ３２がねじ穴８２を損傷させてしまうことを抑制することができ、また、円滑かつ適確に、通り側ゲージ３２を締まる方向に移動させることができる。このステップＳ３０５は、ねじ用限界ゲージ３が所定回数回転（例えば、半回転）するまで実行する。なお、本区間において、ｚ軸方向についての力制御を省略してもよい。
【０１５９】
次いで、引き続きシャフト２４１を所定方向に回転させつつ下降させる（ステップＳ３０５）。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向およびｙ軸方向の力を検出し、ｘ軸方向およびｙ軸方向についてそれぞれ力制御（インピーダンス制御）を行い、また、ｚ軸方向およびｕ軸方向（ｚ軸周りの方向）についてそれぞれ位置制御を行ってロボット２を動作させる。この場合、本区間では、ｚ軸方向については力制御を行わない。また、力制御のｘ軸方向およびｙ軸方向の目標力は、それぞれ、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、例えば、０Ｎである。これにより、通り側ゲージ３２がねじ穴８２を損傷させてしまうことを抑制することができ、また、円滑かつ適確に、通り側ゲージ３２を締まる方向に移動させることができる。また、力検出部２９０によりｚ軸方向の力を検出し、ｚ軸方向において所定の力（例えば、３Ｎ）を検出すると、シャフト２４１を停止させる。このようにして、図９に示すように、通り側ゲージ３２の先端がねじ穴８２の底に接触する。すなわち、通り側ゲージ３２がねじ穴８２に締結される。なお、通り側ゲージ３２の先端がねじ穴８２の底に到達しない場合もある。また、このステップＳ３０６では、ｚ軸方向について力制御を行わないので、力検出部２９０のｚ軸方向の力の検出情報を他の制御に用いることができる。具体的には、ｚ軸方向において所定の力を検出することをシャフト２４１の停止条件としている。
【０１６０】
次いで、通り側ゲージ３２の先端のｚ軸方向の現在の位置を停止位置として記憶部１４に記憶する（ステップＳ３０７）。
【０１６１】
次いで、初期位置と停止位置とに基づいて、ねじ穴８２の深さ（ｚ軸方向の長さ）を求める（ステップＳ３０８）。このねじ穴８２の深さは、初期位置から停止位置を減算して求め、測定値として記憶部１４に記憶する。
【０１６２】
次いで、ねじ穴８２の深さの測定値と、ねじ穴８２の深さの規格値（規定値）の上限値および下限値とに基づいて、ねじ穴８２の通り側について、合否を判定する。
【０１６３】
すなわち、ねじ穴８２の深さの測定値がねじ穴８２の深さの規格値の範囲内であるか否かを判断し（ステップＳ３０９）、範囲内であれば、「合格」と判定し（ステップＳ３１０）、範囲外であれば、「不合格」と判定する（ステップＳ３１１）。
【０１６４】
このねじ穴８２の通り側の検査結果は、記憶部１４に記憶され、必要に応じて、表示装置４１により表示される。
【０１６５】
次いで、シャフト２４１をステップＳ３０５と反対方向に回転させつつ上昇させる（ステップＳ３１２）。これにより、ねじ用限界ゲージ３が回転し、そのねじ用限界ゲージ３の回転と、シャフト２４１の上昇とにより、ねじ用限界ゲージ３は、通り側ゲージ３２がねじ穴８２から外れる方向（緩む方向）に移動する。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向、ｙ軸方向およびｚ軸方向の力を検出し、ｘ軸方向、ｙ軸方向およびｚ軸方向についてそれぞれ力制御（インピーダンス制御）を行い、また、ｚ軸方向およびｕ軸方向（ｚ軸周りの方向）について位置制御を行ってロボット２を動作させる。また、力制御のｘ軸方向、ｙ軸方向およびｚ軸方向の目標力は、それぞれ、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、ｘ軸方向、ｙ軸方向およびｚ軸方向の目標力は、それぞれ、例えば、０Ｎである。これにより、通り側ゲージ３２がねじ穴８２を損傷させてしまうことを抑制することができ、また、円滑かつ適確に、通り側ゲージ３２を外す方向に移動させることができる。このようにして、図１０に示すように、通り側ゲージ３２の先端が初期位置よりもｚ軸方向＋側に所定距離（例えば、０．２ｍｍ）離間した位置に到達するまで、ねじ用限界ゲージ３を移動させ、シャフト２４１を停止させる。なお、本区間のうちの一部の区間または全区間において、ｚ軸方向についての力制御を省略してもよい。以上で、このプログラムを終了する。
【０１６６】
次に、ねじ穴８２の止まり側の検査におけるロボットシステム１００の動作について説明する。
【０１６７】
まず、図１５に示すステップＳ４０１〜ステップＳ４０５は、前述したステップＳ３０１〜ステップＳ３０５において、通り側ゲージ３２を止まり側ゲージ３３に代える他は、ステップＳ３０１〜ステップＳ３０５と同様であり、その説明は省略する。
【０１６８】
ステップＳ４０５に引き続きシャフト２４１を所定方向に回転させつつ下降させる（ステップＳ４０６）。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向およびｙ軸方向の力を検出し、ｘ軸方向およびｙ軸方向についてそれぞれ力制御（インピーダンス制御）を行い、また、ｚ軸方向およびｕ軸方向（ｚ軸周りの方向）についてそれぞれ位置制御を行ってロボット２を動作させる。また、力制御のｘ軸方向およびｙ軸方向の目標力は、それぞれ、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、例えば、０Ｎである。これにより、止まり側ゲージ３３がねじ穴８２を損傷させてしまうことを抑制することができ、また、円滑かつ適確に、止まり側ゲージ３３を締まる方向に移動させることができる。また、力検出部２９０によりｚ軸方向の力を検出し、ｚ軸方向において所定の力（例えば、３Ｎ）を検出すると、シャフト２４１を停止させる。このようにして、ねじ用限界ゲージ３は、止まり側ゲージ３３の先端がねじ穴８２の底に到達する前に停止するか、または、止まり側ゲージ３３の先端がねじ穴８２の底に到達して停止する。また、このステップＳ４０６では、ｚ軸方向について力制御を行わないので、力検出部２９０のｚ軸方向の力の検出情報を他の制御に用いることができる。具体的には、ｚ軸方向において所定の力を検出することをシャフト２４１の停止条件としている。
【０１６９】
次いで、止まり側ゲージ３３の先端のｚ軸方向の現在の位置を停止位置として記憶部１４に記憶する（ステップＳ４０７）。
【０１７０】
次いで、初期位置と停止位置とのｚ軸方向の距離を求める（ステップＳ４０８）。このステップＳ４０８では、初期位置から停止位置を減算し、その減算値を記憶部１４に記憶する。
【０１７１】
次いで、初期位置と停止位置とのｚ軸方向の距離に基づいて、ねじ穴８２の止まり側について、合否を判定する。
【０１７２】
すなわち、初期位置と停止位置とのｚ軸方向の距離がねじ穴８２のリードの２倍未満であるか否かを判断し（ステップＳ４０９）、ねじ穴８２のリードの２倍未満であれば、「合格」と判定し（ステップＳ４１０）、ねじ穴８２のリードの２倍以上であれば、「不合格」と判定する（ステップＳ４１１）。なお、合否の閾値の「２倍」は、１例であり、他の値に設定してもよい。
【０１７３】
このねじ穴８２の止まり側の検査結果は、記憶部１４に記憶され、必要に応じて、表示装置４１により表示される。
【０１７４】
なお、本実施形態では、ねじ穴８２の止まり側について、初期位置と停止位置とのｚ軸方向の距離に基づいて合否を判定しているが、これに限らず、例えば、ねじ用限界ゲージ３（止まり側ゲージ３３）の回転回数（回転量）に基づいて、合否を判定してもよい。具体的には、止まり側ゲージ３３の先端が初期位置から停止位置に移動するまでにねじ用限界ゲージ３が回転する回数（回転量）を求め、そのねじ用限界ゲージ３が回転する回数が２回転未満であるか否かを判断し、２回転未満であれば、「合格」と判定し、２回転以上であれば、「不合格」と判定する。なお、合否の閾値の「２回転」は、１例であり、他の値に設定してもよい。
【０１７５】
また、ステップＳ４１２は、前述したステップＳ３１２において、通り側ゲージ３２を止まり側ゲージ３３に代える他は、ステップＳ３１２と同様であり、その説明は省略する。以上で、このプログラムを終了する。
【０１７６】
以上のような第２実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０１７７】
以上説明したように、ロボット制御部１１（制御部）は、ねじ用限界ゲージ３（ねじゲージ）をねじ穴８２の軸周りに回転させる場合、ロボットアーム２０により回転させる。
【０１７８】
これにより、別途、ねじ用限界ゲージ３を回転させる装置をロボットアーム２０に取り付けることなく、ねじ用限界ゲージ３を回転させることができ、これによって、ロボット２の小型化を図ることができる。
【０１７９】
また、ロボットアーム２０は、第１アーム２２と、第２アーム２３と、シャフト２４１を備える作業ヘッド２４と（複数のアーム）を有している。ロボット制御部１１（制御部）は、ロボットアーム２０の最も先端のアームの１例であるシャフト２４１に設けられた力検出部２９０に取り付けられたねじ用限界ゲージ３（ねじゲージ）を回転させる。
【０１８０】
これにより、ねじ用限界ゲージ３を回転させる制御を容易かつ適確に行うことができる。
【０１８１】
＜第３実施形態＞
図１６は、第３実施形態におけるねじ穴の検査を説明するための図である。
【０１８２】
図１７および図１８は、それぞれ、第３実施形態におけるねじ穴の検査の際の制御装置の制御動作を示すフローチャートである。
【０１８３】
以下、第３実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
【０１８４】
図１６に示すように、第３実施形態では、検査対象のねじ穴８３（雌ねじ）は、ワーク８１に形成され、ワーク８１を貫通したねじ穴（貫通穴）である。この貫通したねじ穴８３の検査では、通り側の検査の方法（合否の判定の仕方）が前述した有底のねじ穴８２の検査と異なっている。
【０１８５】
次に、図１７、図１８に基づいて、ワーク８１に形成されたねじ穴８３（貫通穴）の検査におけるロボットシステム１００の動作（制御装置１の制御動作）について説明する。
【０１８６】
但し、ねじ穴８３の止まり側の検査におけるロボットシステム１００の動作については、前述した有底のねじ穴８２の検査の場合と同様であるので、その説明は省略し、以下では、ねじ穴８３の通り側の検査におけるロボットシステム１００の動作について説明する。
【０１８７】
まず、図１７に基づいて、第１実施形態のロボットシステム１００を用いる場合、すなわち、モーター方式の場合について説明する。
【０１８８】
まず、図１７に示すステップＳ５０１〜ステップＳ５０４、ステップＳ５０６、ステップＳ５０７は、前述したステップＳ１０１〜ステップＳ１０６と同様であり、その説明は省略する。
【０１８９】
ステップＳ５０４の後、ｚ軸を法線とする仮想平面８５を設定する（ステップＳ５０５）。
【０１９０】
仮想平面８５は、初期位置からｚ軸方向−側（下方）に所定距離離間した位置に設定される。この所定距離は、ねじ穴８３の深さよりも所定の長さ（例えば、１ｍｍ）長い値とされる。すなわち、仮想平面８５は、仮想平面８５のｚ軸方向の位置がねじ穴８３の出口（−ｚ軸方向の開口）よりもｚ軸方向−側の所定の位置となるように設定される。なお、前記所定距離は、ねじ穴８３の深さと同一であってもよい。すなわち、仮想平面８５は、仮想平面８５のｚ軸方向の位置がねじ穴８３の出口と同一の位置となるように設定してもよい。
【０１９１】
次いで、ステップＳ５０６、ステップＳ５０７を実行し、引き続きシャフト２４１を下降させる（ステップＳ５０８）。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向およびｙ軸方向の力を検出し、ｘ軸方向およびｙ軸方向についてそれぞれ力制御（インピーダンス制御）を行い、また、ｚ軸方向について位置制御を行ってロボット２を動作させる。また、力制御のｘ軸方向およびｙ軸方向の目標力は、それぞれ、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、例えば、０Ｎである。これにより、通り側ゲージ３２がねじ穴８３を損傷させてしまうことを抑制することができ、また、円滑かつ適確に、通り側ゲージ３２を締まる方向に移動させることができる。
【０１９２】
次いで、力検出部２９０によりｚ軸方向の力を検出し、検出されたｚ軸方向の力が所定の閾値（例えば、３Ｎ）以上であるか否かを判断する（ステップＳ５０９）。
【０１９３】
ステップＳ５０９において、力検出部２９０により検出されたｚ軸方向の力が閾値以上ではない（閾値未満である）と判断した場合は、通り側ゲージ３２の先端が仮想平面８５まで移動したか否かを判断する（ステップＳ５１０）。
【０１９４】
ステップＳ５１０において、通り側ゲージ３２の先端が仮想平面８５まで移動していないと判断した場合は、ステップＳ５０８に戻り、再度、ステップＳ５０８以降を実行する。
【０１９５】
また、ステップＳ５１０において、通り側ゲージ３２の先端が仮想平面８５まで移動したと判断した場合は、ねじ穴８３の通り側について、「合格」と判定する（ステップＳ５１１）。なお、ステップＳ５１０で「ＹＥＳ」と判断されるのは、力検出部２９０により検出されたｚ軸方向の力が閾値未満のまま、通り側ゲージ３２の先端が仮想平面８５まで移動した場合である。
【０１９６】
また、ステップＳ５０９において、力検出部２９０により検出されたｚ軸方向の力が閾値以上であると判断した場合は、ねじ穴８３の通り側について、「不合格」と判定する（ステップＳ５１２）。なお、ステップＳ５０９で「ＹＥＳ」と判断されるのは、通り側ゲージ３２の先端が仮想平面８５まで移動する前に、力検出部２９０により検出されたｚ軸方向の力が閾値以上になった場合である。
【０１９７】
このねじ穴８３の通り側の検査結果は、記憶部１４に記憶され、必要に応じて、表示装置４１により表示される。
【０１９８】
次いで、シャフト２４１およびモーター７２を停止させる（ステップＳ５１３）。
このように、ステップＳ５０８からシャフト２４１を停止させるまではｚ軸方向について力制御を行わないので、力検出部２９０のｚ軸方向の力の検出情報を他の制御、具体的にはステップＳ５０９で用いることができる。
【０１９９】
また、ステップＳ５１４およびステップＳ５１５は、前述したステップＳ１１３およびステップＳ１１４と同様であり、その説明は省略する。以上で、このプログラムを終了する。
【０２００】
次に、図１８に基づいて、第２実施形態のロボットシステム１００を用いる場合、すなわち、ロボット方式の場合について説明する。
【０２０１】
まず、図１８に示すステップＳ６０１〜ステップＳ６０４、ステップＳ６０６は、前述したステップＳ３０１〜ステップＳ３０５と同様であり、その説明は省略する。
【０２０２】
ステップＳ６０４の後、ｚ軸を法線とする仮想平面８５を設定する（ステップＳ６０５）。この仮想平面８５の設定は、前述したステップＳ５０５と同様であり、その説明は省略する。
【０２０３】
次いで、ステップＳ６０６を実行し、引き続きシャフト２４１を所定方向に回転させつつ下降させる（ステップＳ６０７）。このロボット２の動作では、力検出部２９０によりねじ用限界ゲージ３に加わるｘ軸方向およびｙ軸方向の力を検出し、ｘ軸方向およびｙ軸方向についてそれぞれ力制御（インピーダンス制御）を行い、また、ｚ軸方向およびｕ軸方向（ｚ軸周りの方向）についてそれぞれ位置制御を行ってロボット２を動作させる。また、力制御のｘ軸方向およびｙ軸方向の目標力は、それぞれ、特に限定されず、諸条件に応じて適宜設定されるものであるが、１例を挙げると、例えば、０Ｎである。これにより、通り側ゲージ３２がねじ穴８３を損傷させてしまうことを抑制することができ、また、円滑かつ適確に、通り側ゲージ３２を締まる方向に移動させることができる。
【０２０４】
次いで、力検出部２９０によりｚ軸方向の力を検出し、検出されたｚ軸方向の力が所定の閾値（例えば、３Ｎ）以上であるか否かを判断する（ステップＳ６０８）。
【０２０５】
ステップＳ６０８において、力検出部２９０により検出されたｚ軸方向の力が閾値以上ではない（閾値未満である）と判断した場合は、通り側ゲージ３２の先端が仮想平面８５まで移動したか否かを判断する（ステップ６０９）。
【０２０６】
ステップＳ６０９において、通り側ゲージ３２の先端が仮想平面８５まで移動していないと判断した場合は、ステップＳ６０７に戻り、再度、ステップＳ６０７以降を実行する。
【０２０７】
また、ステップＳ６０９において、通り側ゲージ３２の先端が仮想平面８５まで移動したと判断した場合は、ねじ穴８３の通り側について、「合格」と判定する（ステップＳ６１０）。なお、ステップＳ６０９で「ＹＥＳ」と判断されるのは、力検出部２９０により検出されたｚ軸方向の力が閾値未満のまま、通り側ゲージ３２の先端が仮想平面８５まで移動した場合である。
【０２０８】
また、ステップＳ６０８において、力検出部２９０により検出されたｚ軸方向の力が閾値以上であると判断した場合は、ねじ穴８３の通り側について、「不合格」と判定する（ステップＳ６１１）。なお、ステップＳ６０８で「ＹＥＳ」と判断されるのは、通り側ゲージ３２の先端が仮想平面８５まで移動する前に、力検出部２９０により検出されたｚ軸方向の力が閾値以上になった場合である。
【０２０９】
このねじ穴８３の通り側の検査結果は、記憶部１４に記憶され、必要に応じて、表示装置４１により表示される。
【０２１０】
次いで、シャフト２４１を停止させる（ステップＳ６１２）。
このように、ステップＳ６０７からシャフト２４１を停止させるまではｚ軸方向について力制御を行わないので、力検出部２９０のｚ軸方向の力の検出情報を他の制御、具体的にはステップＳ６０８で用いることができる。
【０２１１】
また、ステップＳ６１３は、前述したステップＳ３１２と同様であり、その説明は省略する。以上で、このプログラムを終了する。
【０２１２】
以上のような第３実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０２１３】
以上説明したように、制御装置１では、ねじ穴の通り側の検査において、ねじ穴が貫通したねじ穴８３の場合と非貫通のねじ穴８２の場合とで、ねじ穴の合否の判定の仕方が異なる。
【０２１４】
これにより、貫通したねじ穴８３と非貫通のねじ穴８２とのそれぞれで、適確に検査を行うことができる。
【０２１５】
＜第４実施形態＞
図１９は、第４実施形態におけるエンドエフェクターの斜視図である。図２０は、第４実施形態におけるエンドエフェクターの正面図である。
【０２１６】
以下、第４実施形態について説明するが、前述した実施形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
【０２１７】
図１９および図２０に示すように、第４実施形態では、エンドエフェクター７Ｂが、シャフト２４１の先端部に着脱可能に連結される。
【０２１８】
図１９および図２０に示すように、エンドエフェクター７Ｂは、力検出部２９０と、力検出部２９０に取り付けられた取り付け部７４（フレーム）と、取り付け部７４に設けられたモーター７２と、取り付け部７４に回転可能に設けられた支持部７７と、支持部７７に着脱可能に取り付けられたねじ用限界ゲージ３とを有している。モーター７２は、ｚ軸方向から見て、力検出部２９０に対してオフセットしている。すなわち、モーター７２は、ｚ軸方向から見て、力検出部２９０から離間した位置に、ｙ軸方向（水平方向）から見て、力検出部２９０と重なるように配置されている。これにより、力検出部２９０に対してモーター７２がオフセットしていない場合に比べて、シャフト２４１の先端からねじ用限界ゲージ３の先端までの長さを短くすることができ、ロボット２の小型化を図ることができる。
【０２１９】
また、エンドエフェクター７Ｂは、モーター７２の回転軸に連結されたプーリー（図示せず）と、支持部７７に連結されたプーリー７６と、前記プーリーとプーリー７６とに掛け渡されたタイミングベルト７５とを有している。モーター７２の回転軸に連結されたプーリーと、プーリー７６と、タイミングベルト７５とで、モーター７２の駆動力をねじ用限界ゲージ３に伝達する動力伝達機構が構成される。なお、動力伝達機構は、このような構成のものに限定されず、例えば、互いに噛合した複数の歯車等で構成されていてもよい。
【０２２０】
また、エンドエフェクター７Ｂは、モーター７２の回転軸の回転角度を検出する図示しない位置センサー（角度センサー）を有しており、その位置センサーにより、モーター７２Ｂの回転軸の回転角度が検出できるようになっている。
【０２２１】
このエンドエフェクター７Ｂでは、シャフト２４１（図１参照）の中心軸、すなわち、第３回動軸Ｏ３（図１参照）と、ねじ用限界ゲージ３の中心軸とは、一致している。すなわち、第３回動軸Ｏ３の軸方向から見て、第３回動軸Ｏ３と、ねじ用限界ゲージ３とは重なっている。
【０２２２】
以上のような第４実施形態によっても、前述した実施形態と同様の効果を発揮することができる。
【０２２３】
以上説明したように、ロボットアーム２０は、第１アーム２２と、第２アーム２３と、シャフト２４１を備える作業ヘッド２４と（複数のアーム）を有している。ロボット制御部１１（制御部）は、ロボットアーム２０の最も先端のアームの１例であるシャフト２４１に設けられた力検出部２９０に対してオフセットしているモーター７２によりねじ用限界ゲージ３（ねじゲージ）を回転させる。
【０２２４】
これにより、力検出部２９０に対してモーター７２がオフセットしていない場合に比べて、ロボットアーム２０の先端からねじ用限界ゲージ３の先端までの長さを短くすることができ、ロボット２の小型化を図ることができる。
【０２２５】
以上、本発明の制御装置、ロボットおよび制御方法を図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物が付加されていてもよい。また、制御方法には、他の任意の工程が付加されていてもよい。
【０２２６】
また、本発明は、前記各実施形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０２２７】
また、前記実施形態では、ロボットアームの回動軸の数は、３つであるが、本発明では、これに限定されず、ロボットアームの回動軸の数は、例えば、２つ、または、４つ以上でもよい。すなわち、前記実施形態では、アーム（リンク）の数は、３つであるが、本発明では、これに限定されず、アームの数は、例えば、２つ、または、４つ以上でもよい。  また、前記実施形態では、ロボットアームの数は、１つであるが、本発明では、これに限定されず、ロボットアームの数は、例えば、２つ以上でもよい。すなわち、ロボットは、例えば、双腕ロボット等の複数腕ロボットであってもよい。
【０２２８】
また、本発明では、ロボット（ロボット本体）は、他の種類（形式）のロボットであってもよい。具体例としては、例えば、垂直多関節ロボット、脚部を有する脚式歩行（走行）ロボット等が挙げられる。「垂直多関節ロボット」とは、軸数（アーム数）が３つ以上であり、かつ、３つの軸のうちの２つの軸が互いに交差（直交）しているロボットのことを言う。
【０２２９】
ロボットとして垂直多関節ロボットを用いる場合は、互いの面同士が非平行である複数の面（多面）に形成されたねじ穴、すなわち、互いのねじ穴の軸方向が異なる複数のねじ穴の検査を容易かつ迅速に行うことができる。
【０２３０】
また、垂直多関節ロボットを用いる場合は、例えば、前述したステップＳ１０２において、ねじ用限界ゲージ３をｚ軸に対して傾斜した方向（斜め方向）に移動させて、通り側ゲージ３２の先端をねじ穴８２に接触させてもよい。
【０２３１】
また、ロボットとして２つのロボットアームを有する垂直多関節ロボットを用いる場合は、一方のロボットアームに、ねじ用限界ゲージを有するエンドフェクターを取り付け、他方のロボットアームに、ハンド（エンドフェクター）を取り付け、そのハンドでねじ穴が形成されたワークを把持（保持）し、ねじ穴の検査を行うことができる。
【符号の説明】
【０２３２】
１…制御装置、２…ロボット、３…ねじ用限界ゲージ、５…ウィンドウ、７…エンドエフェクター、７Ａ…エンドエフェクター、７Ｂ…エンドエフェクター、１１…ロボット制御部、１２…モーター制御部、１３…表示制御部、１４…記憶部、１５…受付部、１６…判定部、２０…ロボットアーム、２１…基台、２２…第１アーム、２３…第２アーム、２４…作業ヘッド、２５…筐体、２６…配管、３１…把持部、３２…通り側ゲージ、３３…止まり側ゲージ、４１…表示装置、４２…入力装置、５１…テキストボックス、５２…テキストボックス、５３…テキストボックス、５４…テキストボックス、５５…ボタン、７１…取り付け部、７２…モーター、７３…取り付け部、７４…取り付け部、７５…タイミングベルト、７６…プーリー、７７…支持部、８１…ワーク、８２…ねじ穴、８３…ねじ穴、８５…仮想平面、１００…ロボットシステム、２４１…シャフト、２８０…駆動部、２８１…位置センサー、２９０…力検出部、Ｏ１…第１回動軸、Ｏ２…第２回動軸、Ｏ３…第３回動軸
【図１】
2018202602.tif 000003
【図２】
2018202602.tif 000004
【図３】
2018202602.tif 000005
【図４】
2018202602.tif 000006
【図５】
2018202602.tif 000007
【図６】
2018202602.tif 000008
【図７】
2018202602.tif 000009
【図８】
2018202602.tif 000010
【図９】
2018202602.tif 000011
【図１０】
2018202602.tif 000012
【図１１】
2018202602.tif 000013
【図１２】
2018202602.tif 000014
【図１３】
2018202602.tif 000015
【図１４】
2018202602.tif 000016
【図１５】
2018202602.tif 000017
【図１６】
2018202602.tif 000018
【図１７】
2018202602.tif 000019
【図１８】
2018202602.tif 000020
【図１９】
2018202602.tif 000021
【図２０】
2018202602.tif 000022