(57)【要約】【課題】コスト及び設置スペースの増加を抑制する。【解決手段】ロボット装置１００は、ロボット２００１，２００２と、ロボット２００１に支持された被ガイド部材２５０と、ロボット２００２に支持され、被ガイド部材２５０を案内するガイド部材２６０と、ロボット２００１，２００２の動作を制御する制御部を有する制御装置３００と、を備えている。制御部は、ロボット２００２の動作を制御して、被ガイド部材２５０を案内する位置姿勢にガイド部材２６０を位置決めし、ロボット２００１の動作を制御して、ガイド部材２６０に案内された状態でロボット２００１にて作業対象に作業を施す。【選択図】図２
2017127932.tif 000002
【特許請求の範囲】
【請求項１】
作業ロボットと、
前記作業ロボットに支持された被ガイド部材と、
前記被ガイド部材を案内するガイド部材と、
前記ガイド部材を支持し、前記ガイド部材の位置姿勢を設定する駆動機構と、
前記作業ロボット及び前記駆動機構の動作を制御する制御部と、を備え、
前記制御部は、
前記作業ロボットの動作を制御して、前記作業ロボットにて作業対象に作業を施す作業処理と、
前記作業処理に先立ち、前記駆動機構の動作を制御して、前記作業処理時に前記被ガイド部材を案内する位置姿勢に、前記ガイド部材を位置決めするガイド位置決め処理と、を実行するロボット装置。
【請求項２】
前記作業ロボットは、ロボットアーム、及び前記ロボットアームの先端に取り付けられたロボットハンドを有し、
前記制御部は、
前記作業ロボットの動作を制御して、前記ロボットハンドに把持させた組付ワークを作業開始位置に位置決めするワーク位置決め処理を更に実行し、
前記作業処理として、前記作業ロボットの動作を制御して、前記組付ワークを前記作業開始位置から組付方向に移動させて被組付ワークに組み付ける組付処理を実行する請求項１に記載のロボット装置。
【請求項３】
前記制御部は、前記組付処理において、前記被ガイド部材を前記ガイド部材に押し付けた状態で、前記組付ワークを前記被組付ワークに組付ける請求項２に記載のロボット装置。
【請求項４】
前記ロボットハンドに対する前記組付ワークの位置姿勢を計測する計測部を更に備え、
前記制御部は、前記ワーク位置決め処理において、前記計測部の計測結果に応じて前記作業ロボットの動作を補正して、前記組付ワークを前記作業開始位置に位置決めする請求項２又は３に記載のロボット装置。
【請求項５】
前記制御部は、前記ガイド位置決め処理において、前記計測部の計測結果に応じて前記駆動機構の動作を補正して、前記組付処理時に前記被ガイド部材を前記組付方向に案内する位置姿勢に、前記ガイド部材を位置決めする請求項４に記載のロボット装置。
【請求項６】
前記制御部は、前記ワーク位置決め処理に先立ち、前記作業ロボットの動作を制御して、前記ロボットハンドに前記組付ワークを把持させる把持処理を更に実行する請求項２乃至５のいずれか１項に記載のロボット装置。
【請求項７】
前記駆動機構は、前記ガイド部材を支持した補助ロボットである請求項２乃至６のいずれか１項に記載のロボット装置。
【請求項８】
前記補助ロボットの手先に前記ガイド部材が固定されている請求項７に記載のロボット装置。
【請求項９】
前記作業ロボットの手先に前記被ガイド部材が固定されている請求項７又は８に記載のロボット装置。
【請求項１０】
前記補助ロボット又は前記作業ロボットは、手先にかかる力を検知する検知部を有しており、
前記制御部は、前記検知部に検知される力が一定値に近づくように前記被ガイド部材を前記ガイド部材に押し付ける請求項７乃至９のいずれか１項に記載のロボット装置。
【請求項１１】
前記ガイド部材は、前記被ガイド部材と２か所で接触するよう断面がＬ字形状に形成されており、
前記制御部は、前記ガイド位置決め処理において、前記断面に垂直な方向が前記組付方向と平行となる状態に前記ガイド部材を位置決めする請求項２乃至１０のいずれか１項に記載のロボット装置。
【請求項１２】
前記被ガイド部材は、前記ガイド部材と接触し得る接触面が球面に形成されている請求項１１に記載のロボット装置。
【請求項１３】
前記作業ロボットには、前記被ガイド部材が１つ設けられている請求項１１又は１２に記載のロボット装置。
【請求項１４】
被ガイド部材が取り付けられた作業ロボットと、前記被ガイド部材を案内するガイド部材を支持し、前記ガイド部材の位置姿勢を変更する駆動機構との動作を制御部によって制御するロボット制御方法であって、
前記制御部が、前記作業ロボットの動作を制御して、前記作業ロボットにて作業対象に作業を施す作業工程と、
前記制御部が、前記作業工程に先立ち、前記駆動機構の動作を制御して、前記作業工程時に前記被ガイド部材を案内する位置姿勢に、前記ガイド部材を位置決めするガイド位置決め工程と、を備えたロボット制御方法。
【請求項１５】
被ガイド部材が取り付けられた作業ロボットと、前記被ガイド部材を案内するガイド部材を支持し、前記ガイド部材の位置姿勢を変更する駆動機構との動作を制御部によって制御し、前記作業ロボットの作業により部品を製造する製造方法であって、
前記制御部が、前記作業ロボットの動作を制御して、前記作業ロボットにて作業対象に作業を施す作業工程と、
前記制御部が、前記作業工程に先立ち、前記駆動機構の動作を制御して、前記作業工程時に前記被ガイド部材を案内する位置姿勢に、前記ガイド部材を位置決めするガイド位置決め工程と、を備えた部品の製造方法。
【請求項１６】
コンピュータに請求項１４に記載のロボット制御方法の各工程を実行させるためのプログラム。
【請求項１７】
請求項１６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業ロボットを有するロボット装置、ロボット制御方法、部品の製造方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
一般に、多関節のロボットアームの先端にロボットハンドを取り付けて構成されたロボットを用いて、組付ワークを被組付ワークに組付ける組付作業を行っている。例えば、被組付ワークの上方の作業開始位置に組付ワークを移動させた後、組付ワークを作業開始位置から下方に移動させて、組付作業を行っている。
【０００３】
この組付作業の際、ロボットを高速で動作させると、ロボットの振動によりロボットのロボットハンドが目標軌跡から位置ずれする。このロボットハンドの位置ずれにより、ロボットハンドが把持した組付ワークが、被組付ワークの面取り部分に接触する。
【０００４】
ロボットハンドを更に下降させると、コンプライアンス制御によって、面取り部分の斜面から組付ワークが受ける力によってロボットハンドの位置が修正され、組付ワークが被組付ワークに組み付けられる。この面取りが大きければ、ロボットハンドの目標軌跡からのずれを許容できるが、製品の機能・形状の制約から、部品に面取り部分を十分に確保できないことがある。
【０００５】
これに対し、別途設置されたガイドレールに、ロボットハンドに取り付けたガイドフックを押し付けて案内されることによって、組付作業を行う方法が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１−１４６６６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の方法では、作業箇所に対して固有のガイドレールが必要となる。そのため、作業ロボットが複数箇所で組付作業を行う場合、作業箇所分のガイドレールが必要になってしまい、コスト及び設置スペースが増加するという問題があった。このような問題は、組付作業以外の作業、例えばツールを用いてねじ止めをする作業などでも生じ得る。
【０００８】
そこで、本発明は、コスト及び設置スペースの増加を抑制することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のロボット装置は、作業ロボットと、前記作業ロボットに支持された被ガイド部材と、前記被ガイド部材を案内するガイド部材と、前記ガイド部材を支持し、前記ガイド部材の位置姿勢を設定する駆動機構と、前記作業ロボット及び前記駆動機構の動作を制御する制御部と、を備え、前記制御部は、前記作業ロボットの動作を制御して、前記作業ロボットにて作業対象に作業を施す作業処理と、前記作業処理に先立ち、前記駆動機構の動作を制御して、前記作業処理時に前記被ガイド部材を案内する位置姿勢に、前記ガイド部材を位置決めするガイド位置決め処理と、を実行する。
【発明の効果】
【００１０】
本発明によれば、駆動機構によりガイド部材の位置姿勢を変更することができるので、ガイド部材を複数の位置に各々設置する必要が無くなり、コスト及び設置スペースの増加を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係るロボット装置の作業ロボットを示す斜視図である。
【図２】第１実施形態に係るロボット装置全体の説明図である。
【図３】ロボットアームの関節を示す部分断面図である。
【図４】第１実施形態に係るロボット装置の制御装置の構成を示すブロック図である。
【図５】（ａ）は、第１実施形態に係るロボット装置のガイド部材、被ガイド部材及び組付ワークを把持したロボットハンドを示す斜視図である。（ｂ）は、（ａ）中、矢印Ｄ方向に見た、ロボット装置のガイド部材、被ガイド部材及び組付ワークを把持したロボットハンドを示す平面図である。
【図６】第１実施形態に係る部品の製造方法の一部の工程を示すフローチャートである。
【図７】第１実施形態に係る部品の製造方法の一部の工程を示すフローチャートである。
【図８】組付作業を行った際の力覚センサ値を示すグラフである。
【図９】第２実施形態に係るロボット装置のガイド部材、被ガイド部材及び組付ワークを把持したロボットハンドを示す斜視図である。
【図１０】第２実施形態に係る部品の製造方法の一部の工程を示すフローチャートである。
【図１１】ガイド部材と被ガイド部材との位置関係を説明するための斜視図である。
【図１２】図１１の矢印Ｅ方向に見たガイド部材及び被ガイド部材を示す側面図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１３】
［第１実施形態］
図１は、第１実施形態に係るロボット装置の作業ロボットを示す斜視図である。図２は、第１実施形態に係るロボット装置全体の説明図である。なお、作業対象であるワークＷ１は、例えばリング状の部材であり、作業対象であるワークＷ２は、例えばリング状の部材が嵌る突起部を有する部材である。
【００１４】
ロボット装置１００は、作業ロボットとしてのロボット２００１と、駆動機構（補助ロボット）としてのロボット２００２と、ロボット２００１，２００２の動作を制御する制御装置３００と、を備えている。即ち、ロボット装置１００は、双腕ロボットを備えている。また、ロボット装置１００は、計測部としての撮像装置４００及び画像処理装置５００と、教示部としてのティーチングペンダント７００と、を備えている。なお、図１では、双腕ロボットの一方のみを図示している。ロボット２００１，２００２は、同様の構成であり、以下ロボット２００１の構成について説明し、ロボット２００２の構成の説明は省略する。
【００１５】
ロボット２００１は、垂直多関節のロボットアーム２０１と、ロボットアーム２０１の先端に取り付けられた、ロボット２００１の手先であるエンドエフェクタとしてのロボットハンド２０２と、を有している。
【００１６】
また、ロボット２００１は、ロボットアーム２０１の先端とロボットハンド２０２との間に配置された、検知部としての力覚センサ２０３を有している。よって、ロボットハンド２０２は、ロボットアーム２０１の先端に力覚センサ２０３を介して取り付けられることになる。
【００１７】
ロボットアーム２０１は、架台１５０に固定されるベース部（基端リンク）２１０と、変位や力を伝達する複数のリンク２１１〜２１６とが関節Ｊ１〜Ｊ６で揺動（旋回）又は回転可能に連結されている。第１実施形態では、ロボットアーム２０１は、揺動する３軸と回転する３軸の６軸の関節Ｊ１〜Ｊ６で構成されている。ここで、揺動する関節を揺動部、回転する関節を回転部と呼ぶ。ロボットアーム２０１は、６つの関節Ｊ１〜Ｊ６から構成され、関節Ｊ１，Ｊ４，Ｊ６が回転部、関節Ｊ２，Ｊ３，Ｊ５が揺動部である。
【００１８】
ロボットアーム２０１の各関節Ｊ１〜Ｊ６には駆動装置が設けられている。各関節Ｊ１〜Ｊ６の駆動装置は、必要なトルクの大きさに合わせて適切な出力のものが用いられる。
【００１９】
ロボットハンド２０２は、ハンド本体２２０と、ハンド本体２２０に開閉可能に支持された複数のフィンガー２２１とを有している。ハンド本体２２０は、複数のフィンガー２２１を駆動する不図示の駆動装置と、不図示の駆動装置の回転角度を検出する不図示のエンコーダと、回転を把持動作に変換する不図示の機構とを有している。この不図示の機構は、カム機構やリンク機構などで必要な把持動作に合わせて設計される。なお、ロボットハンド２０２に用いる不図示の駆動装置に必要なトルクは、ロボットアーム２０１の関節用と異なるが、基本構成は同じである。
【００２０】
複数のフィンガー２２１を閉動作させることにより、組付ワーク（第１のワーク）であるワークＷ１を把持することができ、複数のフィンガー２２１を開動作させることにより、ワークＷ１を把持解放することができる。ロボットハンド２０２は、複数のフィンガー２２１を用いてワークＷ１を把持することにより、ワークＷ１を被組付ワーク（第２のワーク）であるワークＷ２に組付ける組付作業を行うことができる。組付作業により、組立てられた部品Ｗ０が製造される。
【００２１】
力覚センサ２０３は、ロボット２００１の手先（つまりロボットハンド２０２）にかかる力を検知する。力覚センサ２０３は、６軸力覚センサであり、検知する力は、Ｘ軸、Ｙ軸、Ｚ軸の３軸の力成分と、各軸まわりのモーメント成分からなる。
【００２２】
撮像装置４００は、デジタルカメラである。撮像装置４００は、ＣＣＤ（Charge  Coupled  Device）イメージセンサやＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）イメージセンサ等の撮像センサ４０１を有する。撮像装置４００は、架台１５０（ロボットアーム２０１のベース部２１０）に対して移動しないように、架台１５０に固定されている。撮像装置４００は、撮像範囲内（画角内）の被写体を撮像する。第１実施形態では、ロボットハンド２０２及びロボットハンド２０２に把持されたワークＷ１が被写体となる。画像処理装置５００は、撮像装置４００により撮像された画像を処理して、ロボットハンド２０２に対するワークＷ１の位置姿勢を求める。第１実施形態では、撮像装置４００及び画像処理装置５００により、計測部である計測装置６００が構成されている。つまり、計測装置６００は、ロボットハンド２０２に対し、ロボットハンド２０２に把持されたワークＷ１の位置姿勢を計測する。
【００２３】
ティーチングペンダント７００は、制御装置３００に接続可能に構成され、制御装置３００に接続された際に、ロボットアーム２０１やロボットハンド２０２を駆動制御する駆動指令や教示点のデータを制御装置３００に送信可能に構成されている。
【００２４】
ロボットアーム２０１は、各関節Ｊ１〜Ｊ６に関節を駆動する駆動装置が設けられている。以下、ロボットアーム２０１において、関節Ｊ２を例に代表して説明し、他の関節Ｊ１，Ｊ３〜Ｊ６については、サイズや性能が異なる場合もあるが、同様の構成であるため、説明を省略する。
【００２５】
図３は、ロボットアーム２０１の関節Ｊ２を示す部分断面図である。駆動装置１０は、電動モータである回転モータ（以下、「モータ」という）１４１と、モータ１４１の回転軸１４２の回転を減速する減速機１４３と、を有している。
【００２６】
モータ１４１は、サーボモータであり、例えばブラシレスＤＣサーボモータやＡＣサーボモータである。
【００２７】
モータ１４１の回転軸１４２（即ち、減速機１４３の入力軸）には、モータ１４１の回転角度を検出するエンコーダ１６１が配置されている。減速機１４３の出力軸には、減速機１４３の出力軸の回転角度、即ち関節Ｊ２の角度を検出するエンコーダ１６２が配置されている。
【００２８】
エンコーダ１６１は、アブソリュート型のロータリーエンコーダが望ましく、１回転の絶対角度エンコーダ、絶対角度エンコーダの回転総数のカウンタ、及びカウンタに電力を供給するバックアップ電池を有して構成される。ロボットアーム２０１への電源の供給がオフになっても、このバックアップ電池が有効であれば、ロボットアーム２０１への電源供給のオン／オフに関係なく、カウンタにおいて回転総数が保持される。したがって、ロボットアーム２０１の姿勢が制御可能となる。
【００２９】
エンコーダ１６２は、隣り合う２つのリンク間の相対角度を検出するロータリーエンコーダである。関節Ｊ２においては、エンコーダ１６２は、リンク２１１とリンク２１２との間の相対角度を検出するロータリーエンコーダである。エンコーダ１６２は、リンク２１１にエンコーダスケールを設け、リンク２１２に検出ヘッドを設けた構成、或いは逆の構成となる。
【００３０】
また、リンク２１１とリンク２１２とは、クロスローラベアリング１４７を介して揺動自在に連結される。
【００３１】
減速機１４３は、例えば小型軽量で減速比の大きい波動歯車減速機である。減速機１４３は、モータ１４１の回転軸１４２に結合された、入力軸であるウェブジェネレータ１５１と、リンク２１２に固定された、出力軸であるサーキュラスプライン１５２と、を備えている。なお、サーキュラスプライン１５２は、リンク２１２に直結されているが、リンク２１２に一体に形成されていてもよい。
【００３２】
また、減速機１４３は、ウェブジェネレータ１５１とサーキュラスプライン１５２との間に配置され、リンク２１１に固定されたフレクスプライン１５３を備えている。フレクスプライン１５３は、ウェブジェネレータ１５１の回転に対して減速比Ｎで減速され、サーキュラスプライン１５２に対して相対的に回転する。従って、モータ１４１の回転軸１４２の回転は、減速機１４３で１／Ｎの減速比で減速されて、フレクスプライン１５３が固定されたリンク２１１に対してサーキュラスプライン１５２が固定されたリンク２１２を相対的に回転運動させ、関節Ｊ２を揺動させる。
【００３３】
各関節Ｊ１〜Ｊ６に配置されたエンコーダ１６１及びエンコーダ１６２のうち少なくとも一方で、位置検出部が構成されている。即ち、各関節Ｊ１〜Ｊ６のエンコーダ１６１又はエンコーダ１６２の値により、ロボットの手先の位置姿勢を計算（検出）することができる。
【００３４】
図４は、第１実施形態に係るロボット装置の制御装置の構成を示すブロック図である。制御装置３００は、制御部（処理部）としてのＣＰＵ（Central  Processing  Unit）３０１を備えている。また、制御装置３００は、記憶部として、ＲＯＭ（Read  Only  Memory）３０２、ＲＡＭ（Random  Access  Memory）３０３、ＨＤＤ（Hard  Disk  Drive）３０４を備えている。また、制御装置３００は、記録ディスクドライブ３０５及び各種のインタフェース３１１〜３１４を備えている。
【００３５】
ＣＰＵ３０１には、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、記録ディスクドライブ３０５及び各種のインタフェース３１１〜３１４が、バス３１０を介して接続されている。ＲＯＭ３０２には、ＢＩＯＳ等の基本プログラムが格納されている。ＲＡＭ３０３は、ＣＰＵ３０１の演算処理結果等、各種データを一時的に記憶する記憶装置である。
【００３６】
ＨＤＤ３０４は、ＣＰＵ３０１の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、ＣＰＵ３０１に、後述する各種演算処理を実行させるためのプログラム３４０を記録するものである。ＣＰＵ３０１は、ＨＤＤ３０４に記録（格納）されたプログラム３４０に基づいてロボット制御方法（部品Ｗ０の製造方法）の各工程を実行する。
【００３７】
記録ディスクドライブ３０５は、記録ディスク３４１に記録された各種データやプログラム等を読み出すことができる。
【００３８】
ロボット２００１はインタフェース３１１に接続され、ロボット２００２はインタフェース３１２に接続されている。これにより、ＣＰＵ３０１は、各ロボット２００１，２００２に駆動指令（関節指令）を出力して各ロボット２００１，２００２の動作を制御することができ、各ロボット２００１，２００２から各種センサの検知信号を取得することができる。
【００３９】
画像処理装置５００は、インタフェース３１３に接続され、撮像装置４００の撮像画像を画像処理して、ロボット２００１のロボットハンド２０２に対するワークＷ１の位置姿勢（把持位置及び把持姿勢）を計測し、その計測結果をＣＰＵ３０１に出力する。
【００４０】
教示部であるティーチングペンダント７００は、インタフェース３１４に接続されている。ティーチングペンダント７００は、ユーザの入力操作により、ロボット（ロボットアーム２０１）を教示する教示点のデータを指定することができる。教示点のデータは、インタフェース３１４及びバス３１０を通じてＣＰＵ３０１又はＨＤＤ３０４に出力される。ＣＰＵ３０１は、ティーチングペンダント７００又はＨＤＤ３０５から教示点のデータの入力を受ける。
【００４１】
バス３１０には、不図示のインタフェースを介して、書き換え可能な不揮発性メモリや外付けＨＤＤ等の不図示の外部記憶装置が接続されていてもよい。
【００４２】
なお、第１実施形態では、コンピュータ読み取り可能な記録媒体がＨＤＤ３０４であり、ＨＤＤ３０４にプログラム３４０が格納される場合について説明するが、これに限定するものではない。プログラム３４０は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム３４０を供給するための記録媒体としては、図４に示すＲＯＭ３０２や、記録ディスク３４１、不図示の外部記憶装置等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、ＵＳＢメモリ等の不揮発性メモリ、ＲＯＭ等を用いることができる。
【００４３】
ここで、ロボット２００の手先、つまりロボットハンド２０２には、ツールセンターポイント（ＴＣＰ）が設定されている。ＴＣＰは、位置を表す３つのパラメータ（ｘ，ｙ，ｚ）と、姿勢を表す３つのパラメータ（Ｒｘ，Ｒｙ，Ｒｚ）、即ち６つのパラメータ（ｘ，ｙ，ｚ，Ｒｘ，Ｒｙ，Ｒｚ）で表され、タスク空間上では、１つの点としてみなすことができる。つまり、タスク空間は、これら６つの座標軸で規定された空間である。このＴＣＰで教示点を指定することができる。
【００４４】
また、教示点を関節角度（コンフィグレーション）で指定することもできる。第１実施形態では、ロボットアーム２０１の関節が６つあるので、教示点は、関節角度を表す６つのパラメータを示すコンフィグレーション（θ１，θ２，θ３，θ４，θ５，θ６）で表され、関節空間上では、１つの点とみなすことができる。つまり、関節空間は、これら６つの座標軸で規定された空間である。
【００４５】
教示点は、タスク空間又は関節空間で指定される。ＣＰＵ３０１は、ロボットプログラムで指定された補間方法に従い、教示点間を補間するロボットアーム２０１の経路（補間経路）データを生成する。ここで、教示点間を補間する補間方法としては、直線補間、円弧補間、関節補間、Ｓｐｌｉｎｅ補間、Ｂ−Ｓｐｌｉｎｅ補間、ベジェ曲線など、種々の方法がある。経路データとは、タスク空間におけるロボットアーム２０１のＴＣＰの軌跡、又は関節空間におけるロボットアーム２０１のコンフィグレーションの軌跡である。
【００４６】
そして、ＣＰＵ３０１は、ロボットアーム２０１の動作を規定する軌道データを計算する。ロボットアーム２０１の軌道データとは、時間をパラメータとして経路データを表したものである。第１実施形態では、時刻毎（例えば１ｍｓ毎）のＴＣＰの位置指令、又はコンフィグレーションの関節指令の集合である。位置指令は、６つのパラメータ（ｘ，ｙ，ｚ，Ｒｘ，Ｒｙ，Ｒｚ）で表され、関節指令は、６つのパラメータ（θ１，θ２，θ３，θ４，θ５，θ６）で表される。
【００４７】
軌道データが位置指令の場合、ＣＰＵ３０１は、最終的には位置指令を各関節Ｊ１〜Ｊ６の関節角度を示す関節指令に逆運動学に基づき変換する。関節指令を各関節Ｊ１〜Ｊ６の関節駆動装置の制御装置に出力することで、ロボットアーム２０１の動作を制御する。軌道データが関節指令の場合、ＣＰＵ３０１は、関節指令を各関節Ｊ１〜Ｊ６の駆動装置の制御装置に出力することで、ロボットアーム２０１の動作を制御する。
【００４８】
このように、ＣＰＵ３０１は、駆動指令（関節指令）からなる軌道データを用いてロボットアーム２０１の制御を行う。このロボットアーム２０１の制御の際、ＣＰＵ３０１は、セミクローズドループ制御と、フルクローズドループ制御とのいずれかを選択的に行う。セミクローズドループ制御は、各関節Ｊ１〜Ｊ６のエンコーダ（入力軸エンコーダ）１６１の検出角度を目標とする角度（関節指令を減速機１４３の減速比で補正した指令）に近づけるフィードバック制御である。また、フルクローズドループ制御は、各関節Ｊ１〜Ｊ６のエンコーダ（出力軸エンコーダ）１６２の検出角度を目標とする角度（関節指令）に近づけるフィードバック制御である。各関節Ｊ１〜Ｊ６には、減速機１４３等の撓み部材が存在するため、セミクローズドループ制御よりもフルクローズドループ制御の方が精度が高いが、応答性はセミクローズドループ制御の方が高く高速動作が可能である。
【００４９】
ここで、ロボット２００１は、ワークＷ１をワークＷ２に組付ける（嵌合する）組付作業（嵌合作業）を実施する。ロボット２００２は、ロボット２００１の作業を補助するものである。第１実施形態ではロボット装置１００は、図２に示すように、作業ロボットであるロボット２００１に支持された被ガイド部材２５０と、補助ロボットであるロボット２００２に支持されたガイド部材２６０と、を備えている。つまり、ロボット２００２は、ガイド部材２６０を支持しており、ガイド部材２６０の位置姿勢を設定（変更）することができる。
【００５０】
被ガイド部材２５０は、ロボット２００１の手先、即ちロボット２００１のロボットハンド２０２に固定されている。ガイド部材２６０は、ロボット２００２の手先、即ちロボット２００２のロボットハンド２０２に固定されている。ガイド部材２６０は、接触した被ガイド部材２５０を直線的に案内する形状に形成されている。
【００５１】
第１実施形態ではロボット２００１が力覚センサ２０３を有しているので、組立作業時にロボット２００１のコンプライアンス制御が可能となっている。なお、ロボット２００１及びロボット２００２のうち、少なくとも一方が力覚センサ２０３を有していればよく、ロボット２００２の力覚センサ２０３によりロボット２００１のコンプライアンス制御を行うことも可能である。
【００５２】
図５（ａ）は、第１実施形態に係るロボット装置のガイド部材、被ガイド部材及び組付ワークを把持したロボットハンドを示す斜視図である。図５（ｂ）は、図５（ａ）中、矢印Ｄ方向に見た、ロボット装置のガイド部材、被ガイド部材及び組付ワークを把持したロボットハンドを示す平面図である。
【００５３】
被ガイド部材２５０は、ガイド部材２６０に接触し得る接触面が球面に形成された、球体である。第１実施形態では、被ガイド部材２５０は、力覚センサ２０３の検出値のＦｙの検出軸上に球形状の被ガイド部材２５０の中心が位置するように、ロボットハンド２０２のハンド本体２２０に固定されている。
【００５４】
ガイド部材２６０は、被ガイド部材２５０と２か所で接触するよう断面がＬ字形状に形成されている。そして、ガイド部材２６０は、被ガイド部材２５０を組付位置に直線的に案内するよう、断面に垂直な案内方向（長手方向）に延びて形成されている。即ち、ガイド部材２６０は、Ｖ溝形状に形成されている。
【００５５】
被ガイド部材２５０がガイド部材２６０に誘い込まれるために必要なＶ溝の角度θは、被ガイド部材２５０とガイド部材２６０との摩擦係数から以下のように決定される。μは被ガイド部材２５０とガイド部材２６０との摩擦係数である。
ｔａｎθ＜１／μ
【００５６】
Ｖ溝の短手方向の幅Ｈは球径、及びロボット２００１の位置ずれを考慮し決定される。Ｖ溝の長手方向の長さＬはワークに合わせて組付時に軌跡の精度が必要になる距離以上する。
【００５７】
図５（ａ）中、一点鎖線Ａは、ワークＷ２に対して、ワークＷ１を組み付ける際の理想的なワークＷ１の軌跡である。図５（ａ）中、一点鎖線Ｃは、ガイド部材２６０に被ガイド部材２５０が案内されながら動作した場合の被ガイド部材２５０の軌跡である。
【００５８】
次に、第１実施形態の部品Ｗ０の製造方法（ロボット制御方法）について説明する。まず、実際の組付作業に先立つ各ロボット２００１，２００２のティーチングについて説明する。図６は、第１実施形態に係る部品の製造方法の一部の工程（具体的にはティーチング工程）を示すフローチャートである。
【００５９】
ここで、ロボット２００１，２００２に対してロボット座標系ΣＲが設定されているものとする。そして、ワークＷ２は、架台１５０つまりロボット座標系ΣＲにおいて高精度に位置決めされるものとする。ロボットプログラムには、作業開始位置の教示点と作業完了位置の教示点とが含まれ、これら教示点のデータを以下のティーチングにより設定する。なお、作業開始位置の教示点と作業完了位置の教示点との間の軌道は、直線補間により作成する。
【００６０】
まずＣＰＵ３０１は、ロボット２００１のロボットハンド２０２に対して基準となる位置姿勢でワークＷ１を把持させる（Ｓ１）。つまり、ロボットハンド２０２のフィンガー２２１の基準となる位置にワークＷ１が位置するようにロボットハンド２０２にワークＷ１を把持させる。例えば、一旦ロボットハンド２０２に把持させたワークＷ１を平面に把持解放して、再度ロボットハンド２０２にワークＷ１を把持させる。
【００６１】
そして、ＣＰＵ３０１は、ティーチングペンダント７００を用いたティーチングにより、ワークＷ１とワークＷ２との組付中心が同一となり、かつワークＷ１とワークＷ２とが接触しない作業開始位置にロボット２００１を動作させる。つまり、ＣＰＵ３０１は、ロボット２００１の動作を制御して、ロボット２００１のロボットハンド２０２に対して基準の位置姿勢で把持されたワークＷ１を、ロボット座標系ΣＲにおける作業開始位置に位置決めさせる（Ｓ２）。そして、ワークＷ１を位置決めしたときの作業開始位置における教示点のデータを設定する。これにより、作業開始位置のティーチングが完了する。また、作業完了位置についても同様にティーチングする。
【００６２】
ここで、作業開始位置における被ガイド部材２５０の中心を基準点とする座標をツール座標Ｓ０とする。ツール座標Ｓ０は、理想の軌跡Ａと平行な方向にＺ軸、案内軌跡Ｃに垂直な方向で、且つロボットハンド２０２の中心に向かう方向をＹ軸としている。このティーチング時の作業開始位置のロボット２００１の位置姿勢を、基準の位置姿勢とする。ワークＷ１がこの作業開始位置からワークＷ２に直線的に組付方向（Ｚ方向）に辿る軌跡が理想の軌跡Ａである。
【００６３】
次に、ＣＰＵ３０１は、軌跡Ｃが理想の軌跡Ａと平行となり、かつガイド部材２６０が被ガイド部材２５０と２点（２か所）で接触する基準の位置姿勢となるように、ガイド部材２６０側のロボット２００２をユーザのティーチングに基づき動作させる（Ｓ３）。このとき、ガイド部材２６０のＶ溝の中心と、力覚センサ２０３のＹ軸が交差する状態にロボット２００２をティーチングするのが望ましい。この状態において、ガイド部材２６０に対して設定した、ツール座標Ｓ０と一致する基準点の座標を、ツール座標Ｔ０とする。
【００６４】
次に、実際にワークＷ１をワークＷ２に組付ける組付作業を行う場合について説明する。図７は、第１実施形態に係る部品の製造方法の一部の工程（具体的には組付作業）を示すフローチャートである。
【００６５】
まず、ＣＰＵ３０１は、ロボット２００１の動作を制御してロボット２００１のロボットハンド２０２にワークＷ１を把持させる（Ｓ１１：把持処理、把持工程）。このとき、ワークＷ１は、ロボットハンド２０２に対して基準となる位置姿勢でロボットハンド２０２に把持させる。例えば、山積みされた複数のワークＷ１の中から１つのワークＷ１をロボットハンド２０２に把持させた後、一旦ロボットハンド２０２に把持させたワークＷ１を平面に把持解放して、再度ロボットハンド２０２にワークＷ１を把持させる。このように、１つのワークＷ１に対して少なくとも２回のピッキング作業が必要となるが、ロボットハンド２０２に対して毎回同じ位置姿勢でワークＷ１を把持することができる。
【００６６】
次にＣＰＵ３０１は、次の作業処理に先立ち、ロボット２００２の動作を制御して、作業処理時（作業工程時）に被ガイド部材２５０を組付方向に案内する位置姿勢に、ガイド部材２６０を位置決めする（Ｓ１２：ガイド位置決め処理、ガイド位置決め工程）。この組付方向は、ロボット座標系ΣＲのＺ軸方向である。
【００６７】
具体的に説明すると、ＣＰＵ３０１は、ステップＳ３で予めティーチングされた位置姿勢にロボット２００２を動作させる。この位置決め時において、ＣＰＵ３０１は、ガイド部材２６０がガイド位置に移動する動作中、ロボット２００２に対してフルクローズドループ制御を行う。これにより、ガイド部材２６０を、ティーチングしたガイド位置に精度よく位置決めすることができる。なお、ガイド部材２６０がガイド位置に近づくまではセミクローズドループ制御を行い、ガイド位置近傍でフルクローズドループ制御に切り替えてもよい。
【００６８】
また、位置決め後は、ＣＰＵ３０１は、ロボット２００２の各関節Ｊ１〜Ｊ６のエンコーダ１６２が一定の値となるようにフルクローズドループ制御を行う。これにより、ロボット２００２に外力が働いても、ロボット座標系ΣＲにおけるガイド部材２６０の位置姿勢が保たれる。
【００６９】
次に、ＣＰＵ３０１は、作業処理として、ロボット２００１の動作を制御して、ロボットハンド２０２に把持させたワークＷ１を作業開始位置に位置決めする（Ｓ１３：ワーク位置決め処理、ワーク位置決め工程）。この位置決め時において、ＣＰＵ３０１は、ワークＷ１が作業開始位置に近づくまではセミクローズドループ制御を行い、作業開始位置近傍でフルクローズドループ制御に切り替える。セミクローズドループ制御は応答性が高いため、ロボット２００１の動作を高速化することができる。
【００７０】
なお、第１実施形態では、ロボット２００１のロボットハンド２０２に把持されたワークＷ１が作業開始位置に移動完了する前に、予めロボット２００２をステップＳ３でティーチングした位置姿勢に動作させておく。
【００７１】
次に、ＣＰＵ３０１は、ロボット２００１の動作を制御して、ガイド部材２６０に案内された状態でロボット２００１により作業対象に作業を施す（Ｓ１４：作業処理、作業工程）。具体的に説明すると、ＣＰＵ３０１は、ロボット２００１の動作を制御して、ワークＷ１を作業開始位置から作業完了位置まで組付方向（座標系ΣＲのＺ軸方向）に直線的に移動させてワークＷ１をワークＷ２に組み付ける（組付処理、組付工程）。この組付処理中、被ガイド部材２５０はガイド部材２６０に組付方向に案内される。
【００７２】
このステップＳ１４において、ＣＰＵ３０１は、被ガイド部材２５０をガイド部材２６０に押し付けた状態で、ワークＷ１をワークＷ２に組付ける。具体的に説明すると、ＣＰＵ３０１は、ロボットハンド２０２、即ち被ガイド部材２５０を図５（ｂ）の＋Ｙ軸方向から−Ｙ軸方向へ移動させながら、組付方向であるＺ軸方向に下降させてワークＷ１をワークＷ２に組付ける。このように、ワークＷ１を移動させる組付方向と交差（直交）する方向に被ガイド部材２５０をガイド部材２６０に押し付けながら、ワークＷ１を組付方向に移動させる。
【００７３】
このときの押し付け力（与圧）は一定値とするのが好ましい。即ち、第１実施形態ではＣＰＵ３０１は、ロボット２００１の力覚センサ２０３に検知される力が一定値に近づくように被ガイド部材２５０をガイド部材２６０に押し付けるよう、ロボット２００１を制御する。
【００７４】
このように被ガイド部材２５０をガイド部材２６０に押し付けることによって、被ガイド部材２５０がガイド部材２６０のＶ溝中心に誘い込まれ、ワークＷ１とワークＷ２の組付中心が同一の状態になる。このロボット２００１のコンプライアンス制御機能によって組付処理を実行することにより、高速にワークＷ１をワークＷ２に組付けることができる。
【００７５】
図８は、組付作業を行った際の力覚センサ値を示すグラフである。図８において、時間Ｔ１は、被ガイド部材２５０がガイド部材２６０に接触して作業開始位置から組付処理を開始するタイミングを示している。時間Ｔ２は、組付ワークＷ１が被組付ワークＷ２に接触するタイミングを示している。時間Ｔ３は、ワークＷ１が作業完了位置に到達したタイミングを示している。また、図８中、実線は、コンプライアンス制御を行った場合の力覚センサ２０３の値を示し、破線は、コンプライアンス制御を行わなかった場合の力覚センサ２０３の値を示している。
【００７６】
組付処理中、組付ワークＷ１が被組付ワークＷ２に接触してからは特にワークＷ１の高い位置精度が要求される。したがって、少なくとも時間Ｔ２から時間Ｔ３までの間は、図８の実線に示すように、力覚センサ２０３の値が一定値（正の値）に近づくようにフィードバック制御するのが好ましい。力覚センサ２０３の目標値は、前回の組付動作時の力覚センサ値に基づいて設定してもよいし、予め行った実験結果に基づいて設定してもよい。
【００７７】
このように、ワークＷ１を理想の軌跡Ａに沿って動作させる場合、被ガイド部材２５０とガイド部材２６０との間に一定の与圧がかかるようにしたため、組付処理中、被ガイド部材２５０がガイド部材２６０に接触している状態を維持することができる。
【００７８】
つまり、力覚センサ２０３の値が正の値をとるようにフィードバックして被ガイド部材２５０のガイド部材２６０への押し込み量を制御することで、被ガイド部材２５０がガイド部材２６０に接触していることが保証される。これにより、ロボットアーム２０１の振動等によって被ガイド部材２５０がガイド部材２６０から離れてワークＷ１が理想の軌跡Ａから外れるのを防止することができる。よって、組付処理中、ワークＷ１とワークＷ２との中心が同一の状態が保証され、高精度な組付作業が保証される。
【００７９】
以上、第１実施形態によれば、ガイド部材２６０に沿ってロボット２００１の手先を動作させるため、高速動作でも高精度な動作が可能になる。また、高速でロボット２００１を動作させた場合の手先の振動を、被ガイド部材２５０をガイド部材２６０に押し付けることによって低減することができ、高精度な組付作業を実現することができる。
【００８０】
また、ガイド部材２６０の位置姿勢を変更することができるので、複数の箇所で組付作業をする場合、ガイド部材を複数の箇所に各々設置する必要が無くなり、コスト及び設置スペースの増加を抑制することができる。
【００８１】
なお、ロボット２００１の動作は遅くなるが、作業開始位置へのワークＷ１の位置決めの際にワークＷ１を作業開始位置近傍に移動させる場合においても、フルクローズドループ制御で行ってもよい。その際にはロボット２００１の振動が軽減されるため、被ガイド部材２５０がガイド部材２６０に接触していることが保証されるのであれば、組付処理時に上述したコンプライアンス制御を行わなくてもよい。
【００８２】
また、第１実施形態では、被ガイド部材２５０とガイド部材２６０がそれぞれ１つの場合について説明したが、１つのガイド部材２６０に対して複数の被ガイド部材２５０があってもよく、また、ガイド部材２６０と被ガイド部材２５０とが複数対あってもよい。
【００８３】
また、図７において、ステップＳ１２（ガイド位置決め処理）の次にステップＳ１３（ワーク位置決め処理）を実行する場合について説明したが、この順番に限定するものではない。ステップＳ１３の次にステップＳ１２を行ってもよく、ステップＳ１２，Ｓ１３を同時に行ってもよい。
【００８４】
［第２実施形態］
次に、本発明の第２実施形態に係るロボット装置による部品の製造方法（ロボット制御方法）について説明する。図９は、第２実施形態に係るロボット装置のガイド部材、被ガイド部材及び組付ワークを把持したロボットハンドを示す斜視図である。なお、第２実施形態のロボット装置の構成は、第１実施形態のロボット装置の構成と同様であるため、ロボット装置の構成の説明は省略する。
【００８５】
また、図１０は、第２実施形態に係る部品の製造方法の一部の工程（具体的には組付作業）を示すフローチャートである。なお、ティーチング工程は第１実施形態で説明した図６と同様であるため、その説明は省略する。
【００８６】
第１実施形態では、ロボット２００１のロボットハンド２０２がフィンガー２２１において毎回同じ位置でワークＷ１を把持する場合について説明した。第２実施形態では、ロボットハンド２０２がフィンガー２２１においてランダムな位置姿勢でワークＷ１を把持する場合（いわゆるランダムピッキング）について説明する。
【００８７】
ランダムに山積みされた複数のワークＷ１の中から１つをロボットハンド２０２に把持させる場合、図９に示すように、ロボットハンド２０２に対するワークＷ１の位置姿勢は基準とする位置姿勢（ティーチングした時の位置姿勢）とは毎回異なる。
【００８８】
まずＣＰＵ３０１は、ロボット２００１の動作を制御してロボット２００１のロボットハンド２０２にワークＷ１を把持させる（Ｓ２１：把持処理、把持工程）。このとき、ワークＷ１は、ロボットハンド２０２に対してランダムな位置姿勢でロボットハンド２０２に把持される。第２実施形態では、第１実施形態のようにワークＷ１を持ち替える作業を行う必要がないため、第１実施形態よりも組付作業を高速化することができる。
【００８９】
次に、ＣＰＵ３０１は、計測部である計測装置６００に、ロボットハンド２０２に対するワークＷ１の位置姿勢を計測させる（Ｓ２２：計測処理、計測工程）。具体的に説明すると、ＣＰＵ３０１は、ロボット２００１を制御してワークＷ１を把持したロボットハンド２０２を撮像装置４００の画角内に移動させ、撮像装置４００にロボットハンド２０２及びワークＷ１を撮像させる。画像処理装置５００は、撮像画像を画像処理してロボットハンド２０２に対するワークＷ１の位置姿勢を求め、その計測結果を制御装置３００のＣＰＵ３０１に送る。これによりＣＰＵ３０１は、画像処理装置５００からロボットハンド２０２に対するワークＷ１の位置姿勢を取得する。
【００９０】
ＣＰＵ３０１は、計測装置６００の計測結果に応じてロボット２００１の動作を補正して、ワークＷ１を作業開始位置に位置決めする（Ｓ２３：ワーク位置決め処理、ガイド位置決め工程）。詳述するとＣＰＵ３０１は、ロボットハンド２０２に対するワークＷ１の基準の位置姿勢からの位置姿勢ずれに基づき、ロボット座標系ΣＲにおいてワークＷ１がステップＳ２でティーチングしたときの位置姿勢となるロボットハンド２０２の位置姿勢を求める。つまり、計測装置６００の計測結果により作業開始位置（及び作業完了位置）のロボット２００１の教示点のデータを補正する。そして、補正した教示点のデータに基づき軌道データを生成する。このように、ワークＷ１がロボット座標系ΣＲにおいて基準（理想）の軌跡Ａを辿るようにロボット２００１の軌道データを生成する。そして、ＣＰＵ３０１は、軌道データに従ってロボット２００１を動作させて、ワークＷ１を作業開始位置に位置決めする。図９は、ワークＷ１を作業開始位置に位置決めした状態を図示している。
【００９１】
この位置決め時において、ＣＰＵ３０１は、ワークＷ１が作業開始位置に近づくまではセミクローズドループ制御を行い、作業開始位置近傍でフルクローズドループ制御に切り替える。セミクローズドループ制御は応答性が高いため、ロボット２００１の動作を高速化することができる。
【００９２】
ここで、ワークＷ１を基準にロボット２００１の位置姿勢だけを補正すると、ロボットハンド２０２及び被ガイド部材２５０と、ガイド部材２６０との位置姿勢関係が、図５（ａ）の状態と異なる。そのため、ガイド部材２６０がロボット２００２をティーチングしたときの理想の位置姿勢のままでは、ガイド部材２６０と被ガイド部材２５０とが接触しなくなる。つまり、被ガイド部材２５０をガイド部材２６０で案内できなくなる。
【００９３】
そこでＣＰＵ３０１は、計測装置６００の計測結果に応じてロボット２００２の動作を補正して、次の組付処理時に被ガイド部材２５０を組付方向に案内する位置姿勢に、ガイド部材２６０を位置決めする（Ｓ２４：ガイド位置決め処理、ガイド位置決め工程）。
【００９４】
具体的に説明すると、まず、ＣＰＵ３０１は、ロボット２００１をティーチングしたときの作業開始位置における被ガイド部材２５０の基準の位置姿勢（ツール座標）Ｓ０を算出する。また、ＣＰＵ３０１は、計測装置６００で計測されたロボットハンド２０２に対するワークＷ１の実位置姿勢に基づき、ワークＷ１を作業開始位置に位置決めしたと想定したときの被ガイド部材２５０の実位置姿勢（ツール座標）Ｓ１を算出する。そして、ＣＰＵ３０１は、基準の位置姿勢Ｓ０と実位置姿勢Ｓ１との偏差ΔＳを求める。
【００９５】
次に、ＣＰＵ３０１は、ステップＳ３でティーチングしたときにガイド部材２６０に対して設定したツール座標Ｔ０を、偏差ΔＳに基づき補正し、補正したツール座標Ｔ１に基づき、ロボット２００２のガイド位置における教示点のデータを補正する。そして、ＣＰＵ３０１は、教示点のデータを用いて軌道データを生成し、軌道データに従ってロボット２００２（つまりガイド部材２６０）がガイド位置に移動するように動作させる。これにより、ガイド部材２６０の位置姿勢が、計測結果に基づき作業開始位置に位置決めしたときの被ガイド部材２５０の位置姿勢に倣って補正されることになる。
【００９６】
更に詳述すると、ＣＰＵ３０１は、偏差ΔＳのうち（ｘ，ｙ，ｚ，ｔｚ）成分により、ティーチングしたときのガイド部材２６０のツール座標Ｔ０を補正する。この補正後のツール座標Ｔ１は以下のようになる。
Ｔ１＝Ｔ０（ｘ０，ｙ０，ｚ０，ｔｘ０，ｔｙ０，ｔｚ０）＋ΔＳ（ｘ，ｙ，ｚ，０，０，ｔｚ）
【００９７】
つまり、第２実施形態では、作業開始位置から作業完了位置までワークＷ１を直線的に移動させる。したがって、ＣＰＵ３０１は、ステップＳ２４において、被ガイド部材２５０がいかなる位置姿勢であっても、ガイド部材２６０の案内方向（長手方向）が組付方向と平行となる状態にガイド部材２６０を位置決めする。
【００９８】
なお、第２実施形態では、ロボットハンド２０２の位置姿勢、つまり被ガイド部材２５０の位置姿勢がワークＷ１の把持位置によって変わるため、ロボット２００２に設けられる被ガイド部材２５０の数は１つである。
【００９９】
図１１は、ガイド部材と被ガイド部材との位置関係を説明するための斜視図であり、図１２は、図１１の矢印Ｅ方向に見たガイド部材及び被ガイド部材を示す側面図である。
【０１００】
図１１及び図１２に示すように、ガイド部材２６０側のロボット２００２を動作させてガイド部材２６０を補正したガイド位置に位置決めすることにより、被ガイド部材２５０とガイド部材２６０とが接触する。
【０１０１】
この位置決め時において、ＣＰＵ３０１は、ガイド部材２６０がガイド位置に移動する動作中、ロボット２００２に対してフルクローズドループ制御を行う。これにより、ガイド部材２６０を、ティーチングした位置に精度よく位置決めすることができる。なお、ガイド部材２６０がガイド位置に近づくまではセミクローズドループ制御を行い、ガイド位置近傍でフルクローズドループ制御に切り替えてもよい。
【０１０２】
次に、ＣＰＵ３０１は、ロボット２００１の動作を制御して、作業対象に作業を施す（Ｓ２４：作業処理、作業工程）。具体的に説明すると、ＣＰＵ３０１は、ロボット２００１の動作を制御して、ワークＷ１を作業開始位置から作業完了位置まで組付方向（座標系ΣＲのＺ軸方向）に直線的に移動させてワークＷ１をワークＷ２に組み付ける（組付処理、組付工程）。
【０１０３】
このステップＳ２４において、ＣＰＵ３０１は、被ガイド部材２５０をガイド部材２６０に押し付けた状態で、ワークＷ１をワークＷ２に組付ける。このときの押し付け力（与圧）は一定値とするのが好ましい。
【０１０４】
このように、被ガイド部材２５０がガイド部材２６０に一定の余圧をかけながら組付方向であるＺ軸方向に下降することで、被ガイド部材２５０が案内軌跡Ｃ’上を動作し、ワークＷ１が理想の軌跡Ａに沿って動作する。
【０１０５】
このとき、ＣＰＵ３０１は、偏差ΔＳのうちの（ｔｘ，ｔｙ）成分に基づき、以下の式のように力覚センサ２０３の検出値を補正し、Ｆｙ方向の値が一定の与圧がかかるように押し込み量を制御する。
Ｆｙ＝ｆｙ×ｃｏｓ（ｔｘ）＋ｆｚ×ｓｉｎ（ｔｘ）＞０
【０１０６】
このように制御することによって、ロボット２００１の姿勢によらず、ロボット２００１を高速に動作させた場合でも、ロボット２００１の振動を抑制することができ、高精度な組付動作が可能となる。
【０１０７】
なお、ロボット２００１の動作は遅くなるが、作業開始位置へのワークＷ１の位置決めの際にワークＷ１を作業開始位置近傍に移動させる場合においても、フルクローズドループ制御で行ってもよい。その際にはロボット２００１の振動が軽減されるため、被ガイド部材２５０がガイド部材２６０に接触していることが保証されるのであれば、組付処理時に上述したコンプライアンス制御を行わなくてもよい。
【０１０８】
また、図１０において、ステップＳ２３（ワーク位置決め処理）の次にステップＳ２４（ガイド位置決め処理）を実行する場合について説明したが、この順番に限定するものではない。ステップＳ２４の次にステップＳ２３を行ってもよく、ステップＳ２３，Ｓ２４を同時に行ってもよい。
【０１０９】
本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
【０１１０】
上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１１１】
また、上述の実施形態では、１つのコンピュータ（ＣＰＵ）で制御部が構成されている場合について説明したが、複数のコンピュータ（ＣＰＵ）で制御部が構成されていてもよい。
【０１１２】
また、上述の実施形態では、ロボットアームが垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。ロボットアームが、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。
【０１１３】
また、上述の実施形態では、計測部が撮像装置と画像処理装置とで構成される場合について説明したが、ロボットハンドに対するワークの位置姿勢を計測できれば、いかなる計測装置であってもよい。例えば、計測部がレーザ変位計であってもよい。
【０１１４】
また、上述の実施形態では、作業ロボットが力の検知部である力覚センサを有する場合について説明したが、補助ロボットが力の検知部を有していてもよい。この場合、作業ロボットに力の検知部が必須ではなくなるため、作業ロボットのロボットハンドの重量が軽くなり、作業ロボットの動作速度を更に向上させることが可能となり、サイクルタイムの短縮効果がある。また、ロボットハンドの重量が軽くなるため、より重いワークを搬送することが可能になる。
【０１１５】
また、上述の実施形態では、作業ロボットに行わせる作業が組付作業である場合について説明したが、組付作業に限定するものではなく、例えば作業ロボットにツール（例えばドライバ）を用いて行わせる作業であってもよい。また、組付作業が嵌合作業である場合について説明したが、これに限定するものではなく、例えば作業ロボットにラベル貼りを行わせるラベリング作業であってもよい。この場合、組付ワークがラベルであり、作業ロボットは、被組付ワークにラベルを貼ることになる。
【０１１６】
また、上述の実施形態では、補助ロボットのロボットハンドにガイド部材が固定されている場合について説明したが、これに限定するものではなく、補助ロボットのロボットハンドにガイド部材を把持させておいてもよい。
【０１１７】
また、上述の実施形態では、駆動機構が補助ロボットである場合について説明したが、ロボットに限定するものではなく、ガイド部材を支持してガイド部材の位置姿勢を変更できるものであれば、いかなる機構のものでもよい。
【符号の説明】
【０１１８】
１００…ロボット装置、２００１…ロボット（作業ロボット）、２００２…ロボット（駆動機構、補助ロボット）、２５０…被ガイド部材、２６０…ガイド部材、３０１…ＣＰＵ（制御部）、Ｗ１…ワーク（組付ワーク）、Ｗ２…ワーク（被組付ワーク）
【図１】
2017127932.tif 000003
【図２】
2017127932.tif 000004
【図３】
2017127932.tif 000005
【図４】
2017127932.tif 000006
【図５】
2017127932.tif 000007
【図６】
2017127932.tif 000008
【図７】
2017127932.tif 000009
【図８】
2017127932.tif 000010
【図９】
2017127932.tif 000011
【図１０】
2017127932.tif 000012
【図１１】
2017127932.tif 000013
【図１２】
2017127932.tif 000014