(57)【特許請求の範囲】
【請求項１】
第１のワーク又は第２のワークの少なくとも一方をハンドリングするハンドリング装置と、
前記ハンドリング装置を制御するコントローラと、を有し、
前記コントローラは、
前記第１のワークの嵌合部又は前記第２のワークの被嵌合部の少なくとも一方を所定の軸に沿って移動させ、前記嵌合部を前記被嵌合部に突き当てる第１の動作を前記ハンドリング装置に実行させる第１動作制御部と、
前記嵌合部又は前記被嵌合部の少なくとも一方を所定の力で他方に押し当てつつ、前記嵌合部の第１軸心又は前記被嵌合部の第２軸心の少なくとも一方の前記所定の軸に対する傾斜角度を徐々に大きくすると共に傾斜方向を前記所定の軸周りに旋回させる第２の動作を前記ハンドリング装置に実行させる第２動作制御部と、
前記嵌合部の前記第１軸心周りの回転、又は、前記被嵌合部の前記第２軸心周りの回転、の少なくとも一方である第３の動作を前記ハンドリング装置に実行させる第３動作制御部と、
を有し、
前記第２動作制御部による前記第２の動作と、前記第３動作制御部による前記第３の動作と、を同時に実行する
ことを特徴とする嵌合装置。
【請求項２】
前記第２のワークは、
前記嵌合部を前記所定の軸に垂直な面方向に押し当て可能な押し当て部を有しており、
前記コントローラは、
前記嵌合部又は前記押し当て部の少なくとも一方を前記面方向に沿って移動させ、前記嵌合部を前記押し当て部に押し当てる第４の動作を前記ハンドリング装置に実行させる第４動作制御部と、
前記嵌合部を前記押し当て部に押し当てた際の前記嵌合部又は前記被嵌合部の少なくとも一方の位置に基づいて、前記嵌合部又は前記被嵌合部の少なくとも一方の前記面方向における嵌合位置を推定する嵌合位置推定部と、
前記嵌合部又は前記被嵌合部の少なくとも一方を前記面方向に移動させて前記嵌合位置に移動させる第５の動作を前記ハンドリング装置に実行させる第５動作制御部と、を有する
ことを特徴とする請求項１記載の嵌合装置。
【請求項３】
前記コントローラは、
前記第２の動作の実行中に前記嵌合部と前記被嵌合部との相対距離が所定のしきい値を下回ったか否かを判定する嵌合判定部を有し、
前記第２動作制御部は、
前記嵌合判定部により前記相対距離が前記しきい値を下回ったと判定された場合に、前記第２の動作を停止する
ことを特徴とする請求項１又は２記載の嵌合装置。
【請求項４】
前記コントローラは、
前記ハンドリング装置が前記嵌合部の先端位置を制御点として前記第１のワークをハンドリングするように制御する
ことを特徴とする請求項１乃至３のいずれか１項に記載の嵌合装置。
【請求項５】
前記ハンドリング装置は、
前記第１のワーク及び前記第２のワークの少なくとも一方から受ける反力を検出する力覚センサを有する
ことを特徴とする請求項１乃至４のいずれか１項に記載の嵌合装置。
【請求項６】
前記嵌合部は、遊星歯車機構を構成する太陽歯車を有しており、
前記被嵌合部は、前記太陽歯車とそれぞれ噛み合う複数の遊星歯車を有する
ことを特徴とする請求項１乃至５のいずれか１項に記載の嵌合装置。
【請求項７】
第１のワーク又は第２のワークの少なくとも一方をハンドリングするハンドリング装置により、前記第１のワークの嵌合部又は前記第２のワークの被嵌合部の少なくとも一方を所定の軸に沿って移動させ、前記嵌合部を前記被嵌合部に突き当てることと、
前記ハンドリング装置により、前記嵌合部又は前記被嵌合部の少なくとも一方を所定の力で他方に押し当てつつ、前記嵌合部の第１軸心又は前記被嵌合部の第２軸心の少なくとも一方の前記所定の軸に対する傾斜角度を徐々に大きくすると共に傾斜方向を前記所定の軸周りに回転させることと、
前記ハンドリング装置により、前記嵌合部の前記第１軸心周りの回転、又は、前記被嵌合部の前記第２軸心周りの回転、の少なくとも一方を実行することと、を有し、
前記ハンドリング装置により、前記嵌合部又は前記被嵌合部の少なくとも一方を所定の力で他方に押し当てつつ、前記嵌合部の第１軸心又は前記被嵌合部の第２軸心の少なくとも一方の前記所定の軸に対する傾斜角度を徐々に大きくすると共に傾斜方向を前記所定の軸周りに回転させることと、前記ハンドリング装置により、前記嵌合部の前記第１軸心周りの回転、又は、前記被嵌合部の前記第２軸心周りの回転、の少なくとも一方を実行することと、を同時に実行する
ことを特徴とする嵌合方法。
【請求項８】
前記第２のワークは、
前記嵌合部を前記所定の軸に垂直な面方向に押し当て可能な押し当て部を有しており、
前記嵌合部又は前記押し当て部の少なくとも一方を前記面方向に沿って移動させ、前記嵌合部を前記押し当て部に押し当てることと、
前記嵌合部を前記押し当て部に押し当てた際の前記嵌合部又は前記被嵌合部の少なくとも一方の位置に基づいて、前記嵌合部又は前記被嵌合部の少なくとも一方の前記面方向における嵌合位置を推定することと、
前記嵌合部又は前記被嵌合部の少なくとも一方を前記面方向に移動させて前記嵌合位置に移動させることと、をさらに有する
ことを特徴とする請求項７に記載の嵌合方法。
【請求項９】
第１のワーク又は第２のワークの少なくとも一方をハンドリングするハンドリング装置を制御するコントローラに、
前記ハンドリング装置により、前記第１のワークの嵌合部又は前記第２のワークの被嵌合部の少なくとも一方を所定の軸に沿って移動させ、前記嵌合部を前記被嵌合部に突き当てることと、
前記ハンドリング装置により、前記嵌合部又は前記被嵌合部の少なくとも一方を所定の力で他方に押し当てつつ、前記嵌合部の第１軸心又は前記被嵌合部の第２軸心の少なくとも一方の前記所定の軸に対する傾斜角度を徐々に大きくすると共に傾斜方向を前記所定の軸周りに回転させることと、
前記ハンドリング装置により、前記嵌合部の前記第１軸心周りの回転、又は、前記被嵌合部の前記第２軸心周りの回転、の少なくとも一方を実行することと、を実行させ、かつ、
前記ハンドリング装置により、前記嵌合部又は前記被嵌合部の少なくとも一方を所定の力で他方に押し当てつつ、前記嵌合部の第１軸心又は前記被嵌合部の第２軸心の少なくとも一方の前記所定の軸に対する傾斜角度を徐々に大きくすると共に傾斜方向を前記所定の軸周りに回転させることと、前記ハンドリング装置により、前記嵌合部の前記第１軸心周りの回転、又は、前記被嵌合部の前記第２軸心周りの回転、の少なくとも一方を実行することと、を同時に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、嵌合装置、嵌合方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ロボットアームと、ロボットアームを駆動するコントローラを備え、ロボットアームのハンドで嵌合部品を把持し、被嵌合部品の穴に挿入する挿入作業を行うロボット制御システムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−８８２６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来技術のようなロボット制御システムで嵌合作業を自動化する場合、十分な成功率を得られない場合があり、更なる成功率の向上が要望されていた。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、嵌合の成功率を高めることができる嵌合装置、嵌合方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、第１のワーク又は第２のワークの少なくとも一方をハンドリングするハンドリング装置と、前記ハンドリング装置を制御するコントローラと、を有し、前記コントローラは、前記第１のワークの嵌合部又は前記第２のワークの被嵌合部の少なくとも一方を所定の軸に沿って移動させ、前記嵌合部を前記被嵌合部に突き当てる第１の動作を前記ハンドリング装置に実行させる第１動作制御部と、前記嵌合部又は前記被嵌合部の少なくとも一方を所定の力で他方に押し当てつつ、前記嵌合部の第１軸心又は前記被嵌合部の第２軸心の少なくとも一方の前記所定の軸に対する傾斜角度を徐々に大きくすると共に傾斜方向を前記所定の軸周りに旋回させる第２の動作を前記ハンドリング装置に実行させる第２動作制御部と、を有する嵌合装置が適用される。
【０００７】
また、本発明の別の観点によれば、第１のワーク又は第２のワークの少なくとも一方をハンドリングするハンドリング装置により、前記第１のワークの嵌合部又は前記第２のワークの被嵌合部の少なくとも一方を所定の軸に沿って移動させ、前記嵌合部を前記被嵌合部に突き当てることと、前記ハンドリング装置により、前記嵌合部又は前記被嵌合部の少なくとも一方を所定の力で他方に押し当てつつ、前記嵌合部の第１軸心又は前記被嵌合部の第２軸心の少なくとも一方の前記所定の軸に対する傾斜角度を徐々に大きくすると共に傾斜方向を前記所定の軸周りに回転させることと、を有する嵌合方法が適用される。
【０００８】
また、本発明の別の観点によれば、第１のワーク又は第２のワークの少なくとも一方をハンドリングするハンドリング装置を制御するコントローラに、前記ハンドリング装置により、前記第１のワークの嵌合部又は前記第２のワークの被嵌合部の少なくとも一方を所定の軸に沿って移動させ、前記嵌合部を前記被嵌合部に突き当てることと、前記ハンドリング装置により、前記嵌合部又は前記被嵌合部の少なくとも一方を所定の力で他方に押し当てつつ、前記嵌合部の第１軸心又は前記被嵌合部の第２軸心の少なくとも一方の前記所定の軸に対する傾斜角度を徐々に大きくすると共に傾斜方向を前記所定の軸周りに回転させることと、を実行させるためのプログラムが適用される。
【発明の効果】
【０００９】
本発明の嵌合装置等によれば、嵌合の成功率を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る嵌合装置の全体構成の一例を表す斜視図である。
【図２】減速機の遊星歯車機構の構成の一例を表す平面図である。
【図３】上位コントローラ及びロボットコントローラの機能構成の一例を表すブロック図である。
【図４】嵌合作業時に上位コントローラが実行する制御内容の一例を表すフローチャートである。
【図５】嵌合作業におけるワークの動作の一例を表す説明図である。
【図６】嵌合作業におけるワークの動作の一例を表す説明図である。
【図７】嵌合作業におけるワークの動作の一例を表す説明図である。
【図８】嵌合作業におけるワークの動作の一例を表す説明図である。
【図９】嵌合作業におけるワークの動作の一例を表す説明図である。
【図１０】嵌合作業におけるワークの動作の一例を表す説明図である。
【図１１】嵌合作業におけるワークの動作の一例を表す説明図である。
【図１２】嵌合作業におけるワークの動作の一例を表す説明図である。
【図１３】嵌合作業におけるワークの動作の一例を表す説明図である。
【図１４】嵌合作業におけるワークの動作の一例を表す説明図である。
【図１５】スプライン嵌合を行う変形例における第１のワーク及び第２のワークの一例を表す側面図である。
【図１６】スプライン嵌合を行う変形例における第１のワークの一例を表す斜視図である。
【図１７】スプライン嵌合を行う変形例における第２のワークの一例を表す斜視図である。
【図１８】上位コントローラのハードウェア構成例を表すブロック図である。
【発明を実施するための形態】
【００１１】
以下、一実施の形態について図面を参照しつつ説明する。
【００１２】
＜１．嵌合装置の全体構成＞
まず、図１及び図２を参照しつつ、実施形態に係る嵌合装置１の全体構成の一例について説明する。なお、図２はモータシャフトが減速機に嵌合された状態における減速機の遊星歯車機構を図示している。
【００１３】
嵌合装置１は、第１のワークを第２のワークに嵌め込む嵌合作業を実行する。本実施形態では、第１のワーク及び第２のワークの一例として、モータを減速機に嵌合する場合について説明する。なお、第１のワーク及び第２のワークをこれらに限定するものではなく、嵌合装置１は多種多様なワークについて嵌合作業を実行することが可能である。
【００１４】
図１に示すように、嵌合装置１は、モータ３と減速機５との嵌合作業を実行するためにモータ３をハンドリングするロボット７と、ロボット７を制御するロボットコントローラ９及び上位コントローラ１１を有する。
【００１５】
モータ３（第１のワークの一例）は、固定子と回転子（図示省略）を備えたモータ本体３Ａとモータシャフト３Ｂを有する回転型のモータである。モータシャフト３Ｂの先端には、出力ギア３Ｃが設けられている。図２に示すように、出力ギア３Ｃ（嵌合部の一例）は、減速機５が有する遊星歯車機構５Ａの太陽歯車を構成する。
【００１６】
減速機５（第２のワークの一例）は、遊星歯車機構５Ａと、遊星歯車機構５Ａを収容する筐体５Ｂとを有する。図２に示すように、遊星歯車機構５Ａは、内歯車５Ｅと、内歯車５Ｅと噛み合いつつ、モータ３の出力ギア３Ｃと噛み合う複数（この例では３個。但し２個又は４個以上でもよい）の遊星歯車５Ｃとを有する。筐体５Ｂの上部には開口部５Ｄが形成されており、当該開口部５Ｄを介してモータシャフト３Ｂが挿入され、出力ギア３Ｃが３個の遊星歯車５Ｃ（被嵌合部の一例）に嵌合される。減速機５は例えば架台１２に治具（図示省略）により固定されて載置される。
【００１７】
ロボット７（ハンドリング装置の一例）は、例えば６つの関節部を備えた垂直多関節型の６軸ロボットであり、その先端には、エンドエフェクタとしてハンド１３が取り付けられている。ロボット７は、ハンド１３によりモータ３を把持し、移動、回転、旋回、姿勢の変更等のハンドリングを行う。なお、ロボット７を６軸以外（例えば５軸や７軸等）のロボットとしてもよい。また、水平多関節型やパラレルリンクロボット等、ロボット７を垂直多関節型以外のロボットとしてもよい。さらに、汎用ロボット以外にも、例えば、ＸＹＺθ方向等に移動可能なアクチュエータを備えた嵌合作業専用に設計された専用作業機等としてもよい。
【００１８】
ロボットコントローラ９は、上位コントローラ１１から入力された位置指令（教示点）等に基づいて、ロボット７のハンド１３の手先位置をティーチングにより教示された位置に移動させるために必要となるロボット７の各アクチュエータＡｃ１〜Ａｃ６の各モータ１５（図３参照）の目標回転角度等を演算し、当該目標回転角度と各モータ１５の各エンコーダ１７（図３参照）の検出値等に基づいて各アクチュエータＡｃ１〜Ａｃ６の各モータ１５に供給する駆動電力の制御を行い、ロボット７の動作を制御する。ロボットコントローラ９は、ロボット７の例えば基台１９に取り付けられている。但し、ロボットコントローラ９をロボット７の別の場所に取り付けてもよいし、ロボット７と分離して配置してもよい。また、ロボットコントローラ９と上位コントローラ１１とを、別体でなく一体の制御装置として構成してもよい。また、ロボットコントローラ９又は上位コントローラ１１の少なくとも一方を、複数の制御装置で構成してもよい。
【００１９】
ハンド１３の教示点は、モータ３の出力ギア３Ｃの先端中心位置を制御点Ｐ（後述の図９、図１１等参照）として、当該制御点Ｐが所望の位置に位置するように設定される。教示点の座標は、ロボット７が有するロボット座標系１８により設定される。ロボット座標系１８は、互いに直交するＸ軸、Ｙ軸、Ｚ軸からなる直交座標系であり、この例ではＺ軸が略上下方向、ＸＹ平面が略水平面となるように各軸が設定されている。
【００２０】
＜２．ロボットの構成＞
次に、図１を参照しつつ、ロボット７の構成の一例について説明する。
【００２１】
図１に示すように、ロボット７は、基台１９と、旋回部２１と、アーム２３とを有する。基台１９は、例えば床や壁、天井等に固定される。
【００２２】
旋回部２１は、基台１９の上端部に、上下方向（Ｚ軸方向）に略平行な回転軸心Ａｘ１まわりに旋回可能に支持されている。この旋回部２１は、基台１９との間の関節部に設けられたアクチュエータＡｃ１の駆動により、基台１９の上端部に対し、回転軸心Ａｘ１まわりに旋回駆動される。
【００２３】
アーム２３は、旋回部２１の例えば一方側の側部に支持されている。このアーム２３は、下腕部２５と、上腕部２７と、手首部２９と、フランジ部３１とを有する。
【００２４】
下腕部２５は、旋回部２１の一方側の側部に、回転軸心Ａｘ１に略垂直な回転軸心Ａｘ２まわりに旋回可能に支持されている。この下腕部２５は、旋回部２１との間の関節部に設けられたアクチュエータＡｃ２の駆動により、旋回部２１の一方側の側部に対し、回転軸心Ａｘ２まわりに旋回駆動される。
【００２５】
上腕部２７は、下腕部２５の先端側に、回転軸心Ａｘ２に略平行な回転軸心Ａｘ３まわりに旋回可能且つ回転軸心Ａｘ３に略垂直な回転軸心Ａｘ４回りに回動可能に支持されている。この上腕部２７は、下腕部２５との間の関節部に設けられたアクチュエータＡｃ３の駆動により、下腕部２５の先端側に対し、回転軸心Ａｘ３まわりに旋回駆動される。また上腕部２７は、アクチュエータＡｃ３との間に設けられたアクチュエータＡｃ４の駆動により、下腕部２５の先端側に対し、回転軸心Ａｘ４まわりに回動駆動される。
【００２６】
手首部２９は、上腕部２７の先端側に、回転軸心Ａｘ４に略垂直な回転軸心Ａｘ５まわりに旋回可能に支持されている。この手首部２９は、上腕部２７との間の関節部に設けられたアクチュエータＡｃ５の駆動により、上腕部２７の先端側に対し、回転軸心Ａｘ５まわりに旋回駆動される。
【００２７】
フランジ部３１は、手首部２９の先端側に、回転軸心Ａｘ５に略垂直な回転軸心Ａｘ６まわりに回動可能に支持されている。このフランジ部３１は、手首部２９との間の関節部に設けられたアクチュエータＡｃ６の駆動により、手首部２９の先端側に対し、回転軸心Ａｘ６まわりに回動駆動される。
【００２８】
ハンド１３は、フランジ部３１の先端に取り付けられており、フランジ部３１の回転軸心Ａｘ６まわりの回動と共に、回転軸心Ａｘ６まわりに回動する。このハンド１３は、互いに遠近する方向に動作可能な一対の把持部材１３ａ，１３ａを備えており、モータ３等のワークを把持することを初めとして、各種の操作や作業をすることが可能である。
【００２９】
フランジ部３１とハンド１３との間には、力覚センサ３３が設けられている。力覚センサ３３は、例えば、Ｘ軸、Ｙ軸、Ｚ軸の各軸方向の力成分や、各軸回りに作用するトルク成分を検出することにより、ハンド１３がモータ３等のワークから受ける反力を検出する。力覚センサ３３の検出値は、上位コントローラ１１に送信される。
【００３０】
以上の構成であるロボット７は、６つのアクチュエータＡｃ１〜Ａｃ６を備えた６つの関節部を有する６軸ロボットである。各関節部を駆動するアクチュエータＡｃ１〜Ａｃ６は、例えばモータ１５、エンコーダ１７、減速機（図示省略）及びブレーキ（図示省略）等により構成されている。なお、モータ１５、エンコーダ１７、減速機及びブレーキ等は、必ずしも回転軸心Ａｘ１〜Ａｘ６上に配置される必要はなく、これらの回転軸心Ａｘ１〜Ａｘ６から離れた位置に配置されてもよい。
【００３１】
なお、上記では、アーム２３の長手方向（あるいは延材方向）に沿った回転軸心まわりの回転を「回動」と呼び、アーム２３の長手方向（あるいは延材方向）に略垂直な回転軸心まわりの回転を「旋回」と呼んで区別している。
【００３２】
＜３．上位コントローラ、ロボットコントローラの機能構成＞
次に、図３を参照しつつ、上位コントローラ１１及びロボットコントローラ９の機能構成の一例について説明する。上位コントローラ１１及びロボットコントローラ９は、例えばモーションコントローラ、パーソナルコンピュータ（ＰＣ）、プログラマブルロジックコントローラ（ＰＬＣ）等により構成される。
【００３３】
ここで、嵌合装置１により自動化される嵌合作業は、嵌合部（本実施形態では出力ギア３Ｃ）と被嵌合部（本実施形態では遊星歯車５Ｃ）のずれを補正する作業と言うことができる。このずれには、被嵌合部に対する嵌合部の、嵌合方向に垂直な面方向の位置ずれ、位相（回転角度）のずれ、傾きのずれ、の３つがある。ロボット７のような自動機械で嵌合作業を自動化する場合、これらのずれをいかに効率良く補正するかが課題となる。また、嵌合作業には、嵌合部と被嵌合部とのクリアランスがごく僅かとなるような精密さが求められる場合もあるが、例えば本実施形態のギア嵌合のように、構造上あるいは性質上、ある程度のクリアランスが許容される場合もある。このような嵌合作業では、動きの精密さよりも、ずれをいかに大まかに合わせるか、言い換えるとずれをいかに網羅するような動作を行うかが重要となる。上位コントローラ１１は、そのような動作をロボット７に実行させるための各種機能を有する。以下、その機能の詳細について説明する。
【００３４】
図３に示すように、上位コントローラ１１（コントローラの一例）は、動作制御部３５と、嵌合位置推定部３７と、嵌合判定部３９とを有する。動作制御部３５は、第１動作制御部４１と、第２動作制御部４３と、第３動作制御部４５と、第４動作制御部４７と、第５動作制御部４９とを有する。
【００３５】
第１動作制御部４１は、モータ３のモータシャフト３Ｂを所定の軸に沿って移動させ、出力ギア３Ｃを減速機５の遊星歯車５Ｃに突き当てる第１の動作をロボット７に実行させる（後述の図６、図７参照）。「所定の軸」とは、モータ３を減速機５に嵌合させる際にモータ３を移動させる方向を示す軸であり、例えば上述した傾きのずれがない場合には、出力ギア３Ｃが遊星歯車５Ｃに嵌合する方向と略一致する。本実施形態では、所定の軸は、嵌合位置推定部３７により推定された嵌合位置を通りＺ軸に平行な軸である（以下適宜「Ｚ軸ＡｘＺ」という）。なお、所定の軸の向きは、Ｚ軸以外にも例えばＸ軸やＹ軸に沿った方向等、任意に設定することが可能である。
【００３６】
第２動作制御部４３は、モータ３の出力ギア３Ｃを所定の力で減速機５の遊星歯車５Ｃに押し当てつつ、モータシャフト３Ｂの回転軸心ＡｘＭ（第１軸心の一例）のＺ軸ＡｘＺに対する傾斜角度θを徐々に大きくすると共に、回転軸心ＡｘＭの傾斜方向をＺ軸ＡｘＺ周りに旋回させる第２の動作をロボット７に実行させる（後述の図１０、図１１参照）。これにより、出力ギア３Ｃと遊星歯車５Ｃとの間の傾きのずれを補正する。上記所定の力による押し当ては、力覚センサ３３の検出値に基づく力制御により実行される。なお、各モータ１５のトルク制御により実行してもよい。第２の動作は、例えばＸ軸周りの回転面（Ｒｘ平面）及びＹ軸周りの回転面（Ｒｙ平面）のそれぞれにおける座標を用いた位置指令により実行される。
【００３７】
嵌合判定部３９は、上記第２の動作の実行中に、出力ギア３Ｃと遊星歯車５Ｃとの相対距離が所定のしきい値を下回ったか否かを判定する。つまり、第２の動作により傾きのずれによる噛み付きが解消されたか否かを判定する。このとき、嵌合判定部３９は、アクチュエータＡｃ１〜Ａｃ６の各モータ１５の各エンコーダ１７の検出値に基づいて上記相対距離を算出し、しきい値との比較を行う。なお、ハンド１３等に距離センサ（図示省略）を設けておき、当該距離センサの検出値に基づいて判定を行ってもよい。第２動作制御部４３は、嵌合判定部３９により相対距離がしきい値を下回ったと判定された場合に、第２の動作を停止する。
【００３８】
第３動作制御部４５は、モータ３の出力ギア３Ｃ（モータシャフト３Ｂ）を回転軸心ＡｘＭ周りに回転させる第３の動作をロボット７に実行させる（後述の図８、図９参照）。第３の動作は、一定の角度内（例えば歯車の歯の１〜数ピッチ分）で往復回転するように実行される。これにより、出力ギア３Ｃと遊星歯車５Ｃとの間の位相のずれを補正する。本実施形態では、この第３の動作と上記第２の動作を同時に実行する。なお、これらの動作を別々に実行してもよい。第３動作制御部４５は、上記嵌合判定部３９により相対距離がしきい値を下回ったと判定された場合に、第３の動作を停止する。
【００３９】
前述のように、減速機５の筐体５Ｂの上部には、開口部５Ｄが形成されている。開口部５Ｄ（押し当て部の一例）の内壁には、モータ３の出力ギア３Ｃ（モータシャフト３Ｂでもよい。以下同様）をＺ軸に垂直な面方向（ＸＹ平面方向）に押し当て可能である。
【００４０】
第４動作制御部４７は、モータ３の出力ギア３ＣをＸＹ平面方向に沿って移動させ、出力ギア３Ｃを減速機５の開口部５Ｄの内壁に押し当てる第４の動作をロボット７に実行させる（後述の図５参照）。
【００４１】
嵌合位置推定部３７は、出力ギア３Ｃを開口部５Ｄの内壁に押し当てた際の出力ギア３Ｃの位置（例えば回転軸心ＡｘＭの位置）に基づいて、出力ギア３Ｃと遊星歯車５Ｃとが嵌合可能な嵌合位置を推定する。このとき、嵌合位置推定部３７は、アクチュエータＡｃ１〜Ａｃ６の各モータ１５の各エンコーダ１７の検出値に基づいて上記押し当てた際の回転軸心ＡｘＭの位置を算出する。例えば、開口部５Ｄが円形状であり、その中心位置と、出力ギア３Ｃと遊星歯車５Ｃとが嵌合可能な嵌合位置が略一致する場合、嵌合位置推定部３７は次のようにして嵌合位置を推定する。すなわち、Ｘ軸方向正側の押し当て位置をＰｐｘ、Ｘ軸方向負側の押し当て位置をＰｎｘ、Ｙ軸方向正側の押し当て位置をＰｐｙ、Ｙ軸方向負側の押し当て位置をＰｎｙとする場合、嵌合位置の座標を｛（Ｐｐｘ＋Ｐｎｘ）／２，（Ｐｐｙ＋Ｐｎｙ）／２｝と推定することができる。
【００４２】
なお、嵌合位置の推定手法は、上記のように押し当てた位置の中心を算出する手法に限定されるものではなく、押し当てた位置から推定可能であれば他の推定手法を採用してもよい。例えば、出力ギア３Ｃを開口部５Ｄの内壁に対して力制御により所定の力で押し当てながら内壁の周囲を１周させ、その際のハンド１３の手先位置のデータを収集して、それらのデータを用いた機械学習により、例えばニューラルネットワークで１周した際のハンド１３の手先位置のデータから嵌合位置を出力するようなモデルを生成してもよい。また、出力ギア３Ｃを押し当てる部分についても、減速機５の開口部５Ｄに限定されるものではなく、例えば筐体５Ｂの側面や凹凸部分等、出力ギア３Ｃを押し当て可能であり且つ嵌合位置を構造上推定できる部位であれば、色々な部位を利用することが可能である。
【００４３】
第５動作制御部４９は、出力ギア３Ｃ（モータシャフト３Ｂ）をＸＹ平面方向に移動させて、上記嵌合位置推定部３７により推定した嵌合位置に移動させる第５の動作をロボット７に実行させる。これにより、出力ギア３Ｃと遊星歯車５Ｃとの間の位置のずれを補正する。なお、前述の第１の動作は、この嵌合位置からモータシャフト３ＢをＺ軸に沿って負の方向（下方向）に移動させ、出力ギア３Ｃを減速機５の遊星歯車５Ｃに突き当てる動作である。
【００４４】
ロボットコントローラ９は、モーション制御部５１と、サーボアンプ５３とを有する。モーション制御部５１は、上位コントローラ１１の動作制御部３５から受信した位置指令に基づいて、ロボット７のハンド１３の手先位置を当該位置指令が指示する位置に移動させるために必要となるロボット７の各アクチュエータＡｃ１〜Ａｃ６の各モータ１５の目標回転角度等を演算し、対応するモータ位置指令を出力する。
【００４５】
サーボアンプ５３は、上記モーション制御部５１から入力されたモータ位置指令に基づいて、各アクチュエータＡｃ１〜Ａｃ６の各モータ１５に供給する駆動電力の制御を行い、ロボット７の動作を制御する。
【００４６】
なお、上述した動作制御部３５、嵌合位置推定部３７、嵌合判定部３９等における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部（例えば１つの処理部）で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、上位コントローラ１１及びロボットコントローラ９の各処理部は、モータＭに駆動電力を給電する部分（サーボアンプ５３等）のみ実際の装置により実装され、その他の機能は後述するＣＰＵ９０１（図１８参照）が実行するプログラムにより実装されてもよいし、その一部又は全部がＡＳＩＣやＦＰＧＡ、その他の電気回路等の実際の装置により実装されてもよい。さらに、上位コントローラ１１とロボットコントローラ９の処理の分担は上記の例に限定されるものではなく、例えば動作制御部３５、嵌合位置推定部３７、嵌合判定部３９等による処理の一部又は全部をロボットコントローラ９で行ってもよい。
【００４７】
＜４．上位コントローラの制御内容及びワークの動作＞
次に、図４及び図５乃至図１４により、嵌合作業時に上位コントローラ１１が実行する制御内容の一例及びワークの動作の一例について説明する。図４は、嵌合作業時に上位コントローラ１１が実行する制御内容の一例を表すフローチャートである。図５乃至図１４は、嵌合作業におけるワークの動作の一例を表す説明図である。
【００４８】
ステップＳ５では、上位コントローラ１１は、動作制御部３５により、モータ３のモータシャフト３ＢをＺ軸に沿って負の方向に移動させ、減速機５の開口部５Ｄに挿入する。
【００４９】
ステップＳ１０では、上位コントローラ１１は、第４動作制御部４７により、モータ３の出力ギア３ＣをＸ軸方向及びＹ軸方向に沿って移動させ、出力ギア３Ｃを減速機５の開口部５Ｄの内壁に押し当てる。
【００５０】
図５に、このときのワークの動作の一例を示す。図５に示す例では、モータ３の出力ギア３Ｃを減速機５の開口部５Ｄの内壁に対し、Ｘ軸方向正側、Ｘ軸方向負側、Ｙ軸方向正側、Ｙ軸方向負側の４方向に押し当てる。
【００５１】
図４に戻り、ステップＳ１５では、上位コントローラ１１は、嵌合位置推定部３７により、上記ステップＳ１０において出力ギア３Ｃを開口部５Ｄの内壁に押し当てた際の出力ギア３Ｃの位置（例えば回転軸心ＡｘＭの位置）に基づいて、出力ギア３Ｃを遊星歯車５Ｃに嵌合させることが可能なＸＹ平面上の嵌合位置を算出する。前述のように、例えばＸ軸方向正側の押し当て位置がＰｐｘ、Ｘ軸方向負側の押し当て位置がＰｎｘ、Ｙ軸方向正側の押し当て位置がＰｐｙ、Ｙ軸方向負側の押し当て位置がＰｎｙである場合、嵌合位置の座標を｛（Ｐｐｘ＋Ｐｎｘ）／２，（Ｐｐｙ＋Ｐｎｙ）／２｝と算出する。
【００５２】
ステップＳ２０では、上位コントローラ１１は、第５動作制御部４９により、出力ギア３Ｃ（モータシャフト３Ｂ）をＸＹ平面方向に移動させて、上記ステップＳ１５で算出した嵌合位置に移動させる。
【００５３】
ステップＳ２５では、上位コントローラ１１は、第１動作制御部４１により、モータ３のモータシャフト３Ｂを、上記嵌合位置を通りＺ軸に平行なＺ軸ＡｘＺに沿って移動させ、出力ギア３Ｃを減速機５の遊星歯車５Ｃに突き当てる。
【００５４】
図６及び図７に、このときのワークの動作の一例を示す。図６に示すように、モータ３のモータシャフト３ＢがＺ軸ＡｘＺに沿ってＺ軸負の方向に移動される。その結果、図７に示すように、モータ３の出力ギア３Ｃが減速機５の遊星歯車５Ｃに突き当たる。なお、図７は３個の遊星歯車５Ｃに対する嵌合を２個の歯車に対する嵌合として概念的に図示している（図９、図１１、図１２、図１４も同様）。また、この時点で仮に出力ギア３Ｃと遊星歯車５Ｃとの間に位相のずれ及び傾きのずれがない場合には、出力ギア３Ｃが遊星歯車５Ｃに嵌合されることとなるが、この例では位相のずれ及び傾きのずれの少なくとも一方が生じているものとする。
【００５５】
図４に戻り、ステップＳ３０では、上位コントローラ１１は、第２動作制御部４３により、モータ３の出力ギア３Ｃを所定の力で減速機５の遊星歯車５Ｃに押し当てる。この所定の力による押し当ては、力覚センサ３３の検出値に基づく力制御により実行される。
【００５６】
ステップＳ３５では、上位コントローラ１１は、第３動作制御部４５により、モータ３を回転軸心ＡｘＭ周りに一定の角度内で往復回転させることにより、出力ギア３Ｃを回転軸心ＡｘＭ周りに一定の角度内で往復回転させる。なお、この際にモータ３の回転駆動は行われない。
【００５７】
図８及び図９に、このときのワークの動作の一例を示す。図８に示すように、モータ３が回転軸心ＡｘＭ周りに一定の角度内で往復回転され、これに伴ってモータシャフト３Ｂ及び出力ギア３Ｃが回転軸心ＡｘＭ周りに一定の角度内で往復回転される。このとき、図９に示すように、モータ３の出力ギア３Ｃの先端中心の制御点Ｐの位置が変動しないように往復回転動作が行われる。
【００５８】
図４に戻り、ステップＳ４０では、上位コントローラ１１は、第２動作制御部４３により、モータシャフト３Ｂの回転軸心ＡｘＭのＺ軸ＡｘＺに対する傾斜角度θを徐々に大きくすると共に、回転軸心ＡｘＭの傾斜方向をＺ軸ＡｘＺ周りに旋回させる。
【００５９】
図１０及び図１１に、このときのワークの動作の一例を示す。図１０に示すように、当該旋回動作は、Ｚ軸に垂直な平面（ＸＹ平面）で見ると、モータシャフト３Ｂの回転軸心ＡｘＭがＺ軸ＡｘＺを中心として旋回する渦巻きの軌道を描くような動作となる。また、旋回するにつれて回転軸心ＡｘＭとモータ３の底面との交点ｍはＸＹ平面に垂直な方向、すなわちＺ軸負の方向（下方向）へと動くことから、当該旋回動作は螺旋の軌道を描くような動作とも言うことができる。このとき、図１１に示すように、モータ３の出力ギア３Ｃの先端中心の制御点Ｐの位置が変動しないように旋回動作が行われる。
【００６０】
なお、前述のように、上記ステップＳ３５の往復回転動作とステップＳ４０の旋回動作は同時に並行して行われる。
【００６１】
図４に戻り、ステップＳ４５では、上位コントローラ１１は、嵌合判定部３９により、上記往復回転動作及び旋回動作の実行中に、出力ギア３Ｃと遊星歯車５Ｃとの相対距離が所定のしきい値を下回ったか否かを判定する。相対距離がしきい値以上である場合には（ステップＳ４５：ＮＯ）、上記ステップＳ３５に戻る。一方、相対距離がしきい値を下回った場合には（ステップＳ４５：ＹＥＳ）、ステップＳ５０に移る。
【００６２】
ステップＳ５０では、上位コントローラ１１は、第２動作制御部４３及び第３動作制御部４５により、上記ステップＳ３５で開始した出力ギア３Ｃの回転軸心ＡｘＭ周りの往復回転動作とステップＳ４０で開始したＺ軸ＡｘＺ周りの旋回動作とを停止する。
【００６３】
図１２に、このときのワークの動作の一例を示す。図１２に示すように、出力ギア３Ｃの往復回転動作と旋回動作により、出力ギア３Ｃと遊星歯車５Ｃとの位相のずれ及び傾きのずれが解消されると、出力ギア３Ｃが遊星歯車５Ｃに一定量だけ嵌合し、往復回転動作と旋回動作が停止される。
【００６４】
図４に戻り、ステップＳ５５では、上位コントローラ１１は、動作制御部３５により、モータ３のモータシャフト３Ｂを回転軸心ＡｘＭ（Ｚ軸ＡｘＺと傾きのずれ分だけ相違）に沿って所定の力で移動させ、出力ギア３Ｃを遊星歯車５Ｃに押し込む。この所定の力による押し込みは、力覚センサ３３の検出値に基づく力制御により実行される。なお、各モータ１５のトルク制御により実行してもよい。
【００６５】
図１３及び図１４に、このときのワークの動作の一例を示す。図１３及び図１４に示すように、モータシャフト３Ｂが回転軸心ＡｘＭに沿って所定の力で押し込まれることにより、出力ギア３Ｃが遊星歯車５Ｃに押し込まれ、出力ギア３Ｃと遊星歯車５Ｃとの嵌合が完了する。その後、本フローを終了する。
【００６６】
＜５．実施形態の効果＞
以上説明したように、本実施形態の嵌合装置１は、モータ３をハンドリングするロボット７と、ロボット７を制御する上位コントローラ１１と、を有し、上位コントローラ１１は、モータ３の出力ギア３ＣをＺ軸ＡｘＺに沿って移動させ、出力ギア３Ｃを減速機５の遊星歯車５Ｃに突き当てる第１の動作をロボット７に実行させる第１動作制御部４１と、出力ギア３Ｃを所定の力で遊星歯車５Ｃに押し当てつつ、出力ギア３Ｃの回転軸心ＡｘＭのＺ軸ＡｘＺに対する傾斜角度を徐々に大きくすると共に傾斜方向をＺ軸ＡｘＺ周りに旋回させる第２の動作をロボット７に実行させる第２動作制御部４３と、を有する。
【００６７】
嵌合装置１により嵌合作業を実行する場合、嵌合部（本実施形態では出力ギア３Ｃ）と被嵌合部（本実施形態では遊星歯車５Ｃ）との間に傾きのずれがあると、嵌合作業の達成の障害となりうる。傾きのずれは、傾きの方向のずれと傾きの大きさ（角度）のずれに分けられる。本実施形態によれば、上記旋回動作により、傾きの方向のずれと傾きの大きさのずれの両方を網羅的に補正することが可能となり、出力ギア３Ｃと遊星歯車５Ｃとの間に傾きのずれがある場合でも効率的に解消することができる。また、傾斜角度の変化速度を小さくすることにより、動作精度を高めることができ、よりクリアランスの小さい精密な嵌合が可能となる。したがって、嵌合の成功率を高めることができる。
【００６８】
また、本実施形態では特に、上位コントローラ１１は、出力ギア３Ｃの回転軸心ＡｘＭ周りの回転である第３の動作をロボット７に実行させる第３動作制御部４５を有する。
【００６９】
嵌合装置１により、例えば歯車嵌合やスプライン嵌合等を実行する場合、嵌合部と被嵌合部との間に軸心周りの位相のずれがあると、嵌合作業の達成の障害となりうる。本実施形態によれば、出力ギア３Ｃの回転軸心ＡｘＭ周りの回転を実行することにより、出力ギア３Ｃと遊星歯車５Ｃとの間に位相のずれがある場合でも解消することができる。また、回転速度を小さくすることにより、動作精度を高めることができ、よりクリアランスの小さい精密な嵌合が可能となる。したがって、歯車嵌合やスプライン嵌合等の成功率を高めることができる。
【００７０】
また、本実施形態では特に、減速機５は、モータ３の出力ギア３Ｃ（又はモータシャフト３Ｂ）をＺ軸ＡｘＺに垂直なＸＹ平面方向に押し当て可能な開口部５Ｄを有しており、上位コントローラ１１は、出力ギア３ＣをＸＹ平面方向に沿って移動させ、出力ギア３Ｃを開口部５Ｄの内壁に押し当てる第４の動作をロボット７に実行させる第４動作制御部４７と、出力ギア３Ｃを開口部５Ｄに押し当てた際の出力ギア３Ｃの位置に基づいて、出力ギア３ＣのＸＹ平面方向における嵌合位置を推定する嵌合位置推定部３７と、出力ギア３ＣＸＹ平面方向に移動させて嵌合位置に移動させる第５の動作をロボット７に実行させる第５動作制御部４９と、を有する。
【００７１】
嵌合装置１により嵌合作業を実行する場合、嵌合部と被嵌合部との間に嵌合方向に垂直な面方向の位置ずれがあると、嵌合作業の達成の障害となりうる。本実施形態によれば、モータ３の出力ギア３Ｃを減速機５の開口部５Ｄに押し当てる動作により、ＸＹ平面方向における嵌合可能な嵌合位置を自動的に推定できる。そして、出力ギア３ＣをＸＹ平面方向に移動させて推定した嵌合位置に移動させることにより、出力ギア３Ｃと遊星歯車５Ｃとの間に嵌合方向に垂直な面方向の位置ずれがある場合でも解消することができる。したがって、嵌合の成功率を高めることができる。
【００７２】
また、本実施形態では特に、上位コントローラ１１は、第２の動作の実行中に出力ギア３Ｃと遊星歯車５Ｃとの相対距離が所定のしきい値を下回ったか否かを判定する嵌合判定部３９を有し、第２動作制御部４３は、嵌合判定部３９により相対距離がしきい値を下回ったと判定された場合に、第２の動作を停止する。
【００７３】
これにより、出力ギア３Ｃと遊星歯車５Ｃとの間の傾きのずれが解消された場合に、直ちに第２の動作を停止させることができる。したがって、その後の挿入動作に速やかに移行することが可能となり、嵌合作業に要する作業時間を短縮できる。また、嵌合後に無理な力がかかることにより出力ギア３Ｃ又は遊星歯車５Ｃ等に変形や破損等が生じることを防止できる。
【００７４】
また、本実施形態では特に、上位コントローラ１１は、ロボット７がモータ３の出力ギア３Ｃの先端位置を制御点Ｐとしてモータ３をハンドリングするように制御する。これにより、出力ギア３Ｃの先端位置を基準とした高精度な動作を実行することが可能となる。
【００７５】
また、本実施形態では特に、ロボット７は、モータ３から受ける反力を検出する力覚センサ３３を有する。これにより、力覚センサ３３の検出結果を用いた高精度な力制御が可能となる。したがって、出力ギア３Ｃの開口部５Ｄへの押し当て動作や、出力ギア３Ｃの遊星歯車５Ｃへの突き当て動作等の力制御による動作の精度を高めることができる。
【００７６】
また、本実施形態では特に、モータ３の出力ギア３Ｃは、減速機５の遊星歯車機構５Ａの太陽歯車を構成しており、減速機５の遊星歯車機構５Ａは、出力ギア３Ｃとそれぞれ噛み合う複数の遊星歯車５Ｃを有する。
【００７７】
遊星歯車機構５Ａを構成する太陽歯車である出力ギア３Ｃを複数の遊星歯車５Ｃに嵌合させる作業を実行する場合、出力ギア３Ｃと複数の遊星歯車５Ｃとが噛み合う必要があるため、両者の間に、嵌合方向に垂直な面方向の位置ずれ、位相のずれ、傾きのずれのいずれか１つでも存在すると、嵌合作業の達成の障害となりうる。本実施形態では、以上説明した一連の動作により位置ずれ、位相のずれ、傾きのずれのいずれも解消することができ、嵌合の成功率を高めることができる。
【００７８】
＜６．変形例＞
なお、開示の実施形態は、上記に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
【００７９】
例えば、以上では、遊星歯車機構を構成する太陽歯車を複数の遊星歯車に嵌合させる場合を例にとって説明したが、嵌合装置１は、上記以外のギア嵌合に対しても適用可能である。例えば、遊星歯車機構のいずれかの遊星歯車又は内歯車をその他の歯車に嵌合させる場合に適用してもよい。また、その他の歯車機構、例えば波動歯車機構を構成するフレックススプラインをサーキュラスプラインに嵌合させる場合等に適用してもよい。また、嵌合対象の歯車を複数の歯車に対して嵌合させる場合に限定されるものではなく、単数の歯車に対して嵌合させる場合に適用してもよい。
【００８０】
また例えば、以上ではギア嵌合を例にとって説明したが、嵌合装置１は、例えば図１５乃至図１７に示すようなスプライン嵌合等の作業にも適用可能である。図１５乃至図１７に示す例では、外周面に複数の歯５５が形成されたスプライン軸５７（嵌合部の一例）を有する第１のワーク５９を、対応する形状のスプライン穴６１（被嵌合部の一例）が形成された第２のワーク６３に嵌合させる。このような第１のワーク５９及び第２のワーク６３による嵌合は、例えばプロペラシャフトとプロペラとの嵌合等に利用される。このようなスプライン嵌合を実行する場合にも、上記実施形態と同様の効果を得ることができる。
【００８１】
また、上記の他にも、例えば多角形状（四角形、六角形等）の軸と穴の嵌合や、楕円形状の軸と穴の嵌合等、位相のずれが生じうる嵌合作業であれば、嵌合装置１を適用することができる。さらには、位相のずれが生じない、例えば円形状の軸と穴との嵌合の場合でも、傾きのずれが生じうる嵌合作業であれば、嵌合装置１を適用することが可能である。
【００８２】
また、以上では、嵌合部（出力ギア３Ｃ）を備えた第１のワーク（モータ３）をハンドリングして被嵌合部（遊星歯車５Ｃ）を備えた第２のワーク（減速機５）に嵌合させる場合を例にとって説明したが、これに限定されるものではない。例えば、被嵌合部（遊星歯車５Ｃ）を備えた第２のワーク（減速機５）をハンドリングして嵌合部（出力ギア３Ｃ）を備えた第１のワーク（モータ３）に嵌合させてもよい。この場合には、上記実施形態においてモータ３に対して実行した動作に対応する相対的な動作を減速機５に対して実行すればよい。
【００８３】
具体的には、第１動作制御部４１は、減速機５をＺ軸ＡｘＺに沿って移動させ、減速機５の遊星歯車５Ｃをモータ３の出力ギア３Ｃに突き当てる第１の動作をロボット７に実行させる。また、第２動作制御部４３は、減速機５の遊星歯車５Ｃを所定の力でモータ３の出力ギア３Ｃに押し当てつつ、減速機５の回転軸心ＡｘＲ（図２に示すように、３個の遊星歯車５Ｃ間の隙間の軸心であり、嵌合された出力ギア３Ｃの回転軸心ＡｘＭと一致する。第２軸心の一例）のＺ軸ＡｘＺに対する傾斜角度θを徐々に大きくすると共に、回転軸心ＡｘＲの傾斜方向をＺ軸ＡｘＺ周りに旋回させる第２の動作をロボット７に実行させる。また、第３動作制御部４５は、減速機５の遊星歯車機構５Ａを回転軸心ＡｘＲ周りに回転させる第３の動作をロボット７に実行させる。第４動作制御部４７は、減速機５をＸＹ平面方向に沿って移動させ、モータ３の出力ギア３Ｃを筐体５Ｂの開口部５Ｄの内壁に押し当てる第４の動作をロボット７に実行させる。嵌合位置推定部３７は、出力ギア３Ｃを開口部５Ｄの内壁に押し当てた際の減速機５の位置（例えば回転軸心ＡｘＲの位置）に基づいて、３個の遊星歯車５Ｃを出力ギア３Ｃに嵌合させることが可能な嵌合位置を推定する。第５動作制御部４９は、減速機５をＸＹ平面方向に移動させて、上記嵌合位置推定部３７により推定した嵌合位置に移動させる。
【００８４】
また例えば、嵌合部（出力ギア３Ｃ）を備えた第１のワーク（モータ３）と、被嵌合部（遊星歯車５Ｃ）を備えた第２のワーク（減速機５）の両方をハンドリングして、嵌合作業を実行してもよい。この場合には、上記実施形態においてモータ３に対して実行した動作に対応する相対的な動作を、モータ３と減速機５の両方に対して実行すればよい。この場合、ロボット７を２台使用してもよいし、例えば双腕型のロボットを使用して各アームで第１のワークと第２のワークをそれぞれハンドリングしてもよい。
【００８５】
＜７．コントローラのハードウェア構成例＞
次に、図１８を参照しつつ、上記で説明したＣＰＵ９０１が実行するプログラムにより実装された動作制御部３５、嵌合位置推定部３７、及び嵌合判定部３９等による処理を実現する上位コントローラ１１のハードウェア構成例について説明する。なお、ロボットコントローラ９についても同様のハードウェア構成としてもよい。この場合には図１８中では、モータ１５に駆動電力を給電する機能に係る構成についての図示が省略される。
【００８６】
図１８に示すように、上位コントローラ１１は、例えば、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、ＡＳＩＣ又はＦＰＧＡ等の特定の用途向けに構築された専用集積回路９０７と、入力装置９１３と、出力装置９１５と、記録装置９１７と、ドライブ９１９と、接続ポート９２１と、通信装置９２３とを有する。これらの構成は、バス９０９や入出力インターフェース９１１を介し相互に信号を伝達可能に接続されている。
【００８７】
プログラムは、例えば、ＲＯＭ９０３やＲＡＭ９０５、例えばハードディスク等である記録装置９１７等に記録しておくことができる。
【００８８】
また、プログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のＣＤ・ＭＯディスク・ＤＶＤ等の光ディスク、半導体メモリ等のリムーバブルな記録媒体９２５に、一時的又は非一時的（永続的）に記録しておくこともできる。このような記録媒体９２５は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体９２５に記録されたプログラムは、ドライブ９１９により読み出されて、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００８９】
また、プログラムは、例えば、ダウンロードサイト・他のコンピュータ・他の記録装置等（図示せず）に記録しておくこともできる。この場合、プログラムは、ＬＡＮやインターネット等のネットワークＮＷを介し転送され、通信装置９２３がこのプログラムを受信する。そして、通信装置９２３が受信したプログラムは、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００９０】
また、プログラムは、例えば、適宜の外部接続機器９２７に記録しておくこともできる。この場合、プログラムは、適宜の接続ポート９２１を介し転送され、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００９１】
そして、ＣＰＵ９０１が、上記記録装置９１７に記録されたプログラムに従い各種の処理を実行することにより、上記の動作制御部３５、嵌合位置推定部３７、及び嵌合判定部３９等による処理が実現される。この際、ＣＰＵ９０１は、例えば、上記記録装置９１７からプログラムを直接読み出して実行してもよいし、ＲＡＭ９０５に一旦ロードした上で実行してもよい。更にＣＰＵ９０１は、例えば、プログラムを通信装置９２３やドライブ９１９、接続ポート９２１を介し受信する場合、受信したプログラムを記録装置９１７に記録せずに直接実行してもよい。
【００９２】
また、ＣＰＵ９０１は、必要に応じて、例えばマウス・キーボード・マイク（図示せず）等の入力装置９１３から入力する信号や情報に基づいて各種の処理を行ってもよい。
【００９３】
そして、ＣＰＵ９０１は、上記の処理を実行した結果を、例えば表示装置や音声出力装置等の出力装置９１５から出力してもよく、さらにＣＰＵ９０１は、必要に応じてこの処理結果を通信装置９２３や接続ポート９２１を介し送信してもよく、上記記録装置９１７や記録媒体９２５に記録させてもよい。
【００９４】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【００９５】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「同じ」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【００９６】
但し、例えばしきい値（図４のフローチャート参照）や基準値等、所定の判定基準となる値あるいは区切りとなる値の記載がある場合は、それらに対しての「同一」「等しい」「異なる」等は、上記とは異なり、厳密な意味である。
【００９７】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００９８】
１            嵌合装置
３            モータ（第１のワーク）
３Ｃ          出力ギア（嵌合部、太陽歯車）
５            減速機（第２のワーク）
５Ａ          遊星歯車機構
５Ｃ          遊星歯車（被嵌合部）
５Ｄ          開口部（押し当て部）
７            ロボット（ハンドリング装置）
９            ロボットコントローラ
１１          上位コントローラ（コントローラ）
３３          力覚センサ
３７          嵌合位置推定部
３９          嵌合判定部
４１          第１動作制御部
４３          第２動作制御部
４５          第３動作制御部
４７          第４動作制御部
４９          第５動作制御部
５７          スプライン軸（嵌合部）
５９          第１のワーク
６１          スプライン穴（被嵌合部）
６３          第２のワーク
ＡｘＭ        回転軸心（第１軸心）
ＡｘＺ        Ｚ軸（所定の軸）
Ｐ            制御点
【図１】
0006941305.tif 000002
【図２】
0006941305.tif 000003
【図３】
0006941305.tif 000004
【図４】
0006941305.tif 000005
【図５】
0006941305.tif 000006
【図６】
0006941305.tif 000007
【図７】
0006941305.tif 000008
【図８】
0006941305.tif 000009
【図９】
0006941305.tif 000010
【図１０】
0006941305.tif 000011
【図１１】
0006941305.tif 000012
【図１２】
0006941305.tif 000013
【図１３】
0006941305.tif 000014
【図１４】
0006941305.tif 000015
【図１５】
0006941305.tif 000016
【図１６】
0006941305.tif 000017
【図１７】
0006941305.tif 000018
【図１８】
0006941305.tif 000019