(57)【要約】【課題】嵌合部品を被嵌合部品に嵌合する嵌合作業時に嵌合部品が被嵌合部品に引っ掛かった際に引っ掛かり状態を解消すること。【解決手段】ロボットハンド２０２の各フィンガー２２０には、嵌合部品Ｗ１に接触する位置に振動子２４０が取り付けられている。制御装置３００は、嵌合作業の開始以前に、各振動子２４０の振動を開始させるよう電源５００を制御し、嵌合作業中に力覚センサ２０３のＺ方向の力の検出値が閾値を上回っているか下回っているかを判断する。制御装置３００は、嵌合作業中に力覚センサ２０３のＺ方向の力の検出値が閾値を上回っていると判断した場合には、各振動体２４０について、振動の振幅、周波数及び位相を変更するように電源５００を制御する。【選択図】図１
2015164755.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームと、
嵌合部品を把持する複数のフィンガーを有し、前記ロボットアームに取り付けられたロボットハンドと、
嵌合部品を被嵌合部品に嵌合する嵌合方向に前記ロボットハンドに加わる力を検出する力検出部と、
前記複数のフィンガーのうち２つ以上のフィンガーに、把持した嵌合部品に接触する位置に設けられた振動体と、
前記各振動体を振動させる駆動源と、
前記ロボットアーム及び前記ロボットハンドを制御すると共に、前記駆動源を制御する制御部と、を備え、
前記制御部は、
嵌合作業を実行するとともに前記各振動体の振動を開始させるよう前記駆動源を制御し、
前記嵌合作業中に前記力検出部の検出値が閾値を上回っているか下回っているかを判断し、
前記嵌合作業中に前記力検出部の検出値が前記閾値を上回っていると判断した場合には、前記２つ以上の振動体のうち少なくとも１つの振動体について、振動の振幅、周波数及び位相のうち少なくとも１つを変更するように前記駆動源を制御することを特徴とするロボット装置。
【請求項２】
前記制御部は、前記各振動体の振動を開始させるときには、前記各振動体の振動の位相が３６０°を等分割した位相差となる第１位相モードで前記駆動源を制御することを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記制御部は、前記位相の変更として、前記第１位相モードから、前記各振動体の振動の位相が同一となる第２位相モードへ変更することを特徴とする請求項２に記載のロボット装置。
【請求項４】
前記制御部は、前記振幅の変更として、前記振幅が大きくなるように前記駆動源を制御することを特徴とする請求項１乃至３のいずれか１項に記載のロボット装置。
【請求項５】
前記制御部は、前記周波数の変更として、前記周波数が高くなるように前記駆動源を制御することを特徴とする請求項１乃至４のいずれか１項に記載のロボット装置。
【請求項６】
ロボットアームと、
嵌合部品を把持する複数のフィンガーを有し、前記ロボットアームに取り付けられたロボットハンドと、
嵌合部品を被嵌合部品に嵌合する嵌合方向に前記ロボットハンドに加わる力を検出する力検出部と、
前記複数のフィンガーのうち２つ以上のフィンガーに、把持した嵌合部品に接触する位置に設けられた振動体と、
前記２つ以上の振動体を振動させる駆動源と、
前記ロボットアーム及び前記ロボットハンドを制御すると共に、前記駆動源を制御する制御部と、を備え、
前記制御部は、
嵌合作業中に前記力検出部の検出値が閾値を上回っているか下回っているかを判断し、
前記嵌合作業中に前記力検出部の検出値が前記閾値を上回っていると判断した場合には、前記各振動体の振動を開始させるよう前記駆動源を制御することを特徴とするロボット装置。
【請求項７】
前記制御部は、
前記各振動体を振動させた状態での前記嵌合作業中に、前記力検出部の検出値が前記閾値を上回っていると判断した場合には、前記２つ以上の振動体のうち少なくとも１つの振動体について、振動の振幅、周波数及び位相のうち少なくとも１つを変更するように前記駆動源を制御することを特徴とする請求項６に記載のロボット装置。
【請求項８】
前記制御部は、前記各振動体の振動を開始させるときには、前記各振動体の振動の位相が３６０°を等分割した位相差となる位相モードで前記駆動源を制御することを特徴とする請求項６又は７に記載のロボット装置。
【請求項９】
前記嵌合作業中に前記力検出部の検出値が前記閾値を下回っていると判断した場合には、前記各振動体の振動を停止させるよう前記駆動源を制御することを特徴とする請求項６乃至８のいずれか１項に記載のロボット装置。
【請求項１０】
前記制御部は、前記嵌合作業が完了した場合には、前記各振動体の振動を停止させるよう前記駆動源を制御することを特徴とする請求項１乃至９のいずれか１項に記載のロボット装置。
【請求項１１】
前記力検出部は、前記嵌合方向と交差する方向の力を更に検出し、
前記制御部は、前記嵌合作業中、前記力検出部において検出された前記嵌合方向と交差する方向の力成分が小さくなるように前記ロボットアームの動作をフィードバック制御することを特徴とする請求項１乃至１０のいずれか１項に記載のロボット装置。
【請求項１２】
前記各振動体は、前記フィンガーにおいて嵌合部品を把持する把持位置に設けられていることを特徴とする請求項１乃至１１のいずれか１項に記載のロボット装置。
【請求項１３】
前記各フィンガーは、嵌合部品に相対する段差部を有し、
前記各振動体は、前記段差部に設けられていることを特徴とする請求項１乃至１１のいずれか１項に記載のロボット装置。
【請求項１４】
ロボットアームと、
嵌合部品を把持する複数のフィンガーを有し、前記ロボットアームに取り付けられたロボットハンドと、
嵌合部品を被嵌合部品に嵌合する嵌合方向に前記ロボットハンドに加わる力を検出する力検出部と、
前記複数のフィンガーのうち２つ以上のフィンガーに、把持した嵌合部品に接触する位置に設けられた振動体と、
前記各振動体を振動させる駆動源と、
前記ロボットアーム及び前記ロボットハンドを制御すると共に、前記駆動源を制御する制御部と、を備えたロボット装置の制御方法であって、
前記制御部が、嵌合作業を実行するとともに前記各振動体の振動を開始させるよう前記駆動源を制御する振動開始工程と、
前記制御部が、前記嵌合作業中に前記力検出部の検出値が閾値を上回っているか下回っているかを判断する判断工程と、
前記制御部が、前記嵌合作業中に前記力検出部の検出値が前記閾値を上回っていると判断した場合には、前記２つ以上の振動体のうち少なくとも１つの振動体について、振動の振幅、周波数及び位相のうち少なくとも１つを変更するように前記駆動源を制御する変更工程と、を備えたことを特徴とするロボット装置の制御方法。
【請求項１５】
ロボットアームと、
嵌合部品を把持する複数のフィンガーを有し、前記ロボットアームに取り付けられたロボットハンドと、
嵌合部品を被嵌合部品に嵌合する嵌合方向に前記ロボットハンドに加わる力を検出する力検出部と、
前記複数のフィンガーのうち２つ以上のフィンガーに、把持した嵌合部品に接触する位置に設けられた振動体と、
前記２つ以上の振動体を振動させる駆動源と、
前記ロボットアーム及び前記ロボットハンドを制御すると共に、前記駆動源を制御する制御部と、を備えたロボット装置の制御方法であって、
前記制御部が、嵌合作業中に前記力検出部の検出値が閾値を上回っているか下回っているかを判断する判断工程と、
前記嵌合作業中に前記力検出部の検出値が前記閾値を上回っていると判断した場合には、前記各振動体の振動を開始させるよう前記駆動源を制御する振動開始工程と、を備えたことを特徴とするロボット装置の制御方法。
【請求項１６】
コンピュータに請求項１４又は１５に記載のロボット装置の制御方法の各工程を実行させるためのプログラム。
【請求項１７】
請求項１６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、嵌合部品を被嵌合部品に嵌合する嵌合作業を行うロボット装置、ロボット装置の制御方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
ロボット装置を用いて、部品同士の接触を伴う部品組立の作業、具体的には嵌合部品を被嵌合部品に嵌合する嵌合作業を実施する場合、力覚センサを利用したコンプライアンス制御を行うのが一般的である。コンプライアンス制御は、嵌合部品を把持したロボットハンドが受ける力（力及び力のモーメントを含む）に対し、ロボットアームに仮想的なばね性や粘性を持たせ、反力に対して柔軟にする制御である。コンプライアンス制御によって、ロボットアームの位置決め誤差や被嵌合部品の位置誤差、ロボットハンドの把持繰り返し性等を補正した嵌合作業が実施できる。しかし、嵌合途中に引っ掛かりが発生すると、その状態を解消するためにより強力な反力が必要となり、力覚センサの許容検出力を超えてしまう場合があり、コンプライアンス制御のみで引っ掛かりを解消すること困難であった。
【０００３】
嵌合作業中の嵌合部品の引っ掛かりに対して、振動を利用して引っ掛かりを解消しようとする方法が特許文献１及び特許文献２に開示されている。特許文献１では、力制御による嵌合作業を実施中に、引っ掛かりが発生したと判断した場合には、力制御のフィードバック目標値を周期的に変化させることによって振動力を与えて引っ掛かりを解消しようとするものである。特許文献２では、ハンドの根元部分に切り込みと圧電素子等からなる振動子を設け、振動子の振動によって、ハンドに振動を付加する方法で引っ掛かりを解消しようとするものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４７９３６９４号公報
【特許文献２】特開平４−３２２９９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、力制御を利用して嵌合部品に振動を与えているため、与えられる振動の周波数が、力制御の応答周波数やロボットアームの固有値によって制限され、嵌合部品の引っ掛かりを解消することができない場合があった。一方、特許文献２では、振動子を用いて被嵌合部品に振動を付与している。しかし、特許文献２では、大きな質量を有するハンド全体を振動子で加振しており、振動が減衰しやすいため、嵌合部品に振動を効率よく与えることができず、嵌合部品の引っ掛かりを解消することができない場合があった。
【０００６】
そこで、本発明は、嵌合部品が被嵌合部品に引っ掛かりが生じた場合に引っ掛かり状態を解消することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のロボット装置は、ロボットアームと、嵌合部品を把持する複数のフィンガーを有し、前記ロボットアームに取り付けられたロボットハンドと、嵌合部品を被嵌合部品に嵌合する嵌合方向に前記ロボットハンドに加わる力を検出する力検出部と、前記複数のフィンガーのうち２つ以上のフィンガーに、把持した嵌合部品に接触する位置に設けられた振動体と、前記各振動体を振動させる駆動源と、前記ロボットアーム及び前記ロボットハンドを制御すると共に、前記駆動源を制御する制御部と、を備え、前記制御部は、嵌合作業を実行するとともに前記各振動体の振動を開始させるよう前記駆動源を制御し、前記嵌合作業中に前記力検出部の検出値が閾値を上回っているか下回っているかを判断し、前記嵌合作業中に前記力検出部の検出値が前記閾値を上回っていると判断した場合には、前記２つ以上の振動体のうち少なくとも１つの振動体について、振動の振幅、周波数及び位相のうち少なくとも１つを変更するように前記駆動源を制御することを特徴とする。
【０００８】
また、本発明のロボット装置の制御方法は、ロボットアームと、嵌合部品を把持する複数のフィンガーを有し、前記ロボットアームに取り付けられたロボットハンドと、嵌合部品を被嵌合部品に嵌合する嵌合方向に前記ロボットハンドに加わる力を検出する力検出部と、前記複数のフィンガーのうち２つ以上のフィンガーに、把持した嵌合部品に接触する位置に設けられた振動体と、前記各振動体を振動させる駆動源と、前記ロボットアーム及び前記ロボットハンドを制御すると共に、前記駆動源を制御する制御部と、を備えたロボット装置の制御方法であって、前記制御部が、嵌合作業を実行するとともに前記各振動体の振動を開始させるよう前記駆動源を制御する振動開始工程と、前記制御部が、前記嵌合作業中に前記力検出部の検出値が閾値を上回っているか下回っているかを判断する判断工程と、前記制御部が、前記嵌合作業中に前記力検出部の検出値が前記閾値を上回っていると判断した場合には、前記２つ以上の振動体のうち少なくとも１つの振動体について、振動の振幅、周波数及び位相のうち少なくとも１つを変更するように前記駆動源を制御する変更工程と、を備えたことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数のフィンガーにより嵌合部品を把持した際には、嵌合部品に各振動子が接触するので、各振動子の振動が嵌合部品に効率よく伝わる。そして、力覚センサの検出値により各振動子の振動を制御しているので、嵌合部品が被嵌合部品に引っ掛かりが生じた場合には、引っ掛かり状態を効果的に解消することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係るロボット装置の概略構成を示す模式図である。
【図２】第１実施形態に係るロボット装置のロボットハンドを示す断面模式図である。
【図３】第１実施形態に係るロボット装置の制御装置の概略構成を示すブロック図である。
【図４】第１実施形態に係るロボット装置の制御装置による制御方法を示すフローチャートである。
【図５】各振動子の振動を説明するための図である。
【図６】第２実施形態に係るロボット装置の制御装置による制御方法を示すフローチャートである。
【図７】第３実施形態に係るロボット装置のロボットハンドを示す断面模式図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１２】
［第１実施形態］
図１は、本発明の第１実施形態に係るロボット装置の概略構成を示す模式図である。ロボット装置１００は、嵌合部品Ｗ１を被嵌合部品Ｗ２に嵌合させる嵌合作業を行う生産ロボットである。ロボット装置１００は、ロボット２００と、ロボット２００の動作を制御する制御部としての制御装置３００と、ユーザの操作によりロボット２００の動作を教示する教示部としての操作盤４００と、を備えている。ロボット２００は、垂直多関節型のロボットアーム２０１と、ロボットアーム２０１の先端に取り付けられた、エンドエフェクタとしてのロボットハンド２０２と、を有している。ロボットアーム２０１の基端は、架台６００の上面６０１に固定されている。なお、被嵌合部品Ｗ２は、架台６００の上面６０１に載置されている。
【００１３】
ロボットアーム２０１は、複数のリンクが関節で旋回又は回転可能に連結されて構成されている。ロボットアーム２０１は、各関節に設けられ、リンクを駆動する回転駆動部２３０と、回転駆動部２３０の回転角度又は関節角度を検出するロータリエンコーダ（エンコーダ）２３１と、を有している。なお、図１では、１つの関節のみに回転駆動部２３０及びエンコーダ２３１を図示したが、別の関節にも同様に回転駆動部２３０及びエンコーダ２３１が配置されている。回転駆動部２３０は、電動モータである回転モータと、回転モータの回転を減速する減速機とを有して構成されている。
【００１４】
ロボットハンド２０２は、ロボットアーム２０１の先端リンクに取り付けられている。ロボットハンド２０２は、ハンド本体２１０と、ハンド本体２１０に開閉可能に配置された複数（第１実施形態では３つ）のフィンガー２２０を有する。ハンド本体２１０は、複数のフィンガー２２０を駆動する不図示の駆動部を有している。複数のフィンガー２２０を閉動作させることにより、嵌合部品Ｗ１を把持することができ、複数のフィンガー２２０を開動作させることにより、嵌合部品Ｗ１の把持を解放することができる。
【００１５】
複数のフィンガー２２０は、ハンド本体２１０の中心軸を中心に３６０°をフィンガー数で割った角度（第１実施形態では１２０°）で回転対称に配置されている。第１実施形態では、フィンガー２２０は関節がない把持爪であるが、関節を有するものであってもよい。複数のフィンガー２２０に把持される嵌合部品Ｗ１は、円筒形状の部品であり、被嵌合部品Ｗ２は、円柱形状の部品である。
【００１６】
ロボットアーム２０１の先端には、力検出部としての力覚センサ２０３が設けられており、ロボットハンド２０２は、力覚センサ２０３を介してロボットアーム２０１の先端に取り付けられている。力覚センサ２０３は、ロボットハンド２０２（即ちロボットハンド２０２が把持した嵌合部品Ｗ１）に加わる力（モーメントを含む）を検出するものである。
【００１７】
ロボットアーム２０１の設置面側から見て一番目の関節軸の回転中心とロボットアーム２０１の設置面が交わる位置を、ロボット座標系Σの基準原点Ｏとする。ロボット座標系Σは、ロボットアーム２０１の前方向を正としたＸ軸、ロボットアーム２０１の左方向を正としたＹ軸、ロボットアーム２０１の上方向を正としたＺ軸、各軸の右回りを正としたｔＸ軸、ｔＹ軸、ｔＺ軸で定義される。
【００１８】
ロボット装置１００は、複数のフィンガー２２０のうち２つ以上のフィンガー、第１実施形態では全てのフィンガー２２０に設けられた、振動体として振動子２４０と、これら振動子２４０を振動させる駆動源である電源５００とを備えている。各振動子２４０は、圧電素子からなり、各フィンガー２２０に固定され、不図示の電力線により電源５００に接続されている。なお、振動子２４０は、外部に露出して配置されているのが効果的であるが、これに限定するものではなく、振動子２４０と、振動子２４０を保護するゴム等の被覆部材（保護部材）とを有して振動体が構成されていてもよい。
【００１９】
制御装置３００は、複数のフィンガー２２０により嵌合部品Ｗ１を把持させて被嵌合部品Ｗ２に嵌合させる嵌合作業を行うに際し、ロボットアーム２０１及びロボットハンド２０２の動作を制御すると共に、電源５００の駆動を制御するものである。
【００２０】
図２は、本発明の第１実施形態に係るロボット装置１００のロボットハンド２０２を示す断面模式図である。ここで、３つのフィンガー２２０をそれぞれフィンガー２２０１，２２０２，２２０３とする。また、フィンガー２２０１に設けられた振動子２４０を振動子２４０１、フィンガー２２０２に設けられた振動子２４０を振動子２４０２、フィンガー２２０３に設けられた振動子２４０を振動子２４０３とする。図２に示すように、各振動子２４０１〜２４０３は、把持した嵌合部品Ｗ１に接触する位置に設けられている。具体的に説明すると、各振動子２４０１〜２４０３は、各フィンガー２２０１〜２２０３において嵌合部品Ｗ１を把持する把持位置（領域）Ｐに設けられている。つまり、各振動子２４０１〜２４０３は、各フィンガー２２０１〜２２０３において、嵌合部品Ｗ１に接触する位置に配置されている。第１実施形態では、各振動子２４０１〜２４０３は、各フィンガー２２０１〜２２０３の略先端に設けられている。
【００２１】
図３は、本発明の第１実施形態に係るロボット装置１００の制御装置３００の概略構成を示すブロック図である。制御装置３００は、コンピュータで構成され、演算部としてのＣＰＵ（Central  Processing  Unit）３０１を備えている。また、制御装置３００は、記憶部として、ＲＯＭ（Read  Only  Memory）３０２、ＲＡＭ（Random  Access  Memory）３０３、ＨＤＤ（Hard  Disk  Drive）３０４を備えている。また、制御装置３００は、記録ディスクドライブ３０５及び各種のインタフェース３１１〜３１５を備えている。更に、制御装置３００は、力覚センサ信号処理部３２２及びエンコーダ信号処理部３２３を有する。
【００２２】
ＣＰＵ３０１には、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、記録ディスクドライブ３０５、力覚センサ信号処理部３２２、エンコーダ信号処理部３２３、及び各種のインタフェース３１１，３１４，３１５が、バス３１６を介して接続されている。なお、力覚センサ信号処理部３２２にはインタフェース３１２、エンコーダ信号処理部３２３にはインタフェース３１３が接続されている。
【００２３】
ＲＯＭ３０２には、ＢＩＯＳ等の基本プログラムが格納されている。ＲＡＭ３０３は、ＣＰＵ３０１の演算処理結果等、各種データを一時的に記憶する記憶装置である。
【００２４】
ＨＤＤ３０４は、ＣＰＵ３０１の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、ＣＰＵ３０１に、後述する各種演算処理を実行させるためのプログラム３３０を記録するものである。ＣＰＵ３０１は、ＨＤＤ３０４に記録（格納）されたプログラム３３０に基づいてロボット装置の制御方法の各工程を実行する。
【００２５】
記録ディスクドライブ３０５は、記録ディスク３３１に記録された各種データやプログラム等を読み出すことができる。
【００２６】
教示部である操作盤４００は、可搬式のものであり、インタフェース３１１に接続されている。操作盤４００は、ユーザの操作により、ロボット２００を教示する教示点、即ちロボットアーム２０１の各関節の目標関節角度（角度指令値）を示す教示点やロボットハンド２０２のフィンガー２２０の目標位置を示す教示点を出力する。また、操作盤４００は、ユーザが操作することにより、動作プログラムの作成及び編集をすることができる。
【００２７】
力覚センサ２０３は、インタフェース３１２に接続されている。力覚センサ信号処理部３２２は、力覚センサ２０３からの検出信号に基づき、ロボットハンド２０２（嵌合部品Ｗ１）が受ける力を求める。具体的に説明すると、力覚センサ信号処理部３２２は、力覚センサ２０３からの検出信号に基づき、嵌合部品Ｗ１を被嵌合部品Ｗ２に嵌合する嵌合方向（Ｚ方向）の力と、嵌合方向の力と直交（交差）する方向（Ｘ方向及びＹ方向）の力とを求める。
【００２８】
エンコーダ２３１は、インタフェース３１３に接続されている。エンコーダ２３１からは、検出した角度検出値に対応するパルス信号が出力される。エンコーダ信号処理部３２３は、エンコーダ２３１からのパルス信号を入力し、角度情報（データ）に変換する。
【００２９】
回転駆動部２３０は、インタフェース３１４に接続されている。ＣＰＵ３０１は、動作指令に基づき、回転駆動部２３０の回転角度の制御量を示す駆動指令の信号を所定時間間隔でバス３１６及びインタフェース３１４を介して回転駆動部２３０に出力する。なお、回転駆動部２３０は、駆動指令の信号を入力して、不図示のモータへ電流を供給する不図示の駆動回路基板を有する。
【００３０】
電源５００は、インタフェース３１５に接続されている。ＣＰＵ３０１は、操作盤４００からの動作指令を受け、力覚センサ信号処理部３２２及びエンコーダ信号処理部３２３からの情報に基づき、電源５００に、各振動子２４０１，２４０２，２４０３を駆動するための駆動指令を送る。電源５００は、ＣＰＵ３０１の駆動指令により、各振動子２４０１，２４０２，２４０３に、所定の周波数、所定の振幅、所定の位相の電圧波形となる駆動電力を供給する。
【００３１】
なお、バス３１６には、不図示のインタフェースを介して、書き換え可能な不揮発性メモリや外付けＨＤＤ等の不図示の外部記憶装置が接続されていてもよい。
【００３２】
次に、ロボット装置１００の制御方法について詳細に説明する。図４は、本発明の第１実施形態に係るロボット装置１００の制御装置３００による制御方法を示すフローチャートである。図４に示す各工程は、ＣＰＵ３０１がプログラム３３０に従って実行する。
【００３３】
まず、ＣＰＵ３０１は、ロボットハンド２０２のフィンガー２２０１〜２２０３の駆動を制御することで、振動子２４０１〜２４０３を介して、フィンガー２２０１〜２２０３に嵌合部品Ｗ１を把持させる（Ｓ１０１）。
【００３４】
次に、ＣＰＵ３０１は、フィンガー２２０１〜２２０３により把持させた嵌合部品Ｗ１が被嵌合部品Ｗ２の上方に移動するように、ロボットアーム２０１の動作を制御する（Ｓ１０２）。被嵌合部品Ｗ２の上方の位置は、予め操作盤４００等を用いて、嵌合部品Ｗ１と被嵌合部品Ｗ２の中心位置ずれが０．１［ｍｍ］以内になるように教示した位置である。嵌合部品Ｗ１の内周面又は被嵌合部品Ｗ２の外周面にテーパーを設けることにより、中心位置ずれがテーパー量以下の場合はコンプライアンス制御による位置補正が可能となる。
【００３５】
次に、ＣＰＵ３０１は、嵌合作業の開始以前（具体的には開始時）に、各振動子２４０１〜２４０３の振動を開始させるよう電源５００に駆動指令を送信して電源５００を制御する。つまり、嵌合作業を実行するとともに、すなわち嵌合作業の実行中に振動を開始すればよい。例えば嵌合作業の初期に振動を開始しても良い。その場合は嵌合部品Ｗ１と被嵌合部品Ｗ２同士の結合が推移する一連の嵌合工程の初期に振動を開始するとなお良い。（Ｓ１０３：振動開始工程）。電源５００は、ＣＰＵ３０１からの駆動指令に基づき、各振動子２４０１〜２４０３に周期的に変化する駆動電圧波形を付加し、振動子２４０１〜２４０３を振動させる。これにより、嵌合部品Ｗ１には、引っ掛かりが生じていないときに振動が付与されることになる。
【００３６】
具体的には、電源５００は、各振動子２４０１〜２４０３に、振動するのに必要な交流電圧を印加する。なお、第１実施形態では、交流電圧の波形が正弦波である場合について説明するが、これに限定するものではなく、三角波や台形波等、周期的に変化する波形であればよい。各振動子２４０１，２４０２，２４０３に印加する電圧の振幅をＶ１，Ｖ２，Ｖ３、電圧の周波数をｆ１，ｆ２，ｆ３、電圧の位相をθ１，θ２，θ３とする。振動子２４０１には電圧ｖ１（ｔ）＝Ｖ１×ｓｉｎ（２×π×ｆ１×ｔ−θ１）を印加する。振動子２４０２には電圧ｖ２（ｔ）＝Ｖ２×ｓｉｎ（２×π×ｆ２×ｔ−θ２）を印加する。振動子２４０３には電圧ｖ３（ｔ）＝Ｖ３×ｓｉｎ（２×π×ｆ３×ｔ−θ３）を印加する。ここで、ｔは時刻である。これにより、振動子２４０１〜２４０３は、電圧ｖ１（ｔ）〜ｖ３（ｔ）に対応して振動する。
【００３７】
振動子２４０１，２４０２，２４０３の振動の振幅をＶｍ１，Ｖｍ２，Ｖｍ３、振動の周波数をｆｍ１，ｆｍ２，ｆｍ３、振動の位相をθｍ１，θｍ２，θｍ３とする。振動子２４０１の振動ｖｍ１（ｔ）は、ｖｍ１（ｔ）＝Ｖｍ１×ｓｉｎ（２×π×ｆｍ１×ｔ−θｍ１）となる。振動子２４０２の振動ｖｍ２（ｔ）は、ｖｍ２（ｔ）＝Ｖｍ２×ｓｉｎ（２×π×ｆｍ２×ｔ−θｍ２）、振動子２４０３の振動ｖｍ３（ｔ）は、ｖｍ３（ｔ）＝Ｖｍ３×ｓｉｎ（２×π×ｆｍ３×ｔ−θｍ３）となる。振動の振幅Ｖｍ１，Ｖｍ２，Ｖｍ３は、電圧の振幅Ｖ１，Ｖ２，Ｖ３に比例し、振動の周波数ｆｍ１，ｆｍ２，ｆｍ３は、電圧の周波数ｆ１，ｆ２，ｆ３と等しく、振動の位相θｍ１，θｍ２，θｍ３は、電圧の位相θ１，θ２，θ３と等しい。振動子２４０１〜２４０３の振動の波形は、振動子２４０１〜２４０３に印加する電圧の波形に対応しており、電圧の振幅、周波数、位相を制御することで、振動子２４０１〜２４０３の振動の振幅、周波数、位相を制御することができる。
【００３８】
このとき、各振動子２４０１，２４０２，２４０３に与える駆動電圧の周波数ｆ１，ｆ２，ｆ３は、コンプライアンス制御の応答周波数である数十［Ｈｚ］より十分大きな１［ｋＨｚ］〜１０［ｋＨｚ］程度とするのが好ましい。こうすることで、次ステップ以降で実施するコンプライアンス制御に影響を与えずに振動力を付与することができる。振動子２４０１，２４０２，２４０３を振動させることにより、嵌合部品Ｗ１に振動力が付加される。
【００３９】
各振動子２４０１，２４０２，２４０３には、各々の伸縮量の合計が０になるように各振動子２４０１，２４０２，２４０３が振動する電圧が印加される。この振動方法について、図５を用いて説明する。図５は、各振動子２４０１，２４０２，２４０３の振動を説明するための図である。図５（ａ）は３つのフィンガー２２０１，２２０２，２２０３で嵌合部品Ｗ１を把持している状態を、ロボットハンド２０２のフィンガー２２０１，２２０２，２２０３の取り付け面からみた断面図である。図５（ｂ）は各振動子２４０１，２４０２，２４０３の伸縮量を示すグラフであり、縦軸は伸縮量ΔＲ、横軸は時間ｔを表す。
【００４０】
図５（ａ）に示すように、フィンガー２２０１，２２０２，２２０３は、ハンド本体２１０の軸線Ｃを中心に１２０°で回転対称に配置されており、軸線Ｃに対して離間する開方向と軸線Ｃに対して近接する閉方向に移動可能に構成されている。各振動子２４０１，２４０２，２４０３は、軸線Ｃの方向（半径方向）に振動するよう構成されている。図５（ｂ）に示す３つの波形が、各振動子２４０１，２４０２，２４０３の半径方向の伸縮量の変化を表している。図５（ｂ）中実線がフィンガー２２０１に設置された振動子２４０１の伸縮量ΔＲ１を示している。図５（ｂ）中破線がフィンガー２２０２に設置された振動子２４０２の伸縮量ΔＲ２を示している。図５（ｂ）中点線がフィンガー２２０３に設置された振動子２４０３の伸縮量ΔＲ３を示している。
【００４１】
ＣＰＵ３０１は、ステップＳ１０３にて各振動子２４０１，２４０２，２４０３の振動を開始させるときには、各振動子２４０１，２４０２，２４０３の振動の位相が３６０°を等分割した位相差となる第１位相モードで電源５００を制御する。第１実施形態においては、各振動子２４０１，２４０２，２４０３に２π［ｒａｄ］を一周期とした正弦波振動する交流電圧を、各々２π／３［ｒａｄ］ずらして付与する。
【００４２】
ここで、各振動子２４０１，２４０２，２４０３に印加する交流電圧の位相モード（θ１，θ２，θ３）、各振動子２４０１，２４０２，２４０３の振動の位相モード（θｍ１，θｍ２，θｍ３）とする。第１実施形態では、電圧の位相モード（θ１，θ２，θ３）を第１位相モード（０°，１２０°，２４０°）とすることで、振動の位相モード（θｍ１，θｍ２，θｍ３）を、第１位相モード（０°，１２０°，２４０°）としている。なお、第１実施形態では、電圧の振幅をＶ１＝Ｖ２＝Ｖ３として振動の振幅をＶｍ１＝Ｖｍ２＝Ｖｍ３とし、電圧の周波数をｆ１＝ｆ２＝ｆ３として振動の周波数をｆｍ１＝ｆｍ２＝ｆｍ３としている。これにより、付与された電圧に応じて変化する各振動子２４０１，２４０２，２４０３の伸縮量の合計ΔＲ１＋ΔＲ２＋ΔＲ３を０としている。
【００４３】
このように各振動子２４０１，２４０２，２４０３で振動の位相をずらすことで、図５（ａ）に点線で示した、振動子２４０１，２４０２，２４０３の先端を通る円の外径が変化しない。そのため、嵌合部品Ｗ１に与える把持力を一定に保ったまま、嵌合部品Ｗ１に振動力を付与することができる。このことにより、嵌合部品Ｗ１に振動を付与しても、フィンガー２２０１，２２０２，２２０３が嵌合部品Ｗ１を落下させたり、嵌合部品Ｗ１を把持する位置がずれたりすることなく、ロボットハンド２０２で嵌合部品Ｗ１を移動させることが可能となる。
【００４４】
次に、ＣＰＵ３０１は、コンプライアンス制御による嵌合作業（嵌合動作）を実施する（Ｓ１０４）。この嵌合作業は、各振動子２４０１，２４０２，２４０３を振動させたまま実施する。これにより、嵌合部品Ｗ１と被嵌合部品Ｗ２との引っ掛かりの発生を抑制した状態で、嵌合作業を実施することができる。コンプライアンス制御とは、力覚センサ２０３において検出された嵌合方向（Ｚ方向）に交差（直交）する方向（Ｘ方向及びＹ方向）の力成分が小さくなるようにロボットアーム２０１の動作をフィードバック制御することである。ＣＰＵ３０１は、嵌合作業中、コンプライアンス制御を実行する。このコンプライアンス制御と振動子２４０１，２４０２，２４０３の振動により、嵌合作業における引っ掛かりの発生をより効果的に抑制している。
【００４５】
次に、ＣＰＵ３０１は、嵌合作業中に力覚センサ２０３のＺ方向の力の検出値が閾値を上回っているか下回っているかを判断する（Ｓ１０５：判断工程）。第１実施形態では、ＣＰＵ３０１は、力覚センサ２０３のＺ方向の力の検出値が閾値以上であるか否かを判断する。検出値が閾値を下回っている場合は、引っ掛かりが発生しておらず、検出値が閾値を上回っている場合は、引っ掛かりが発生しているか、又は嵌合作業が完了している。閾値は引っ掛かりが発生していない場合に検出される検出値の上限値に設定されている。この閾値は、実験等で予め求めておけばよい。
【００４６】
ＣＰＵ３０１は、検出値が閾値を下回っていると判断した場合（Ｓ１０５：Ｎｏ）、ステップＳ１０４の処理に戻り、嵌合作業を継続する。
【００４７】
ＣＰＵ３０１は、力覚センサ２０３のＺ方向の力の検出値が閾値を上回っていると判断した場合（Ｓ１０５：Ｙｅｓ）、ロボット座標系Σにおけるロボットハンド２０２のＺ方向の位置が、嵌合作業が完了した位置に達したか否かを判断する（Ｓ１０６）。嵌合作業が完了したときにも力覚センサ２０３のＺ方向の力の検出値が閾値を上回る。このため、ステップＳ１０６により、検出値が閾値を上回ったのが、引っ掛かりの発生に起因するのか、又は嵌合作業の完了に起因するのかを判別している。
【００４８】
ＣＰＵ３０１は、ロボットハンド２０２のＺ方向の位置が完了位置に達したと判断した場合（Ｓ１０６：Ｙｅｓ）、つまり嵌合作業が完了した場合には、各振動子２４０１，２４０２，２４０３の振動を停止させるよう電源５００を制御する（Ｓ１０７）。
【００４９】
ＣＰＵ３０１は、ロボットハンド２０２のＺ方向の位置が完了位置に達していないと判断した場合（Ｓ１０６：Ｎｏ）、振動子２４０１，２４０２，２４０３の位相、振幅、周波数を変更する（Ｓ１０８：変更工程）。即ち、ＣＰＵ３０１は、ステップＳ１０８では、振動子２４０１〜２４０３のうち少なくとも１つ、第１実施形態では全ての振動子２４０１〜２４０３について、振動の振幅、周波数及び位相のうち少なくとも１つを変更するように電源５００を制御する。なお、ステップＳ１０６にて、ロボットハンド２０２のＺ方向の位置が完了位置に達していないと判断した場合は、嵌合作業中であり、ステップＳ１０８の処理は、嵌合作業中に行うことになる。
【００５０】
ここで、位相モードは、３つのパラメータ（θｍ１，θｍ２，θｍ３）で表される。つまり、初期状態の位相モード（θｍ１，θｍ２，θｍ３）は、上述したように、第１位相モード（０°，１２０°，２４０°）である。
【００５１】
ステップＳ１０８では、引っ掛かりを解消するために、位相モード（θｍ１，θｍ２，θｍ３）を変更する。具体的には、ＣＰＵ３０１は、第１位相モード（０°，１２０°，２４０°）から、振動子２４０１〜２４０３の振動の位相が同一となる第２位相モード（０°，０°，０°）へ変更する。各振動子２４０１〜２４０３の振動の位相を同位相とすることにより、嵌合部品Ｗ１の変形が第１位相モードよりも大きくなり、嵌合部品Ｗ１と被嵌合部品Ｗ２とのクリアランスが増えるため、引っ掛かりが解消しやすい。なお、第２位相モード（０°，０°，０°）に変更するのが最も効果的であるが、振動の位相（位相モード）を任意に変更してもよく、この場合、嵌合部品Ｗ１の振動状態が変わるため、引っ掛かりが解消しやすくなる。
【００５２】
ここでいう振動の位相の変更とは、１つの位相に対して他の位相を相対的に変更することである。例えば、位相θｍ１に対して位相θｍ２，θｍ３のうちの少なくとも１つを相対的に変更することである。
【００５３】
また、ステップＳ１０８において、ＣＰＵ３０１は、振動の振幅Ｖｍ１，Ｖｍ２，Ｖｍ３の変更として、振幅Ｖｍ１，Ｖｍ２，Ｖｍ３を変更前よりも大きくしている。振動の振幅を大きくすることにより、振動力の大きさを強くすることができ、引っ掛かりが解消しやすくなる。
【００５４】
また、ステップＳ１０８において、ＣＰＵ３０１は、振動の周波数ｆｍ１，ｆｍ２，ｆｍ３の変更として、周波数ｆｍ１，ｆｍ２，ｆｍ３を変更前よりも高くしている。例えば、振動の周波数ｆｍ１，ｆｍ２，ｆｍ３を、１０［ｋＨｚ］から５０［ｋＨｚ］の超音波振動にする。これにより、嵌合部品Ｗ１が伸縮を繰り返し、嵌合部品Ｗ１と被嵌合部品Ｗ２のとの間にクリアランスが増大し、嵌合部品Ｗ１と被嵌合部品Ｗ２の中心軸の傾きが修正する効果が得られ、引っ掛かりが解消しやすくなる。なお、位相、振幅、周波数を全て一度に変更すれば、より効果的に引っ掛かりを解消することができ、変更回数を減らすことができる。
【００５５】
ＣＰＵ３０１は、ステップＳ１０８の処理後、ステップＳ１０４の処理に戻り、嵌合作業を継続する。
【００５６】
以上、第１実施形態によれば、複数のフィンガー２２０１，２２０２，２２０３により嵌合部品Ｗ１を把持した際には、嵌合部品Ｗ１に各振動子２４０１，２４０２，２４０３が接触する。したがって、各振動子２４０１，２４０２，２４０３の振動が嵌合部品Ｗ１に効率よく伝わる。よって、振動を与える振動子２４０１，２４０２，２４０３の質量を小さくでき、大きな振動力を与えなくても引っ掛かりの抑制または解消に十分な振動を与えることができる。そして、力覚センサ２０３のＺ方向の力の検出値により各振動子２４０１，２４０２，２４０３の振動を制御しているので、嵌合部品Ｗ１が被嵌合部品Ｗ２に引っ掛かりが生じた場合には、引っ掛かり状態を効果的に解消することができる。
【００５７】
また、第１実施形態によれば、クリアランスが小さい部品Ｗ１，Ｗ２同士の嵌合作業を実施する際に、嵌合作業の開始以前に振動子２４０１，２４０２，２４０３を振動させているので、嵌合作業途中に生じやすい引っ掛かりの発生を抑制することができる。つまり、引っ掛かりが発生する前から振動力を嵌合部品Ｗ１に付与しているので、嵌合作業の開始時より、引っ掛かりの発生を抑制することができる。
【００５８】
そして、引っ掛かりが発生した場合も、振動子２４０１〜２４０３の振動の位相、振幅、周波数のうち少なくとも１つを変更することで特定の引っ掛かり方向のみでなく、嵌合部品全周の引っ掛かりに対して解消の効果が得られる。更に、引っ掛かりを解消して嵌合作業を継続することが可能となり、嵌合作業の成功率が上がる。
【００５９】
また、ロボット装置１００の停止回数が減るため、ロボット装置１００の稼動率が上がり、単位時間当たりの生産数が増加する。
【００６０】
また、嵌合作業が失敗した場合に必要であった、ロボットハンド２０２を退避することや、嵌合部品Ｗ１を取り除くといった復旧のために実施する作業が必要なくなるため、ロボット装置１００のユーザの負担が減る。
【００６１】
なお、ステップＳ１０５において、力覚センサ２０３のＺ方向の力の検出値＝閾値の場合は、“Ｙｅｓ”と判断したが、境界の判断はどちらでもよく、閾値の設定値によっては“Ｎｏ”と判断してもよい。
【００６２】
［第２実施形態］
次に、本発明の第２実施形態に係るロボット装置について説明する。図６は、本発明の第２実施形態に係るロボット装置の制御装置による制御方法を示すフローチャートである。なお、第２実施形態において上記第１実施形態と同様の構成については、同一符号を付し、説明を省略する。第２実施形態のロボット装置の構成は、上記第１実施形態のロボット装置１００の構成と同一であり、制御装置３００のＣＰＵ３０１が実行するプログラム３３０の内容が異なる。以下、制御方法の各工程について説明する。図６に示す各工程は、ＣＰＵ３０１がプログラム３３０に従って実行する。
【００６３】
まず、ＣＰＵ３０１は、ロボットハンド２０２のフィンガー２２０１〜２２０３の駆動を制御することで、振動子２４０１〜２４０３を介して、フィンガー２２０１〜２２０３に嵌合部品Ｗ１を把持させる（Ｓ２０１）。
【００６４】
次に、ＣＰＵ３０１は、フィンガー２２０１〜２２０３により把持させた嵌合部品Ｗ１が被嵌合部品Ｗ２の上方に移動するように、ロボットアーム２０１の動作を制御する（Ｓ２０２）。被嵌合部品Ｗ２の上方の位置は、予め操作盤４００等を用いて、嵌合部品Ｗ１と被嵌合部品Ｗ２の中心位置ずれが０．１［ｍｍ］以内になるように教示した位置である。嵌合部品Ｗ１の内周面又は被嵌合部品Ｗ２の外周面にテーパーを設けることにより、中心位置ずれがテーパー量以下の場合はコンプライアンス制御による位置補正が可能となる。なお、第２実施形態におけるコンプライアンス制御は、上記第１実施形態におけるコンプライアンス制御と同様である。
【００６５】
次に、ＣＰＵ３０１は、コンプライアンス制御による嵌合作業（嵌合動作）を実施する（Ｓ２０３）。上記第１実施形態では、嵌合部品Ｗ１の引っ掛かりが生じていないときに嵌合部品Ｗ１に振動を付与していた。具体的には、上記第１実施形態では、嵌合作業の開始以前より、嵌合部品Ｗ１に振動を付与していた。第２実施形態では、嵌合部品Ｗ１に振動を付与せずにコンプライアンス制御のみで嵌合作業を開始する。
【００６６】
次に、ＣＰＵ３０１は、嵌合作業中に力覚センサ２０３のＺ方向の力の検出値が閾値を上回っているか下回っているかを判断する（Ｓ２０４：判断工程）。第２実施形態では、ＣＰＵ３０１は、力覚センサ２０３のＺ方向の力の検出値が閾値以上であるか否かを判断する。検出値が閾値を下回っている場合は、引っ掛かりが発生しておらず、検出値が閾値を上回っている場合は、引っ掛かりが発生しているか、又は嵌合作業が完了している。閾値は引っ掛かりが発生していない場合に検出される検出値の上限値に設定されている。この閾値は、実験等で予め求めておけばよい。
【００６７】
ＣＰＵ３０１は、力覚センサ２０３のＺ方向の力の検出値が閾値を上回っていると判断した場合（Ｓ２０４：Ｙｅｓ）、ロボット座標系Σにおけるロボットハンド２０２のＺ方向の位置が、嵌合作業が完了した位置に達したか否かを判断する（Ｓ２０５）。嵌合作業が完了したときにも力覚センサ２０３のＺ方向の力の検出値が閾値を上回る。このため、ステップＳ２０５により、検出値が閾値を上回ったのが、引っ掛かりの発生に起因するのか、又は嵌合作業の完了に起因するのかを判別している。
【００６８】
ＣＰＵ３０１は、ロボットハンド２０２のＺ方向の位置が完了位置に達したと判断した場合（Ｓ２０５：Ｙｅｓ）、つまり嵌合作業が完了した場合には、各振動子２４０１，２４０２，２４０３の振動を停止させるよう電源５００を制御する（Ｓ２０６）。
【００６９】
ＣＰＵ３０１は、検出値が閾値を下回っていると判断した場合（Ｓ２０４：Ｎｏ）、引っ掛かりは発生していないか、引っ掛かりは解消されているので、振動子２４０１〜２４０３を振動させているか否か（振動を付与中であるか否か）を判断する（Ｓ２０７）。ＣＰＵ３０１は、振動を付与中であれば（Ｓ２０７：Ｙｅｓ）振動子２４０１〜２４０３の振動を停止し（Ｓ２０８：振動停止工程）、振動を付与中でなければ（Ｓ２０７：Ｎｏ）そのまま、ステップＳ２０３の処理に戻って嵌合作業を継続する。
【００７０】
ＣＰＵ３０１は、ロボットハンド２０２のＺ方向の位置が完了位置に達していないと判断した場合（Ｓ２０５：Ｎｏ）、引っ掛かりが発生しているので、振動子２４０１〜２４０３を振動させているか否か（振動を付与中であるか否か）を判断する（Ｓ２０９）。
【００７１】
ＣＰＵ３０１は、振動を付与中ではない場合（Ｓ２０９：Ｎｏ）、各振動子２４０１〜２４０３の振動を開始させるよう電源５００に駆動指令を送信して電源５００を制御し（Ｓ２１０：振動開始工程）、ステップＳ２０３に戻って嵌合作業を継続する。電源５００は、ＣＰＵ３０１からの駆動指令に基づき、各振動子２４０１〜２４０３に周期的に変化する駆動電圧波形を付加し、振動子２４０１〜２４０３を振動させる。各振動子２４０１〜２４０３に印加する駆動電圧の波形は、上記第１実施形態と同様、正弦波とする。
【００７２】
このとき、各振動子２４０１，２４０２，２４０３に与える駆動電圧の周波数ｆ１，ｆ２，ｆ３は、コンプライアンス制御の応答周波数である数十［Ｈｚ］より十分大きな１［ｋＨｚ］〜１０［ｋＨｚ］程度とするのが好ましい。こうすることで、ステップＳ２０３のコンプライアンス制御に影響を与えずに振動力を付与することができる。振動子２４０１，２４０２，２４０３を振動させることにより、嵌合部品Ｗ１に振動力が付加される。
【００７３】
各振動子２４０１，２４０２，２４０３には、上記第１実施形態と同様、各々の伸縮量の合計が０になるように各振動子２４０１，２４０２，２４０３が振動する電圧が印加される。具体的には、電圧の位相モード（θ１，θ２，θ３）を第１位相モード（０°，１２０°，２４０°）とすることで、振動の位相モード（θｍ１，θｍ２，θｍ３）を、第１位相モード（０°，１２０°，２４０°）としている。なお、第１実施形態では、電圧の振幅をＶ１＝Ｖ２＝Ｖ３として振動の振幅をＶｍ１＝Ｖｍ２＝Ｖｍ３とし、電圧の周波数をｆ１＝ｆ２＝ｆ３として振動の周波数をｆｍ１＝ｆｍ２＝ｆｍ３としている。これにより、付与された電圧に応じて変化する各振動子２４０１，２４０２，２４０３の伸縮量の合計を０としている。
【００７４】
このように各振動子２４０１，２４０２，２４０３で振動の位相をずらすことで、図５（ａ）に点線で示した、振動子２４０１，２４０２，２４０３の先端を通る円の外径が変化しない。そのため、嵌合部品Ｗ１に与える把持力を一定に保ったまま、嵌合部品Ｗ１に振動力を付与することができる。このことにより、嵌合部品Ｗ１に振動を付与しても、フィンガー２２０１，２２０２，２２０３が嵌合部品Ｗ１を落下させたり、嵌合部品Ｗ１を把持する位置がずれたりすることなく、ロボットハンド２０２で嵌合部品Ｗ１を移動させることが可能となる。
【００７５】
ＣＰＵ３０１は、振動を付与中である場合（Ｓ２０９：Ｙｅｓ）、振動子２４０１，２４０２，２４０３の位相、振幅、周波数を変更する（Ｓ２１１：変更工程）。即ち、ＣＰＵ３０１は、ステップＳ２１１では、振動子２４０１〜２４０３のうち少なくとも１つ、第２実施形態では全ての振動子２４０１〜２４０３について、振動の振幅、周波数及び位相のうち少なくとも１つを変更するように電源５００を制御する。なお、ステップＳ２０５にて、ロボットハンド２０２のＺ方向の位置が完了位置に達していないと判断した場合は、嵌合作業中であり、ステップＳ２１１の処理は、嵌合作業中に行うことになる。
【００７６】
ステップＳ２１１では、引っ掛かりを解消するために、位相モード（θｍ１，θｍ２，θｍ３）を変更する。具体的には、ＣＰＵ３０１は、第１位相モード（０°，１２０°，２４０°）から、振動子２４０１〜２４０３の振動の位相が同一となる第２位相モード（０°，０°，０°）へ変更する。各振動子２４０１〜２４０３の振動の位相を同位相とすることにより、嵌合部品Ｗ１の変形が第１位相モードよりも大きくなり、嵌合部品Ｗ１と被嵌合部品Ｗ２とのクリアランスが増えるため、引っ掛かりが解消しやすい。なお、第２位相モード（０°，０°，０°）に変更するのが最も効果的であるが、振動の位相（位相モード）を任意に変更してもよく、この場合、嵌合部品Ｗ１の振動状態が変わるため、引っ掛かりが解消しやすくなる。
【００７７】
ここでいう振動の位相の変更とは、１つの位相に対して他の位相を相対的に変更することである。例えば、位相θｍ１に対して位相θｍ２，θｍ３のうちの少なくとも１つを相対的に変更することである。
【００７８】
また、ステップＳ２１１において、ＣＰＵ３０１は、振動の振幅Ｖｍ１，Ｖｍ２，Ｖｍ３の変更として、振幅Ｖｍ１，Ｖｍ２，Ｖｍ３を変更前よりも大きくしている。振動の振幅を大きくすることにより、振動力の大きさを強くすることができ、引っ掛かりが解消しやすくなる。
【００７９】
また、ステップＳ２１１において、ＣＰＵ３０１は、振動の周波数ｆｍ１，ｆｍ２，ｆｍ３の変更として、周波数ｆｍ１，ｆｍ２，ｆｍ３を変更前よりも高くしている。例えば、振動の周波数ｆｍ１，ｆｍ２，ｆｍ３を、１０［ｋＨｚ］から５０［ｋＨｚ］の超音波振動にする。これにより、嵌合部品Ｗ１が伸縮を繰り返し、嵌合部品Ｗ１と被嵌合部品Ｗ２のとの間にクリアランスが増大し、嵌合部品Ｗ１と被嵌合部品Ｗ２の中心軸の傾きが修正する効果が得られ、引っ掛かりが解消しやすくなる。なお、位相、振幅、周波数を全て一度に変更すれば、より効果的に引っ掛かりを解消することができ、変更回数を減らすことができる。
【００８０】
ＣＰＵ３０１は、ステップＳ２１１の処理後、ステップＳ２０３の処理に戻り、コンプライアンス制御による嵌合作業を継続する。
【００８１】
以上、第２実施形態によれば、複数のフィンガー２２０１，２２０２，２２０３により嵌合部品Ｗ１を把持した際には、嵌合部品Ｗ１に各振動子２４０１，２４０２，２４０３が接触する。したがって、各振動子２４０１，２４０２，２４０３の振動が嵌合部品Ｗ１に効率よく伝わる。よって、振動を与える振動子２４０１，２４０２，２４０３の質量を小さくでき、大きな振動力を与えなくても引っ掛かりの抑制または解消に十分な振動を与えることができる。そして、力覚センサ２０３のＺ方向の力の検出値により各振動子２４０１，２４０２，２４０３の振動を制御しているので、嵌合部品Ｗ１が被嵌合部品Ｗ２に引っ掛かりが生じた場合には、引っ掛かり状態を効果的に解消することができる。
【００８２】
また、第２実施形態によれば、クリアランスが小さい部品Ｗ１，Ｗ２同士の嵌合作業を実施する際に、引っ掛かりが発生した場合も、引っ掛かりを解消して嵌合作業を継続することが可能となり、嵌合作業の成功率が上がる。
【００８３】
また、上記第１実施形態と同様に、ロボット装置の停止回数が減るため、ロボット装置の稼動率が上がり、単位時間当たりの生産数が増加する。
【００８４】
また、上記第１実施形態と同様に、嵌合作業が失敗した場合に必要であった、ロボットハンド２０２を退避することや、嵌合部品Ｗ１を取り除くといった復旧のために実施する作業が必要なくなるため、ロボット装置のユーザの負担が減る。
【００８５】
また、第２実施形態によれば、引っ掛かりが発生している間のみ、嵌合部品Ｗ１に振動を付与することができるので、嵌合作業を短期間で繰り返し実施する場合などにおいて、振動子２４０の発熱量を抑制することができる。よって、冷却等の手段を用いなくても、ロボット装置の連続稼働が可能になる。
【００８６】
なお、ステップＳ２０４において、力覚センサ２０３のＺ方向の力の検出値＝閾値の場合は、“Ｙｅｓ”と判断したが、境界の判断はどちらでもよく、閾値の設定値によっては“Ｎｏ”と判断してもよい。
【００８７】
［第３実施形態］
次に、本発明の第３実施形態に係るロボット装置について説明する。図７は、本発明の第３実施形態に係るロボット装置のロボットハンドを示す断面模式図である。なお、第３実施形態におけるロボット装置のロボットハンドの構成が、上記第１、第２実施形態と異なるものであり、それ以外の構成は、上記第１、第２実施形態と同様である。また、第３実施形態における制御装置の制御動作も、上記第１、第２実施形態と同様である。第３実施形態において上記第１、第２実施形態と同様の構成については同一符号を付してその説明を省略する。
【００８８】
ロボットハンド２０２Ａは、ハンド本体２１０Ａと、ハンド本体２１０Ａに開閉可能に配置された複数（第３実施形態では３つ）のフィンガー２２０Ａ１，２２０Ａ２，２２０Ａ３を有する。ハンド本体２１０Ａは、複数のフィンガー２２０Ａ１，２２０Ａ２，２２０Ａ３を駆動する不図示の駆動部を有している。複数のフィンガー２２０Ａ１，２２０Ａ２，２２０Ａ３を閉動作させることにより、嵌合部品Ｗ１を把持することができ、複数のフィンガー２２０Ａ１，２２０Ａ２，２２０Ａ３を開動作させることにより、嵌合部品Ｗ１の把持を解放することができる。
【００８９】
複数のフィンガー２２０Ａ１，２２０Ａ２，２２０Ａ３は、ハンド本体２１０の中心軸を中心に３６０°をフィンガー数で割った角度（第３実施形態では１２０°）で回転対称に配置されている。第３実施形態では、フィンガー２２０Ａ１，２２０Ａ２，２２０Ａ３は関節がない把持爪であるが、関節を有するものであってもよい。
【００９０】
複数のフィンガー２２０Ａ１，２２０Ａ２，２２０Ａ３のうち２つ以上のフィンガー、第３実施形態では全てのフィンガー２２０Ａ１，２２０Ａ２，２２０Ａ３のそれぞれに、振動体として振動子２４０Ａ１，２４０Ａ２，２４０Ａ３が設けられている。
【００９１】
各振動子２４０Ａ１〜２４０Ａ３は、圧電素子からなり、各フィンガー２２０Ａ１〜２２０Ａ３に固定され、不図示の電力線により電源５００（図１参照）に接続されている。なお、振動子２４０Ａ１〜２４０Ａ３は、外部に露出して配置されているのが効果的であるが、これに限定するものではない。振動子２４０Ａ１〜２４０Ａ３と、振動子２４０Ａ１〜２４０Ａ３を保護するゴム等の被覆部材（保護部材）とを有して振動体が構成されていてもよい。
【００９２】
各フィンガー２２０Ａ１〜２２０Ａ３は、把持した嵌合部品Ｗ１に相対する段差部２２１Ａ１〜２２１Ａ３を有している。具体的に説明すると、段差部２２１Ａ１〜２２１Ａ３を形成する補助部材２２３Ａ１〜２２３Ａ３がフィンガー本体２２２Ａ１〜２２２Ａ３に固定されて、フィンガー２２０Ａ１〜２２０Ａ３が構成されている。
【００９３】
各振動子２４０Ａ１〜２４０Ａ３は、把持した嵌合部品Ｗ１に接触する位置に設けられている。具体的に説明すると、各振動子２４０Ａ１〜２４０Ａ３は、各フィンガー２２０Ａ１〜２２０Ａ３における段差部２２１Ａ１〜２２１Ａ３に設けられている。第３実施形態では、各補助部材２２３Ａ１〜２２３Ａ３の端部に、各振動子２４０Ａ１〜２４０Ａ３が設置されている。
【００９４】
各振動子２４０Ａ１〜２４０Ａ３の振動方向は、嵌合部品Ｗ１の把持方向と垂直な嵌合方向、即ちロボット座標系ΣのＺ方向となる。なお、第３実施形態においては、フィンガー本体２２２Ａ１〜２２２Ａ３とは別部材の補助部材２２３Ａ１〜２２３Ａ３を設けて段差部２２１Ａ１〜２２１Ａ３を形成しているが、フィンガー本体２２２Ａ１〜２２２Ａ３に段差部を形成してもよい。
【００９５】
以上の構成であっても、振動子２４０Ａ１〜２４０Ａ３の振動を効率よく伝達して、嵌合部品Ｗ１に振動を付与することができる。
【００９６】
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。
【００９７】
上記実施形態の各処理動作は具体的にはＣＰＵ３０１により実行されるものである。従って上述した機能を実現するプログラムを記録した記録媒体を制御装置３００に供給し、制御装置３００のコンピュータ（ＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
【００９８】
また、上記実施形態では、コンピュータ読み取り可能な記録媒体がＨＤＤ３０４であり、ＨＤＤ３０４にプログラム３３０が格納される場合について説明したが、これに限定するものではない。プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図３に示すＲＯＭ３０２、記録ディスク３３１、不図示の外部記憶装置等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、書き換え可能な不揮発性のメモリ（例えばＵＳＢメモリ）、ＲＯＭ等を用いることができる。
【００９９】
また、上記実施形態におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
【０１００】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１０１】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれる。
【０１０２】
また、上記実施形態では、コンピュータがＨＤＤ等の記録媒体に記録されたプログラムを実行することにより、画像処理を行う場合について説明したが、これに限定するものではない。プログラムに基づいて動作する演算部の一部又は全部の機能をＡＳＩＣやＦＰＧＡ等の専用ＬＳＩで構成してもよい。なお、ＡＳＩＣはApplication  Specific  Integrated  Circuit、ＦＰＧＡはField-Programmable  Gate  Arrayの頭字語である。
【符号の説明】
【０１０３】
１００…ロボット装置、２０１…ロボットアーム、２０２…ロボットハンド、２０３…力覚センサ（力検出部）、２２０…フィンガー、２４０…振動子（振動体）、３００…制御装置（制御部）、５００…電源（駆動源）
【図１】
2015164755.tif 000003
【図２】
2015164755.tif 000004
【図３】
2015164755.tif 000005
【図４】
2015164755.tif 000006
【図５】
2015164755.tif 000007
【図６】
2015164755.tif 000008
【図７】
2015164755.tif 000009