(57)【要約】【課題】高速かつ精密な嵌合を実現する。【解決手段】ロボット装置１００は、ロボットアーム２５１と、ロボットアーム２５１に設けられたロボットハンド２５２と、リング部材を軸部材に組み付けるようロボットアーム２５１及びロボットハンド２５２を制御するロボット制御装置３００と、を備える。ロボット制御装置３００は、ロボットハンド２５２にリング部材を把持させる。次に、ロボット制御装置３００は、リング部材を軸部材の軸方向に対して傾けて、リング部材を軸部材に軸方向に押し付けるよう、ロボットアーム２５１を制御する。次に、ロボット制御装置３００は、リング部材の内周を軸部材の側面に押し付ける径方向に、リング部材を軸部材に押し付けて、リング部材が軸部材から受ける反力のうち、軸方向に直交する方向に延びる仮想線まわりの回転力に倣ってリング部材の姿勢を変更するよう、ロボットアーム２５１を制御する。【選択図】図１
2019084650.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームと、
前記ロボットアームに設けられたロボットハンドと、
嵌合部材を軸部材に嵌合するよう前記ロボットアーム及び前記ロボットハンドを制御する制御部と、を備え、
前記制御部は、
前記ロボットハンドに前記嵌合部材を把持させる第１の処理と、
前記嵌合部材を前記軸部材の軸方向に対して傾けて、前記嵌合部材を前記軸部材に前記軸方向に押し付ける第２の処理と、
前記嵌合部材の内周を前記軸部材の側面に押し付ける径方向に、前記嵌合部材を前記軸部材に押し付けて、前記嵌合部材が前記軸部材から受ける反力のうち、前記軸方向に直交する方向に延びる仮想線まわりの回転力に倣って前記嵌合部材の姿勢を変更する第３の処理と、を実行する、
ことを特徴とするロボット装置。
【請求項２】
前記ロボットアームに設けられ、前記ロボットアームの先端に作用する力に応じた信号を出力するセンサを更に備え、
前記制御部は、前記第３の処理において、前記センサからの信号により得られる前記回転力の値が閾値を下回るまで、前記嵌合部材の姿勢を変更する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記制御部は、前記第３の処理において、前記嵌合部材の内周が前記軸部材の側面に接触する位置を、前記軸部材の周方向に移動させながら、前記嵌合部材を前記径方向に前記軸部材に押し付ける、
ことを特徴とする請求項１又は２に記載のロボット装置。
【請求項４】
前記軸部材の側面が、円筒面と、前記円筒面に対して凹む凹面と、を有しており、
前記制御部は、前記第３の処理において、前記嵌合部材の内周を前記円筒面に押し付ける、
ことを特徴とする請求項１乃至３のいずれか１項に記載のロボット装置。
【請求項５】
前記制御部は、前記第２の処理において、前記嵌合部材及び前記軸部材の形状に応じて、前記軸方向に対して傾斜する前記嵌合部材の姿勢を設定する、
ことを特徴とする請求項４に記載のロボット装置。
【請求項６】
前記制御部は、前記第２の処理において、前記嵌合部材を前記軸部材に押し付けたときに生じる前記ロボットアームの先端に作用する力の振動の振幅が所定範囲内となるまで、前記軸方向に対して傾斜する前記嵌合部材の姿勢を調整して前記嵌合部材を前記軸部材に押し付ける動作を、繰り返し行う、
ことを特徴とする請求項４に記載のロボット装置。
【請求項７】
嵌合部材を軸部材に嵌合するよう、ロボットアーム、及び前記ロボットアームに設けられたロボットハンドを制御して、組立品を製造する組立品の製造方法であって、
前記ロボットハンドに前記嵌合部材を把持させる第１のステップと、
前記嵌合部材を前記軸部材の軸方向に対して傾けて、前記嵌合部材を前記軸部材に前記軸方向に押し付ける第２のステップと、
前記嵌合部材の内周を前記軸部材の側面に押し付ける径方向に、前記嵌合部材を前記軸部材に押し付けて、前記嵌合部材が前記軸部材から受ける反力のうち、前記軸方向に直交する方向の仮想線まわりの回転力に倣って前記嵌合部材の姿勢を変更する第３のステップと、を実行する、
ことを特徴とする組立品の製造方法。
【請求項８】
前記ロボットアームの先端に作用する力に応じた信号を出力するセンサが、前記ロボットアームに設けられており、
前記第３のステップにおいて、前記センサからの信号により得られる前記回転力の値が閾値を下回るまで、前記嵌合部材の姿勢を変更する、
ことを特徴とする請求項７に記載の組立品の製造方法。
【請求項９】
前記第３のステップにおいて、前記嵌合部材の内周が前記軸部材の側面に接触する位置を、前記軸部材の周方向に移動させながら、前記嵌合部材を前記径方向に前記軸部材に押し付ける、
ことを特徴とする請求項７又は８に記載の組立品の製造方法。
【請求項１０】
前記軸部材の側面が、円筒面と、前記円筒面に対して凹む凹面と、を有しており、
前記第３のステップにおいて、前記嵌合部材の内周を前記円筒面に押し付ける、
ことを特徴とする請求項７乃至９のいずれか１項に記載の組立品の製造方法。
【請求項１１】
前記第２のステップにおいて、前記嵌合部材及び前記軸部材の形状に応じて、前記軸方向に対して傾斜する前記嵌合部材の姿勢を設定する、
ことを特徴とする請求項１０に記載の組立品の製造方法。
【請求項１２】
前記第２のステップを、前記嵌合部材を前記軸部材に押し付けたときに生じる前記ロボットアームの先端に作用する力の振動の振幅が所定範囲内となるまで、前記軸方向に対して傾斜する前記嵌合部材の姿勢を調整して前記嵌合部材を前記軸部材に押し付ける動作を、繰り返し行う、
ことを特徴とする請求項１０に記載の組立品の製造方法。
【請求項１３】
前記凹面が、Ｄカット面、又は周方向に延びる溝面である、
ことを特徴とする請求項１０乃至１２のいずれか１項に記載の組立品の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組み立てを行うロボット装置、及びロボット装置を用いた組立品の製造方法に関する。
【背景技術】
【０００２】
近年、ロボットにより組み立てを行う事例が増えている。組み立てを行うロボットにおいては、精密さと高速動作の両立が重要である。しかし、ロボットにおいては、負荷と動力源の間に減速機やボールねじ等の伝達機構を配置することが多く、伝達機構が精密な組み立ての妨げとなっていた。例えば、伝達機構には、ねじれや減速機の歯の噛み合いによる角度誤差、バックラッシ、摩擦、小部品の微小振動、ボールねじの変形による角度誤差、ネジ共振、ロストモーション等が生じる。動力源を動作させると、伝達機構を介して負荷に推力が伝わり、負荷を駆動することができる。しかし、伝達機構は、ロボットアームのリンクに代表される構造体と比較すると柔らかいため、ねじれが生じ、ばねのように振る舞う。このため、負荷は動力源に対して単振動することとなり、精密さが失われる。また、動力源に単振動の反力が作用すると動力源の位置がずれ、さらに精密さが失われることとなる。
【０００３】
そこで、特許文献１では、第１部品に第２部品を接触させたときに第２部品が第１部品から受ける力から、第２部品の移動方向と移動量を演算し、第２部品の位置合わせを行うことが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３２８８５１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の方法では、演算した移動量がロボットアームの動作分解能以下となる場合もあり、このような場合には、第１部品と第２部品とを高速かつ精密に嵌合するのが困難であった。即ち、演算した移動量の分だけ第２部品を移動させようとしても、ロボットアームの動作分解能により、第２部品が移動量よりも移動することがあった。したがって、複数回施行して偶然に嵌合されることを期待しなければならず、精密な嵌合ができない、又は嵌合が完了するのに時間を要していた。
【０００６】
そこで、本発明は、高速かつ精密に嵌合部材を軸部材に嵌合することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のロボット装置は、ロボットアームと、前記ロボットアームに設けられたロボットハンドと、嵌合部材を軸部材に嵌合するよう前記ロボットアーム及び前記ロボットハンドを制御する制御部と、を備え、前記制御部は、前記ロボットハンドに前記嵌合部材を把持させる第１の処理と、前記嵌合部材を前記軸部材の軸方向に対して傾けて、前記嵌合部材を前記軸部材に前記軸方向に押し付ける第２の処理と、前記嵌合部材の内周を前記軸部材の側面に押し付ける径方向に、前記嵌合部材を前記軸部材に押し付けて、前記嵌合部材が前記軸部材から受ける反力のうち、前記軸方向に直交する方向に延びる仮想線まわりの回転力に倣って前記嵌合部材の姿勢を変更する第３の処理と、を実行する、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、高速かつ精密に嵌合部材を軸部材に嵌合することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係るロボット装置の斜視図である。
【図２】第１実施形態に係るロボット制御装置の構成を示すブロック図である。
【図３】第１実施形態に係るロボット装置の制御系を示す制御ブロック図である。
【図４】第１実施形態においてロボットを力制御する際のフローチャートである。
【図５】第１実施形態においてロボットを位置制御する際のフローチャートである。
【図６】第１実施形態におけるロボットの模式図である。
【図７】第１実施形態において組立品を製造する製造方法の各ステップを示すフローチャートである。
【図８】（ａ）〜（ｃ）は、第１実施形態において組立品を製造する製造方法の各ステップにおけるベアリングとシャフトとの位置関係を示す説明図である。
【図９】（ａ）〜（ｃ）は、第１実施形態において組立品を製造する製造方法の各ステップにおけるベアリングとシャフトとの位置関係を示す説明図である。
【図１０】第１実施形態において検出される力のプロファイルである。
【図１１】（ａ）〜（ｃ）は、第２実施形態に係る探り処理におけるベアリングとシャフトとの位置関係を示す説明図である。
【図１２】第２実施形態において検出される力のプロファイルである。
【図１３】（ａ）は、第３実施形態に係る組立対象のベアリングとシャフトとの位置関係を示す断面図である。（ｂ）は、参考例のベアリングとシャフトとの位置関係を示す断面図である。（ｃ）は、参考例のベアリング及びシャフトの上面図である。
【図１４】（ａ）は、第３実施形態の変形例に係る組立対象のベアリングとシャフトとの位置関係を示す断面図である。（ｂ）は、参考例のベアリングとシャフトとの位置関係を示す断面図である。
【図１５】第４実施形態における押付処理を示すフローチャートである。
【図１６】（ａ）及び（ｂ）は、第４実施形態において計測された押付力のプロファイルである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
［第１実施形態］
図１は、第１実施形態に係るロボット装置１００の斜視図である。図１に示すように、ロボット装置１００は、マニピュレータであるロボット２００と、ロボット２００の動作を制御する制御部の一例であるロボット制御装置３００と、を備えている。また、ロボット装置１００は、ロボット制御装置３００に教示データを送信する教示装置としてのティーチングペンダント（ＴＰ）４００を備えている。ＴＰ４００は、操作者が操作するものであり、ロボット２００やロボット制御装置３００の動作を指定するのに用いる。
【００１１】
ロボット２００は、垂直多関節のロボットアーム２５１と、ロボットアーム２５１の先端に取り付けられたエンドエフェクタの一例であるロボットハンド２５２と、を備えている。ロボットアーム２５１の基端は、台座１５０に固定されている。ロボットハンド２５２は、部品やツール等の物体（ワーク）を把持するものである。
【００１２】
ロボットアーム２５１は、複数の関節、例えば６つの関節Ｊ１〜Ｊ６を有している。ロボットアーム２５１は、各関節Ｊ１〜Ｊ６を各関節軸Ａ１〜Ａ６まわりにそれぞれ回転駆動する複数、例えば６つのサーボモータ２０１〜２０６を有している。ロボットアーム２５１は、複数のリンク２１００〜２１０６が各関節Ｊ１〜Ｊ６で回転可能に連結されている。ここで、基端側から先端側に向かって、リンク２１００〜２１０６が順に直列に連結されている。ロボットアーム２５１は、可動範囲の中であれば、任意の３次元位置で任意の３方向の姿勢に、ロボット２００の手先（ロボットアーム２５１の先端）を向けることができる。なお、ロボットアーム２５１の関節が回転関節である場合について説明するが、関節が直動関節であってもよい。「関節の位置」とは、関節が回転関節の場合は関節の回転位置（即ち角度）を示し、関節が直動関節の場合は関節の並進位置を示す。
【００１３】
ロボット２００の手先の位置及び姿勢は、ロボットアーム２５１の基端、即ち台座１５０を基準とする座標系Ｔｏで表現される。ロボット２００の手先には、座標系Ｔｅが設定されている。ここで、ロボット２００の手先とは、ロボットハンド２５２が物体を把持していない場合には、ロボットハンド２５２のことである。ロボットハンド２５２が物体を把持している場合は、ロボットハンド２５２と把持している物体を含めてロボット２００の手先という。つまり、ロボットハンド２５２が物体を把持している状態であるか物体を把持していない状態であるかにかかわらず、ロボットアーム２５１の先端から先を手先という。
【００１４】
各サーボモータ２０１〜２０６は、各関節Ｊ１〜Ｊ６をそれぞれ駆動する電動モータ２１１〜２１６と、各電動モータ２１１〜２１６にそれぞれ接続されたセンサ部２２１〜２２６とを有している。各センサ部２２１〜２２６は、各関節Ｊ１〜Ｊ６の位置、即ち角度に応じた信号を発生する位置センサを有する。また、各センサ部２２１〜２２６は、各関節Ｊ１〜Ｊ６のトルクに応じた信号を発生するトルクセンサを有する。また、各サーボモータ２０１〜２０６は、減速機やベルト、ベアリング等の不図示の伝達機構を介して各関節Ｊ１〜Ｊ６で駆動されるリンクに接続されている。
【００１５】
ロボット制御装置３００は、各サーボモータ２０１〜２０６の電動モータ２１１〜２１６の駆動を制御するサーボ制御部２３０を有する。サーボ制御部２３０は、各関節Ｊ１〜Ｊ６に対応する各トルク指令値に基づき、各関節Ｊ１〜Ｊ６のトルクがトルク指令値に追従するよう、各電動モータ２１１〜２１６に電流を出力し、各電動モータ２１１〜２１６の駆動を制御する。なお、第１実施形態では、サーボ制御部２３０は、ロボット制御装置３００の筐体内部に配置されているが、これに限定するものではなく、ロボット制御装置３００の筐体外部、例えばロボットアーム２５１の内部に配置されていてもよい。また、回転関節にはトルクが発生するが、直動関節には推力が発生する。回転関節のトルクと直動関節の推力を総称して「関節の推力」とする。
【００１６】
次に、ロボット制御装置３００について説明する。図２は、第１実施形態に係るロボット制御装置３００の構成を示すブロック図である。ロボット制御装置３００は、コンピュータで構成されており、処理部としてのＣＰＵ（Central  Processing  Unit）３０１を備えている。また、ロボット制御装置３００は、記憶部として、ＲＯＭ（Read  Only  Memory）３０２、ＲＡＭ（Random  Access  Memory）３０３、ＨＤＤ（Hard  Disk  Drive）３０４を備えている。また、ロボット制御装置３００は、記録ディスクドライブ３０５、各種のインタフェース３０６〜３０９を備えている。
【００１７】
ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、記録ディスクドライブ３０５、及びインタフェース３０６〜３０９は、互いに通信可能にバス３１０で接続されている。ＣＰＵ３０１は、プログラム３３０に従って演算処理及び制御処理を行う。ＲＯＭ３０２には、ＢＩＯＳ等の基本プログラムが格納されている。ＲＡＭ３０３は、ＣＰＵ３０１の演算処理結果等、各種データを一時的に記憶する記憶装置である。ＨＤＤ３０４は、ＣＰＵ３０１の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、ＣＰＵ３０１に、演算処理や制御処理を実行させるためのプログラム３３０を記録するものである。記録ディスクドライブ３０５は、記録ディスク３３１に記録された各種データやプログラム等を読み出すことができる。
【００１８】
ＴＰ４００はインタフェース３０６に接続されている。ＣＰＵ３０１はインタフェース３０６及びバス３１０を介してＴＰ４００からの教示データの入力を受け、ＨＤＤ３０４に格納する。サーボ制御部２３０は、インタフェース３０９に接続されている。ＣＰＵ３０１は、サーボ制御部２３０を介して各サーボモータ２０１〜２０６の各センサ部２２１〜２２６（図１）から検知結果（信号）を取得する。なお、ＣＰＵ３０１は、サーボ制御部２３０を介さずに直接、各センサ部２２１〜２２６から検知結果を取得するように構成してもよい。インタフェース３０７には、モニタ３２１が接続されており、モニタ３２１には、ＣＰＵ３０１の制御の下、各種画像が表示される。インタフェース３０８は、書き換え可能な不揮発性メモリや外付けＨＤＤ等の記憶部である外部記憶装置３２２が接続可能に構成されている。
【００１９】
なお、第１実施形態では、コンピュータ読み取り可能な記録媒体がＨＤＤ３０４であり、ＨＤＤ３０４にプログラム３３０が格納される場合について説明するが、これに限定するものではない。プログラム３３０は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム３３０を供給するための記録媒体としては、図２に示すＲＯＭ３０２，記録ディスク３３１、外部記憶装置３２２等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭ等の光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。
【００２０】
図３は、第１実施形態に係るロボット装置１００の制御系を示す制御ブロック図である。各センサ部２２１〜２２６は、各トルクセンサ５４１〜５４６と、各位置センサ５５１〜５５６とを有する。各位置センサ５５１〜５５６は、各関節Ｊ１〜Ｊ６の位置（角度）ｑ１〜ｑ６をそれぞれ検知し、位置ｑ１〜ｑ６を示す信号をロボット制御装置３００に出力（フィードバック）するものであり、例えばロータリエンコーダで構成される。
【００２１】
各トルクセンサ５４１〜５４６は、各関節Ｊ１〜Ｊ６のトルク（推力）τ１〜τ６をそれぞれ検知し、トルクτ１〜τ６を示す信号をロボット制御装置３００に出力（フィードバック）する。これら複数のトルクセンサ５４１〜５４６及び複数の位置センサ５５１〜５５６、即ち複数のセンサ部２２１〜２２６でセンサ５４０が構成されている。
【００２２】
ロボット制御装置３００のＣＰＵ３０１は、プログラム３３０を実行することにより、力検出部５０４、力制御部５０５、位置指令生成部５０６、及び指令部１１００として機能する。サーボ制御部２３０は、複数（６関節であるので６つ）の切替制御部５１１〜５１６と、複数（６関節であるので６つ）の位置制御部５２１〜５２６と、複数（６関節であるので６つ）のモータ制御部５３１〜５３６とを有する。
【００２３】
ＨＤＤ３０４には、ＴＰ４００を用いて操作者により設定された、力教示データ５０１及び位置教示データ５０２が格納されている。また、ＨＤＤ３０４には、ワークの型式に対応付けられたワークの形状データ１２００と、ロボット２００の形状データであるロボットモデル５０３とが格納されている。
【００２４】
力検出部５０４は、ロボットモデル５０３、トルクセンサ５４１〜５４６により検知されたトルクτ１〜τ６、及び位置センサ５５１〜５５６により検知された位置ｑ１〜ｑ６を用いて、ロボットアーム２５１の先端に作用する力Ｆを算出（検出）する。ここで、力Ｆには、３つの並進力と、３つの回転力（力のモーメント）との６つのパラメータが含まれている。
【００２５】
指令部１１００は、ＨＤＤ３０４に格納された力教示データ５０１、位置教示データ５０２、形状データ１２００及びロボットモデル５０３を取得する。指令部１１００は、力制御を行う力制御モードでは力指令値Ｆｒｅｆ及び位置指令値Ｐｒｅｆを力制御部５０５に出力し、位置制御を行う位置制御モードでは位置指令値Ｐｒｅｆを位置指令生成部５０６に出力する。力指令値Ｆｒｅｆには、力Ｆと同様、３つの並進力と、３つの回転力（力のモーメント）との６つのパラメータが含まれている。位置指令値Ｐｒｅｆには、ロボット２００の手先、即ちロボットアーム２５１の先端の位置姿勢を示す６つのパラメータが含まれている。
【００２６】
力制御部５０５は、ロボットモデル５０３、力指令値Ｆｒｅｆ、及び力Ｆを用いて、各関節Ｊ１〜Ｊ６に対するトルク指令値τＭＦｒｅｆ１〜τＭＦｒｅｆ６を求める。このとき、ロボットアーム２５１の先端に作用する力Ｆと力指令値Ｆｒｅｆとの力偏差が小さくなるようにトルク指令値τＭＦｒｅｆ１〜τＭＦｒｅｆ６を求める。力制御部５０５は、求めた各トルク指令値τＭＦｒｅｆ１〜τＭＦｒｅｆ６を各切替制御部５１１〜５１６に出力する。
【００２７】
位置指令生成部５０６は、位置指令値Ｐｒｅｆから逆運動学計算により各関節Ｊ１〜Ｊ６の位置指令値（角度指令値）ｑｒｅｆ１〜ｑｒｅｆ６を求め、各位置指令値ｑｒｅｆ１〜ｑｒｅｆ６を各位置制御部５２１〜５２６に出力する。各位置制御部５２１〜５２６は、各関節Ｊ１〜Ｊ６の位置ｑ１〜ｑ６と各関節Ｊ１〜Ｊ６の位置指令値ｑｒｅｆ１〜ｑｒｅｆ６との偏差が小さくなるようトルク指令値τＭＰｒｅｆ１〜τＭＰｒｅｆ６を求める。各位置制御部５２１〜５２６は、各トルク指令値τＭＰｒｅｆ１〜τＭＰｒｅｆ６を各切替制御部５１１〜５１６に出力する。
【００２８】
各切替制御部５１１〜５１６は、力制御部５０５から各トルク指令値τＭＦｒｅｆ１〜τＭＦｒｅｆ６を取得した場合には力制御モードに切り替え制御する。また、各切替制御部５１１〜５１６は、各位置制御部５２１〜５２６から各トルク指令値τＭＰｒｅｆ１〜τＭＰｒｅｆ６を取得した場合には位置制御モードに切り替え制御する。即ち、各切替制御部５１１〜５１６は、力制御モード時は、各トルク指令値τＭＦｒｅｆ１〜τＭＦｒｅｆ６を各トルク指令値τＭｒｅｆ１〜τＭｒｅｆ６として各モータ制御部５３１〜５３６に出力する。また、各切替制御部５１１〜５１６は、位置制御モード時は、各トルク指令値τＭＰｒｅｆ１〜τＭＰｒｅｆ６を各トルク指令値τＭｒｅｆ１〜τＭｒｅｆ６として各モータ制御部５３１〜５３６に出力する。
【００２９】
各モータ制御部５３１〜５３６は、各電動モータ２１１〜２１６の位置（角度）θ１〜θ６に基づき、各トルク指令値τＭｒｅｆ１〜τＭｒｅｆ６を実現するように各電流Ｃｕｒ１〜Ｃｕｒ６を各電動モータ２１１〜２１６に通電する。
【００３０】
次に、ロボット２００の力制御について説明する。図４は、第１実施形態においてロボット２００を力制御する際のフローチャートである。指令部１１００は、力制御部５０５に力指令値Ｆｒｅｆ及び位置指令値Ｐｒｅｆを指令（出力）する（Ｓ１１）。力指令値Ｆｒｅｆは、力教示データ５０１に格納され、位置指令値Ｐｒｅｆは、位置教示データ５０２に格納されている。この位置指令値Ｐｒｅｆは、力制御動作を開始する位置である。
【００３１】
力制御部５０５は、ロボットアーム２５１の先端にかかる力Ｆが力指令値Ｆｒｅｆに倣うようロボットモデル５０３に基づいて各電動モータ２１１〜２１６に対するトルク指令値（力）τＭＦｒｅｆ１〜τＭＦｒｅｆ６を算出する（Ｓ１２）。
【００３２】
各切替制御部５１１〜５１６は、各モータ制御部５３１〜５３６にトルク指令値（力）τＭＦｒｅｆ１〜τＭＦｒｅｆ６をトルク指令値τＭｒｅｆ１〜τＭｒｅｆ６として出力する（Ｓ１３）。各モータ制御部５３１〜５３６は、各電動モータ２１１〜２１６の角度θ１〜θ６に基づいて、各トルク指令値τＭｒｅｆ１〜τＭｒｅｆ６を実現するよう通電制御する（Ｓ１４）。各電動モータ２１１〜２１６は、通電されることにより各関節Ｊ１〜Ｊ６に関節トルクτ１〜τ６を発生する（Ｓ１５）。
【００３３】
各位置センサ５５１〜５５６は、各関節Ｊ１〜Ｊ６の位置ｑ１〜ｑ６を検知する（Ｓ１６）。各トルクセンサ５４１〜５４６は、各関節Ｊ１〜Ｊ６のトルクτ１〜τ６を検知する（Ｓ１７）。各関節Ｊ１〜Ｊ６の位置ｑ１〜ｑ６と各関節Ｊ１〜Ｊ６のトルクτ１〜τ６は、ロボット制御装置３００の力検出部５０４にフィードバックされる。
【００３４】
力検出部５０４は、ロボットモデル５０３、及び各関節Ｊ１〜Ｊ６の位置ｑ１〜ｑ６に基づき、関節Ｊ１〜Ｊ６のトルクτ１〜τ６を、ロボット２００の手先、即ちロボットアーム２５１の先端にかかる力Ｆに変換（演算）する（Ｓ１８）。なお、関節Ｊ１〜Ｊ６の位置ｑ１〜ｑ６の代わりに電動モータ２１１〜２１６の角度θ１〜θ６を用いてもよい。
【００３５】
ＣＰＵ３０１は、駆動が終了したか否かを判定し（Ｓ１９）、終了していない場合は（Ｓ１９：Ｎｏ）、ステップＳ１２〜Ｓ１８を繰り返す。上記フローに従って各電動モータ２１１〜２１６を駆動することで、ロボットアーム２５１の先端にかかる力Ｆを力指令値Ｆｒｅｆに制御することが可能である。なお、図４に示すフローチャートの順番に限定するものではなく、他の順番でも力制御は可能である。
【００３６】
次に、ロボット２００の位置制御について説明する。図５は、第１実施形態においてロボット２００を位置制御する際のフローチャートである。まず、指令部１１００は、位置指令生成部５０６に位置指令値Ｐｒｅｆを指令（出力）する（Ｓ２１）。位置指令値Ｐｒｅｆは、位置教示データ５０２に格納されている。
【００３７】
位置指令生成部５０６は、ロボットモデル５０３に基づき、位置指令値Ｐｒｅｆから各関節Ｊ１〜Ｊ６の位置指令値ｑｒｅｆ１〜ｑｒｅｆ６を算出する（Ｓ２２）。各位置制御部５２１〜５２６は、各関節Ｊ１〜Ｊ６の位置ｑ１〜ｑ６が各関節Ｊ１〜Ｊ６の位置指令値ｑｒｅｆ１〜ｑｒｅｆ６に倣うよう各電動モータ２１１〜２１６のトルク指令値（位置）τＭＰｒｅｆ１〜τＭＰｒｅｆ６を算出する（Ｓ２３）。各関節Ｊ１〜Ｊ６の位置を示す信号としては、位置ｑ１〜ｑ６の代わりに電動モータ２１１〜２１６の角度θ１〜θ６を用いてもよい。
【００３８】
各切替制御部５１１〜５１６は、各モータ制御部５３１〜５３６にトルク指令値（位置）τＭＰｒｅｆ１〜τＭＰｒｅｆ６をトルク指令値τＭｒｅｆ１〜τＭｒｅｆ６として出力する（Ｓ２４）。各モータ制御部５３１〜５３６は、各電動モータ２１１〜２１６の角度θ１〜θ６に基づいて、各トルク指令値τＭｒｅｆ１〜τＭｒｅｆ６を実現するよう通電制御する（Ｓ２５）。各電動モータ２１１〜２１６は、通電されることにより各関節Ｊ１〜Ｊ６に関節トルクτ１〜τ６を発生する（Ｓ２６）。
【００３９】
各位置センサ５５１〜５５６は、各関節Ｊ１〜Ｊ６の位置ｑ１〜ｑ６を検知する（Ｓ２７）。各関節Ｊ１〜Ｊ６の位置ｑ１〜ｑ６は、ロボット制御装置３００の各位置制御部５２１〜５２６にフィードバックされる。なお、関節Ｊ１〜Ｊ６の位置ｑ１〜ｑ６の代わりに電動モータ２１１〜２１６の角度θ１〜θ６を用いてもよい。
【００４０】
ＣＰＵ３０１は、駆動が終了したか否かを判定し（Ｓ２８）、終了していない場合は（Ｓ２８：Ｎｏ）、ステップＳ２３〜Ｓ２７を繰り返す。上記フローに従って各電動モータ２１１〜２１６を駆動することで、ロボットアーム２５１の先端の位置Ｐを位置指令値Ｐｒｅｆに倣うよう制御することが可能である。
【００４１】
ステップＳ１１〜Ｓ１９の力制御とステップＳ２１〜Ｓ２８の位置制御とは、指令部１１００の指令に応じて切替制御部５１１〜５１６にて切り替えられ、作業に応じていずれか一方の制御が選択される。
【００４２】
図６は、ロボット２００の模式図である。本実施形態では、ロボット２００に、第１のワークである嵌合部材の一例としてのベアリングＷ１を、第２のワークである軸部材の一例としてのシャフトＷ２に嵌合する嵌合作業を行わせる。ベアリングＷ１は、リング状の部材である。本実施形態では、ベアリングＷ１は、保持治具４０１に高精度に位置決め保持され、シャフトＷ２は、保持治具４０２に高精度に位置決め保持されている。ベアリングＷ１をロボットハンド２５２で把持し、シャフトＷ２に嵌合することで、ベアリングＷ１及びシャフトＷ２を有する組立品を製造する。
【００４３】
シャフトＷ２は、円筒状の側面Ｓ２と、円形状の端面Ｆ２と、側面Ｓ２と端面Ｆ２との境界である縁Ｅ２と、を有する。ベアリングＷ１は、円筒状の内側面Ｓ１と、内側面Ｓ１の下端に形成された縁Ｅ１と、を有する。内側面Ｓ１及び縁Ｅ１で、ベアリングＷ１の内周Ｃ１が構成されている。ベアリングＷ１をシャフトＷ２に嵌合したとき、シャフトＷ２の側面Ｓ２とベアリングＷ１の内側面Ｓ１とが係合する。
【００４４】
以下、組立品の製造方法について詳細に説明する。図７は、組立品を製造する製造方法の各ステップを示すフローチャートである。図８（ａ）〜図８（ｃ）及び図９（ａ）〜図９（ｃ）は、組立品を製造する製造方法の各ステップにおけるベアリングＷ１とシャフトＷ２との位置関係を示す説明図である。図８（ａ）及び図８（ｂ）は、ベアリングＷ１及びシャフトＷ２の断面図、図８（ｃ）は、ベアリングＷ１及びシャフトＷ２の上面図である。図９（ａ）〜図９（ｃ）は、ベアリングＷ１及びシャフトＷ２の断面図である。
【００４５】
嵌合作業の制御は、図３に示すロボット制御装置３００全体で行うものであるが、ロボット制御装置３００の中、ＣＰＵ３０１、より具体的には指令部１１００が主体となって行う。即ち、指令部１１００は、位置制御及び力制御を選択し、位置制御における位置指令値Ｐｒｅｆ、及び力制御における力指令値Ｆｒｅｆを指令して、ロボット２００の動作を制御する。
【００４６】
指令部１１００は、位置制御により、ロボットハンド２５２がベアリングＷ１を把持する位置に移動するよう、ロボットアーム２５１の姿勢を制御し、ロボットハンド２５２にベアリングＷ１を把持させる（Ｓ３１：把持処理、第１の処理、第１のステップ）。
【００４７】
このとき、図８（ａ）に示すように、ベアリングＷ１は、保持治具４０１に高精度に位置決め保持されているため、ロボットハンド２５２に高精度に把持される。例えば、ロボットハンド２５２がベアリングＷ１を把持したとき、ロボットハンド２５２の中心軸線Ｌ０と、ベアリングＷ１の中心軸線Ｌ１とが高精度に一致する。
【００４８】
シャフトＷ２は、保持治具４０２に高精度に位置決め保持されている。即ち、シャフトＷ２は、保持治具４０２の中心軸線Ｌ２が延びる軸方向Ｚが鉛直方向と平行となるように、高精度に位置決め保持されている。このようにベアリングＷ１及びシャフトＷ２を高精度に位置決めしたとしても、ベアリングＷ１をシャフトＷ２に嵌合する嵌合作業を位置制御のみで行うのは困難である。即ち、ロボットアーム２５１に含まれる伝達機構などにより、ロボット２００に支持されたベアリングＷ１がシャフトＷ２に対して僅かにずれる。そのため、本実施形態では、位置制御と力制御とを切り替えて嵌合作業を行う。
【００４９】
よって、まず、指令部１１００は、位置制御により、ロボットハンド２５２がベアリングＷ１を把持した状態で、ベアリングＷ１がシャフトＷ２の中心軸線Ｌ２の延長線上、即ちシャフトＷ２の直上に移動するように、ロボットアーム２５１を制御する。
【００５０】
このとき、指令部１１００は、ベアリングＷ１をシャフトＷ２の中心軸線Ｌ２の延びる軸方向Ｚに対して傾くよう、ロボットアーム２５１を制御する。即ち、指令部１１００は、ベアリングＷ１の中心軸線Ｌ１がシャフトＷ２の中心軸線Ｌ２に対して傾くよう、ロボットアーム２５１を制御する。そして、指令部１１００は、ベアリングＷ１を傾けた状態で、位置制御により、ベアリングＷ１がシャフトＷ２に近づくように軸方向Ｚに移動するよう、ロボットアーム２５１を制御する。
【００５１】
中心軸線Ｌ２に対する中心軸線Ｌ１の傾斜角度θは、１度〜５度程度である。そして、指令部１１００は、ベアリングＷ１がシャフトＷ２に接触した後、力制御に切り替えて、ベアリングＷ１をシャフトＷ２に軸方向Ｚに押し付けるよう、ロボットアーム２５１を制御する（Ｓ３２：押付処理、第２の処理、第２のステップ）。これにより、図８（ｂ）に示すように、ベアリングＷ１がシャフトＷ２に力（押付力）Ｆｚで軸方向Ｚに押し付けられる。
【００５２】
図１０は、第１実施形態のステップＳ３２〜Ｓ３５において検出される力のプロファイルである。ベアリングＷ１がシャフトＷ２に接触すると、力検出部５０４により求められた力Ｆのうち、軸方向Ｚの押付力Ｆｚが閾値Ｆｚｔｈを上回る。指令部１１００は、押付力Ｆｚが閾値Ｆｚｔｈを上回ったとき、位置制御から力制御に切り替え、押付力Ｆｚが閾値Ｆｚｔｈに近づくように、ロボットアーム２５１を制御する。これにより、ベアリングＷ１は軸方向ＺにシャフトＷ２に閾値Ｆｚｔｈとなる所定の力で押し付けられる。
【００５３】
なお、指令部１１００は、位置制御により、ベアリングＷ１がシャフトＷ２に押し付けられる位置の直前の位置まで移動するよう、ロボットアーム２５１を制御してもよい。そして、指令部１１００は、力制御に切り替えて、力制御を行いながら、ベアリングＷ１を軸方向ＺにシャフトＷ２に接触させて、閾値Ｆｚｔｈとなる所定の力で押し付けるようにしてもよい。
【００５４】
次に、指令部１１００は、力制御により、図８（ｃ）及び図９（ａ）に示すように、ベアリングＷ１に力Ｆｘ，Ｆｚが作用するようロボットアーム２５１を制御する。即ち、指令部１１００は、軸方向Ｚに押付力Ｆｚを付与した状態で、ベアリングＷ１の内周Ｃ１のうち縁Ｅ１をシャフトＷ２の側面Ｓ２に押し付ける径方向Ｒｘに、ベアリングＷ１をシャフトＷ２に押し付けるよう、ロボットアーム２５１を制御する。径方向Ｒｘは、軸方向Ｚに対して直交する方向であって、縁Ｅ１が側面Ｓ２に接触する部分から、軸方向Ｚに延びる中心軸線Ｌ２に向かう方向である。この径方向Ｒｘに付与する力を探り力Ｆｘとする。
【００５５】
ベアリングＷ１をシャフトＷ２に対して傾けているため、図８（ｃ）に示すようにベアリングＷ１を上から見ると、ベアリングＷ１の縁Ｅ１が楕円形状となり、ベアリングＷ１の内形よりもシャフトＷ２の外形のほうが大きくなる。したがって、ベアリングＷ１は、シャフトＷ２に３つの接触位置Ｐ１，Ｐ２，Ｐ３で接触することとなる。具体的に説明すると、ベアリングＷ１の縁Ｅ１において、シャフトＷ２の側面Ｓ２と接触部分が接触位置Ｐ１である。また、ベアリングＷ１の縁Ｅ１において、シャフトＷ２の縁Ｅ２と接触部分が接触位置Ｐ２，Ｐ３である。
【００５６】
軸方向Ｚに押付力Ｆｚを付与した状態で径方向Ｒｘに探り力Ｆｘを付与することにより、ベアリングＷ１にはシャフトＷ２から反力を受ける。指令部１１００は、シャフトＷ２から受ける反力のうち、軸方向Ｚに直交する方向に延びる回転軸線Ｌ３まわりの回転力Ｍに倣ってベアリングＷ１の姿勢を変更するよう、ロボットアーム２５１を制御する（Ｓ３３：探り処理、第３の処理、第３のステップ）。回転軸線Ｌ３は、接触位置Ｐ２と接触位置Ｐ３とを通過する仮想線であり、接触位置Ｐ２，Ｐ３に応じて位置が変化する。また、回転力Ｍは、力のモーメントである。指令部１１００は、シャフトＷ２から受ける反力として、力検出部５０４から力Ｆの値を取得する。即ち、力検出部５０４から取得する力Ｆの情報（値）には、シャフトＷ２から受ける反力の情報（値）が含まれている。指令部１１００は、力Ｆの値から回転力Ｍの値を求める。
【００５７】
指令部１１００は、回転力Ｍが作用する方向にベアリングＷ１が移動するようロボットアーム２５１を動作させる。これにより、回転軸線Ｌ３まわりの回転力Ｍに倣って接触位置Ｐ１が側面Ｓ２に沿ってせり上がりながら、接触位置Ｐ２，Ｐ３及び回転軸線Ｌ３が径方向Ｒｘと平行な方向に移動する。これにより、図８（ｃ）に示すベアリングＷ１の縁Ｅ１が楕円形状から円形状に徐々に近づいていく。
【００５８】
即ち、図１０に示すように、ステップＳ３３において、探り力Ｆｘを付与することで、接触位置Ｐ１がせり上がる回転力Ｍが発生する。そして、回転力Ｍに倣ってベアリングＷ１の姿勢を変更して中心軸線Ｌ１と中心軸線Ｌ２とが一致すると、接触位置Ｐ１，Ｐ２，Ｐ３がなくなり、回転力Ｍもなくなる。このとき、図９（ｂ）に示すように、ベアリングＷ１の縁Ｅ１とシャフトＷ２の縁Ｅ２とが全体的に接触する。
【００５９】
指令部１１００は、回転力Ｍの値に基づき、シャフトＷ２に対してベアリングＷ１の位置決めが完了したか否かを判断し（Ｓ３４）、位置決めが完了していなければ（Ｓ３４：Ｎｏ）ステップＳ３３の処理を継続する。具体的に説明すると、指令部１１００は、力制御によりロボットアーム２５１を動作させて、センサ５４０からの信号により得られる回転力Ｍの値が閾値Ｍｔｈを下回るまで、ベアリングＷ１の姿勢を変更する。そして、指令部１１００は、回転力Ｍの値が閾値Ｍｔｈを下回ったとき、位置決めが完了したので、次のステップＳ３５に移行する。なお、位置決めが完了したか否かの判断は、回転力Ｍのほか、例えばベアリングＷ１の沈み量やロボットアーム２５１の姿勢情報に基づいて行ってもよい。
【００６０】
指令部１１００は、位置決めが完了したら（Ｓ３４：Ｙｅｓ）、ベアリングＷ１の中心軸線Ｌ１とシャフトＷ２の中心軸線Ｌ２とが一致しているので、力制御により、図９（ｃ）に示すように、ベアリングＷ１をシャフトＷ２に嵌合する（Ｓ３５）。これにより、ベアリングＷ１とシャフトＷ２とを有する組立品Ｗ０が製造される。なお、この嵌合動作において、ベアリングＷ１が下降しているタイミングでは、ベアリングＷ１に働く押付力Ｆｚが減少することもある。
【００６１】
以上のようにロボット２００を動作させることで、ベアリングＷ１がシャフトＷ２に接触する接触位置Ｐ１において、ベアリングＷ１がせり上がる回転力Ｍが発生するが、回転力Ｍを逃がすようベアリングＷ１の姿勢を変更することで、回転力Ｍが緩和する。これにより、いわゆる「噛む」現象を回避することができ、高精度かつ高速にベアリングＷ１をシャフトＷ２に嵌合することが可能である。また、ベアリングＷ１の回転力Ｍに倣いつつ嵌合作業を行うことで、ロボットアーム２５１の移動分解能にかかわらず、高速で精密な嵌合作業が実行可能である。
【００６２】
［第２実施形態］
次に、第２実施形態に係るロボット装置による組立品の製造方法について説明する。図１１（ａ）〜図１１（ｃ）は、第２実施形態に係る探り処理におけるベアリングＷ１とシャフトＷ２との位置関係を示す説明図である。ロボット装置の概略構成は、第１実施形態と同様である。ロボット制御装置３００、即ち指令部１１００の制御動作が第１実施形態と異なる。具体的に説明すると、図７のステップＳ３１〜Ｓ３５のうち、ステップＳ３３の探り処理が第１実施形態と異なる。以下、第２実施形態におけるステップＳ３３の動作について詳細に説明する。
【００６３】
指令部１１００は、ステップＳ３３において、ベアリングＷ１の縁Ｅ１をシャフトＷ２の側面Ｓ２に押し付ける径方向Ｒｘに探り力Ｆｘを付与して、ベアリングＷ１をシャフトＷ２に押し付ける。同時に、指令部１１００は、ステップＳ３３において、ベアリングＷ１の縁Ｅ１がシャフトＷ２の側面Ｓ２に接触する接触位置Ｐ１を、シャフトＷ２の周方向Ｒ２に移動させながら、ベアリングＷ１を径方向ＲｘにシャフトＷ２に押し付ける。つまり、図１１（ａ）〜図１１（ｃ）に示すように、接触位置Ｐ１を、中心軸線Ｌ２を中心とする周方向Ｒ２に回転（公転）移動させる。接触位置Ｐ１から中心軸線Ｌ２に向かう探り力Ｆｘの方向も回転する。
【００６４】
図１２は、第２実施形態のステップＳ３２〜Ｓ３５において検出される力のプロファイルである。なお、図１２において、第１実施形態において発生する回転力Ｍを破線で示し、第２実施形態において発生する回転力Ｍを実線で示す。ベアリングＷ１に首振り回転動作を付加することで、図１２に示すように、反力として発生する回転力Ｍが小さくなり、第１実施形態よりもベアリングＷ１をシャフトＷ２にスムーズに嵌合することが可能である。
【００６５】
［第３実施形態］
次に、第３実施形態に係るロボット装置による組立品の製造方法について説明する。図１３（ａ）は、第３実施形態に係る組立対象のベアリングＷ１とシャフトＷ２との位置関係を示す断面図である。なお、図１３（ｂ）は、参考例のベアリングＷ１とシャフトＷ２との位置関係を示す断面図であり、図１３（ｃ）は、参考例のベアリングＷ１及びシャフトＷ２の上面図である。
【００６６】
図１３（ａ）に示すように、シャフトＷ２の側面Ｓ２は、円筒面Ｃ２と、円筒面Ｃ２に対して凹む凹面Ｄ２と、を有している。この凹面Ｄ２は、Ｄカット面である。
【００６７】
シャフトＷ２の側面Ｓ２に凹面Ｄ２が施されている場合、ベアリングＷ１が図１３（ｂ）に示す参考例の姿勢では、嵌合が失敗する場合がある。即ち、凹面Ｄ２がＤカット面の場合、Ｄカット面に接触位置Ｐ１があると、図１３（ｃ）に示すように、Ｄカット面の加工端の２点でベアリングＷ１が接触することとなる。加工端が鋭利であることから、せり上がる回転力が発生しないことがある。
【００６８】
第３実施形態では、図３に示すように、予めＨＤＤ３０４に、型式に対応するベアリングＷ１及びシャフトＷ２の形状データ１２００が格納されている。指令部１１００は、ユーザがＴＰ４００を操作して型式を入力することにより、型式に対応するベアリングＷ１及びシャフトＷ２の形状データを読み出す。そして、指令部１１００は、ベアリングＷ１及びシャフトＷ２の形状データに基づき、ベアリングＷ１の姿勢を求め、ステップＳ３２において、ベアリングＷ１の姿勢を設定する。即ち、指令部１１００は、ステップＳ３２において、ベアリングＷ１及びシャフトＷ２の形状に応じて、軸方向Ｚに対して傾斜するベアリングＷ１の姿勢を設定する。そして、指令部１１００は、ステップＳ３３において、ベアリングＷ１の縁Ｅ１を円筒面Ｃ２に押し付ける。
【００６９】
このように、第３実施形態では、凹面Ｄ２がＤカット面であるので、図１３（ａ）に示すように、接触位置Ｐ１がＤカット面に接触しない向きにベアリングＷ１を傾ける。これにより、確実にベアリングＷ１にせり上がり力を発生させることができ、ベアリングＷ１をシャフトＷ２に高速かつ高精度に嵌合することができる。
【００７０】
また、ＴＰ４００にベアリングＷ１及びシャフトＷ２の型式を選択するインタフェースを設けることで、ベアリングＷ１の嵌合動作の教示を素早くできるようになり、複数種類のベアリングＷ１の嵌合が実現できる。組立対象に対して複数種類のベアリングＷ１を取り扱えるようになることで、多くの工程が実現できるようになる。例えば一つの複写機の組立をロボット装置一つで実現できるようになり、組み立てシステムを大幅に小型化できる。
【００７１】
なお、型式に対応するベアリングＷ１及びシャフトＷ２の形状データから、ベアリングＷ１の姿勢を求める場合について説明したが、これに限定するものではない。例えば予めＨＤＤ３０４に、型式に対応するベアリングＷ１の姿勢データ又はロボットアーム２５１の姿勢データが格納されており、ＴＰ４００による入力操作により指令部１１００が姿勢データを読み出して設定するようにしてもよい。これにより、ＣＰＵ３０１における演算負荷が低減される。
【００７２】
また、ユーザがＴＰ４００を操作してベアリングＷ１及びシャフトＷ２の型式を入力する場合について説明したが、直接、ベアリングＷ１の姿勢、即ちロボットアーム２５１の姿勢を設定（教示）するようにしてもよい。
【００７３】
また、凹面Ｄ２がＤカット面である場合について説明したが、これに限定するものではない。図１４（ａ）は、第３実施形態の変形例に係る組立対象のベアリングＷ１とシャフトＷ２との位置関係を示す断面図である。なお、図１４（ｂ）は、参考例のベアリングＷ１とシャフトＷ２との位置関係を示す断面図である。
【００７４】
図１４（ａ）に示すように、凹面Ｄ２が周方向Ｒ２に延びる溝面である。凹面Ｄ２が溝面の場合、ベアリングＷ１の傾斜角度θが大きすぎると、図１４（ｂ）に示すように、接触位置Ｐ１が溝面に引っかかり、探り処理時のせり上がり力を逃がすことができなくなる。したがって、指令部１１００は、ステップＳ３２において、ベアリングＷ１の傾斜角度θを少量とするよう設定することで、図１４（ａ）に示すように、ベアリングＷ１の縁Ｅ１が凹面Ｄ２に引っ掛かるのを回避することができる。
【００７５】
［第４実施形態］
次に、第４実施形態に係るロボット装置による組立品の製造方法について説明する。図１５は、第４実施形態における押付処理を示すフローチャートである。ロボット装置の概略構成は、第１〜第３実施形態と同様である。ロボット制御装置３００、即ち指令部１１００の制御動作が第１〜第３実施形態と異なる。
【００７６】
第３実施形態では、ユーザがＴＰ４００を操作して型式を入力することで、ステップＳ３２におけるベアリングＷ１の姿勢を設定する場合、又はユーザがＴＰ４００を操作してベアリングＷ１の姿勢を直接設定する場合について説明した。第４実施形態では、ユーザがＴＰ４００を操作してベアリングＷ１の姿勢を設定するものではなく、指令部１１００がロボット２００を動作させて、検出された力Ｆのプロファイルに基づき、ベアリングＷ１の姿勢を設定する。以下、第４実施形態における押付処理、即ち図７のステップＳ３２の処理について具体的に説明する。
【００７７】
まず、指令部１１００は、ロボットアーム２５１を制御して、シャフトＷ２に対して傾斜させたベアリングＷ１をシャフトＷ２に押し付ける（Ｓ４１）。
【００７８】
次に、指令部１１００は、ベアリングＷ１をシャフトＷ２に押し付けたときに生じるロボットアーム２５１の先端に作用する力Ｆのプロファイルを計測し、接触状態を解析する（Ｓ４２）。具体的には、指令部１１００は、力Ｆのうち、押付力Ｆｚのプロファイルを計測する。
【００７９】
図１６（ａ）及び図１６（ｂ）は、計測された押付力Ｆｚのプロファイルである。図１６（ａ）は、ベアリングＷ１の縁Ｅ１がシャフトＷ２の円筒面Ｃ２に接触したときの押付力Ｆｚのプロファイルである。図１６（ｂ）は、ベアリングＷ１の縁Ｅ１がシャフトＷ２の凹面Ｄ２に接触したときの押付力Ｆｚのプロファイルである。
【００８０】
図１６（ｂ）に示すように、ベアリングＷ１の縁Ｅ１がシャフトＷ２の凹面Ｄ２に接触したとき、即ち接触位置Ｐ１が凹面Ｄ２にある場合、押付力Ｆｚの振幅が所定範囲Ｈを超えて振動的になる。よって、指令部１１００は、ステップＳ４３において、接触位置Ｐ１が凹面Ｄ２にあるかどうか、即ち押付力Ｆｚの振幅が所定範囲内であるかどうかを判断する。
【００８１】
押付力Ｆｚの振幅が、図１６（ｂ）に示すように所定範囲Ｈを超える場合、接触位置Ｐ１が凹面Ｄ２にある（Ｓ４３：Ｙｅｓ）。指令部１１００は、振幅が所定範囲Ｈを超える場合、軸方向Ｚに対して傾斜するベアリングＷ１の姿勢を調整し（Ｓ４４）、再度、ベアリングＷ１をシャフトＷ２に押し付ける（Ｓ４１）。
【００８２】
このように、指令部１１００は、押付力Ｆｚの振幅が、図１６（ａ）に示すように所定範囲Ｈ内となるまで、即ち接触位置Ｐ１が凹面Ｄ２ではなく、円筒面Ｃ２に位置するまで（Ｓ４３：Ｎｏ）、押し付け動作を繰り返し行う。以上の繰り返し動作で、ベアリングＷ１の縁Ｅ１がシャフトＷ２の円筒面Ｃ２に接触する。そして、指令部１１００は、図７のステップＳ３３を行う。
【００８３】
以上、第４実施形態では、指令部１１００が、図７に示すステップＳ３２の押付処理として、図１５に示すステップＳ４１〜Ｓ４４を実行することにより、接触位置Ｐ１が凹面Ｄ２に触れない姿勢にベアリングＷ１を傾けることができる。よって、確実にベアリングＷ１をシャフトＷ２に嵌合することができる。
【００８４】
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。
【００８５】
上述の実施形態では、ロボットアーム２５１が６つの関節を有する場合について説明したが、関節の数はこれに限定するものではない。例えば、単軸のロボットアームであってもよい。
【００８６】
また、上述の実施形態では、ロボットアームが垂直多関節のロボットアームである場合について説明したが、これに限定するものではない。ロボットアームが、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。
【００８７】
また、上述の実施形態では、複数のトルクセンサ５４１〜５４６及び複数の位置センサ５５１〜５５６によりセンサ５４０が構成される場合について説明したが、これに限定するものではない。例えばロボットアーム２５１とロボットハンド２５２との間に、センサとして、６軸の力を検知する力覚センサを配置してもよい。
【００８８】
また、上述の実施形態では、駆動源が電動モータである場合について説明したが、これに限定するものではなく、例えば人工筋肉等であってもよい。
【００８９】
また、上述の実施形態では、嵌合部材の一例としてリング状の部材（ベアリング）について説明したが、これに限定するものではない。嵌合部材は、軸部材に嵌合する形状、即ち軸部材の側面に接する内周面を有する形状であれば、いかなる形状であってもよい。例えば、嵌合部材が、リングの一部を切り欠いたＣ字形状の部材であってもよいし、貫通孔を有する形状の部材に限らず、凹み穴を有する形状の部材であってもよい。また、軸部材も丸シャフト形状に限らず角シャフト等の角部を有する形状であってもよい。
【符号の説明】
【００９０】
１００…ロボット装置、２００…ロボット、２５１…ロボットアーム、２５２…ロボットハンド、３００…ロボット制御装置（制御部）、Ｗ０…組立品、Ｗ１…ベアリング（嵌合部材）、Ｗ２…シャフト（軸部材）
【図１】
2019084650.tif 000003
【図２】
2019084650.tif 000004
【図３】
2019084650.tif 000005
【図４】
2019084650.tif 000006
【図５】
2019084650.tif 000007
【図６】
2019084650.tif 000008
【図７】
2019084650.tif 000009
【図８】
2019084650.tif 000010
【図９】
2019084650.tif 000011
【図１０】
2019084650.tif 000012
【図１１】
2019084650.tif 000013
【図１２】
2019084650.tif 000014
【図１３】
2019084650.tif 000015
【図１４】
2019084650.tif 000016
【図１５】
2019084650.tif 000017
【図１６】
2019084650.tif 000018