(57)【要約】【課題】ワークの位置姿勢をセンサの計測結果に基づいて補正する際に、補正による動作時間の増加を抑制できるロボットシステムを提供する。【解決手段】アーム２０と、保持部２２及び保持部調整機構２３を有するハンド２１と、カメラ７と、制御装置３と、を備え、制御装置３は、カメラ７によりワークを計測し、ワークの計測の後に、カメラ７により計測されるワークを保持部２２が保持する位置姿勢（第１の位置姿勢）から、移動の目標位置に位置するワークを保持部２２が保持する位置姿勢（第２の位置姿勢）まで、保持部２２が移動するようアーム２０を移動させ、ワークについて、基準位置姿勢に対する誤差を演算し、演算結果に基づき保持部調整機構２３により誤差を補正し、ワークの誤差の演算と、保持部調整機構２３による誤差の補正との少なくとも一部を、アーム２０の移動と同時に実行する。【選択図】図２
2014104529.tif 000002
【特許請求の範囲】
【請求項１】
多関節アームと、
前記多関節アームに支持され、前記多関節アームの動作により位置及び姿勢が調整されると共に、ワークを把持可能な保持部を有するエンドエフェクタと、
前記ワークの位置及び姿勢の少なくとも一自由度を計測するセンサと、
前記多関節アームの最先端の関節と前記エンドエフェクタの前記保持部との間に配置されると共に、前記多関節アームに対する前記保持部の位置及び姿勢の少なくとも一自由度を調整可能な保持部調整機構と、
少なくとも前記多関節アーム、前記エンドエフェクタ、前記保持部調整機構を制御し、前記センサから取得した計測データから前記ワークの位置及び姿勢の少なくとも一自由度を算出する制御装置と、を備え、
前記制御装置は、
前記センサにより前記ワークを計測し、
前記ワークの計測の後に、前記センサにより計測される前記ワークを前記保持部が保持する位置姿勢である第１の位置姿勢から、移動の目標位置に位置する前記ワークを前記保持部が保持する位置姿勢である第２の位置姿勢まで、前記保持部が移動するように前記多関節アームを移動させ、
前記ワークについて、予め設定した基準位置姿勢に対する位置及び姿勢の少なくとも一自由度の誤差を演算し、演算結果に基づき前記保持部調整機構により前記誤差を補正し、
前記ワークの前記誤差の演算と、前記演算に基づく前記保持部調整機構による前記誤差の補正と、の少なくとも一部を、前記多関節アームの移動と同時に実行する、
ことを特徴とするロボットシステム。
【請求項２】
前記制御装置は、
前記保持部調整機構による前記補正の際に、前記ワークの前記誤差を補正するために必要な自由度数から、前記保持部調整機構の自由度数を減算した自由度数と同数の前記多関節アームの関節により前記誤差を補正する補正動作も実行する、
ことを特徴とする請求項１記載のロボットシステム。
【請求項３】
前記センサは、前記ワークを撮影するカメラである、
ことを特徴とする請求項１又は請求項２に記載のロボットシステム。
【請求項４】
前記センサは、固定部材に載置された状態の前記ワークを計測する、
ことを特徴とする請求項１乃至３のいずれか一項に記載のロボットシステム。
【請求項５】
前記センサは、前記保持部に保持された状態の前記ワークを計測する
ことを特徴とする請求項１乃至３のいずれか一項に記載のロボットシステム。
【請求項６】
多関節アームと、
前記多関節アームに支持され、前記多関節アームの動作により位置及び姿勢が調整されると共に、ワークを把持可能な保持部を有するエンドエフェクタと、
前記ワークの位置及び姿勢の少なくとも一自由度を計測するセンサと、
前記多関節アームの最先端の関節と前記エンドエフェクタの前記保持部との間に配置されると共に、前記多関節アームに対する前記保持部の位置及び姿勢の少なくとも一自由度を調整可能な保持部調整機構と、
少なくとも前記多関節アーム、前記エンドエフェクタ、前記保持部調整機構を制御し、前記センサから取得した計測データから前記ワークの位置及び姿勢の少なくとも一自由度を算出する制御装置と、を備えたロボットシステムの制御方法において、
前記制御装置が、前記センサにより前記ワークを計測するワーク計測工程と、
前記制御装置が、前記ワーク計測工程の後に、前記センサにより計測される前記ワークを前記保持部が保持する位置姿勢である第１の位置姿勢から、移動の目標位置に位置する前記ワークを前記保持部が保持する位置姿勢である第２の位置姿勢まで、前記保持部が移動するように前記多関節アームを移動させるアーム移動工程と、
前記制御装置が、前記ワークについて、予め設定した基準位置姿勢に対する位置及び姿勢の少なくとも一自由度の誤差を演算し、演算結果に基づいて前記保持部調整機構により前記誤差を補正する補正作業工程と、を備え、
前記補正作業工程の少なくとも一部を、前記アーム移動工程と同時に実行する、
ことを特徴とするロボットシステムの制御方法。
【請求項７】
前記補正作業工程では、
前記制御装置が、前記保持部調整機構により前記誤差を補正する際に、前記誤差を補正するために必要な自由度数から、前記保持部調整機構の自由度数を減算した自由度数と同数の前記多関節アームの関節により前記誤差を補正する、
ことを特徴とする請求項６記載のロボットシステムの制御方法。
【請求項８】
前記センサは、前記ワークを撮影するカメラである、
ことを特徴とする請求項６又は請求項７に記載のロボットシステムの制御方法。
【請求項９】
前記センサは、固定部材に載置された状態の前記ワークを計測する、
ことを特徴とする請求項６乃至８のいずれか一項に記載のロボットシステムの制御方法。
【請求項１０】
前記センサは、前記保持部に保持された状態の前記ワークを計測する
ことを特徴とする請求項６乃至８のいずれか一項に記載のロボットシステムの制御方法。
【請求項１１】
請求項６乃至１０のいずれか１項に記載のロボットシステムの制御方法の各工程をコンピュータに実行させるためのプログラム。
【請求項１２】
請求項１１に記載のロボットシステムの制御方法の各工程をコンピュータに実行させるためのプログラムが記録されたコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の関節が制御されることにより駆動する多関節アームを利用するロボットシステム及びロボットシステムの制御方法に関する。
【背景技術】
【０００２】
従来、垂直多関節アーム及びエンドエフェクタ（例えばハンド）等を備えたロボットに所望の動作をさせるために、予めロボットが所望の位置姿勢となる教示点をロボットに記憶させ、その記憶した教示データに従ってロボットを動作させることが行われている。この種のロボットを用いてワークを目標の位置姿勢に移動させるには、対象となるワークの位置姿勢をカメラ等のセンサにより計測し、目標位置姿勢に移動させるまでにワークの位置姿勢を適宜補正することが望まれる。
【０００３】
ところが、この種のロボットは一般的に関節が直列に連結された構造であるため、ハンドが取っている位置姿勢を算出するためには、運動学の計算を行う必要がある。また、逆にハンドに所望の位置姿勢を取らせるためには、逆運動学の計算を行って、アームの各関節への指令値を算出する必要がある。各関節への指令値を算出するには軌道計算が必要であり、この軌道計算は長時間を要することから、ロボットの動作中に行うと動作時間が長くなってしまう。
【０００４】
ロボットの軌道計算による動作時間の増加を軽減するために、ロボット（１０）を概略位置に向けて動作を開始させた後に、センサにより随時計測を行いリアルタイムで指令値の修正を行うようにしたロボット制御装置（５０）が開発されている（特許文献１）。このロボット制御装置（５０）によれば、ロボットが移動を完了した時点で位置誤差を計測して補正する必要が無いので、動作時間の増加を軽減することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−１４１０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載されたロボット制御装置（５０）では、ロボット（１０）の動作開始後に指令値を修正するので、軌道計算が必要となってしまい、軌道計算を無くすことができず、また指令値の修正に伴う動作が随時発生してしまう。これらの理由から、このロボット制御装置（５０）では、動作時間の増加への抑制が十分でないという課題がある。
【０００７】
本発明は、ワークの位置姿勢をセンサの計測結果に基づいて補正する際に、補正による動作時間の増加を抑制できるロボットシステム及びロボットシステムの制御方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明は、多関節アームと、前記多関節アームに支持され、前記多関節アームの動作により位置及び姿勢が調整されると共に、ワークを把持可能な保持部を有するエンドエフェクタと、前記ワークの位置及び姿勢の少なくとも一自由度を計測するセンサと、前記多関節アームの最先端の関節と前記エンドエフェクタの前記保持部との間に配置されると共に、前記多関節アームに対する前記保持部の位置及び姿勢の少なくとも一自由度を調整可能な保持部調整機構と、少なくとも前記多関節アーム、前記エンドエフェクタ、前記保持部調整機構を制御し、前記センサから取得した計測データから前記ワークの位置及び姿勢の少なくとも一自由度を算出する制御装置と、を備え、前記制御装置は、前記センサにより前記ワークを計測し、前記ワークの計測の後に、前記センサにより計測される前記ワークを前記保持部が保持する位置姿勢である第１の位置姿勢から、移動の目標位置に位置する前記ワークを前記保持部が保持する位置姿勢である第２の位置姿勢まで、前記保持部が移動するように前記多関節アームを移動させ、前記ワークについて、予め設定した基準位置姿勢に対する位置及び姿勢の少なくとも一自由度の誤差を演算し、演算結果に基づき前記保持部調整機構により前記誤差を補正し、前記ワークの前記誤差の演算と、前記演算に基づく前記保持部調整機構による前記誤差の補正と、の少なくとも一部を、前記多関節アームの移動と同時に実行することを特徴とする。
【０００９】
また、本発明は、多関節アームと、前記多関節アームに支持され、前記多関節アームの動作により位置及び姿勢が調整されると共に、ワークを把持可能な保持部を有するエンドエフェクタと、前記ワークの位置及び姿勢の少なくとも一自由度を計測するセンサと、前記多関節アームの最先端の関節と前記エンドエフェクタの前記保持部との間に配置されると共に、前記多関節アームに対する前記保持部の位置及び姿勢の少なくとも一自由度を調整可能な保持部調整機構と、少なくとも前記多関節アーム、前記エンドエフェクタ、前記保持部調整機構を制御し、前記センサから取得した計測データから前記ワークの位置及び姿勢の少なくとも一自由度を算出する制御装置と、を備えたロボットシステムの制御方法において、前記制御装置が、前記センサにより前記ワークを計測するワーク計測工程と、前記制御装置が、前記ワーク計測工程の後に、前記センサにより計測される前記ワークを前記保持部が保持する位置姿勢である第１の位置姿勢から、移動の目標位置に位置する前記ワークを前記保持部が保持する位置姿勢である第２の位置姿勢まで、前記保持部が移動するように前記多関節アームを移動させるアーム移動工程と、前記制御装置が、前記ワークについて、予め設定した基準位置姿勢に対する位置及び姿勢の少なくとも一自由度の誤差を演算し、演算結果に基づいて前記保持部調整機構により前記誤差を補正する補正作業工程と、を備え、前記補正作業工程の少なくとも一部を、前記アーム移動工程と同時に実行することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ワークの誤差の演算と、保持部調整機構による誤差の補正と、の少なくとも一部を、多関節アームの移動と同時に実行するので、同時ではなく前後して実行する場合に比べて補正動作時間の増加を抑制できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態に係るロボットシステムの概略構成を示す説明図である。
【図２】本発明の第１実施形態に係るロボットシステムの概略構成を示すブロック図である。
【図３】本発明の第１実施形態に係るロボットシステムの動作準備時の動作を示すフローチャートである。
【図４】本発明の第１実施形態に係るロボットシステムの動作時の動作を示すフローチャートである。
【図５】本発明の第１実施形態に係るカメラとワーク供給位置との位置関係を示す説明図である。
【図６】図５においてカメラで教示治具を撮影した画像を示す図である。
【図７】本発明の第１実施形態に係るハンドの動きを示す側面図であり、（ａ）は移動側円柱状部材を把持した状態、（ｂ）は移動側円柱状部材を目標教示点に移動させる途中の状態、（ｃ）は移動側円柱状部材を目標教示点に移動させた状態である。
【図８】本発明の第２実施形態に係るロボットシステムの概略構成を示す説明図である。
【図９】本発明の第２実施形態に係るロボットシステムの動作準備時の動作を示すフローチャートである。
【図１０】本発明の第２実施形態に係るロボットシステムの動作時の動作を示すフローチャートである。
【図１１】本発明の第２実施形態に係るハンドの動きを示す側面図であり、（ａ）はビス穴教示治具を目標教示点に移動させた状態、（ｂ）はビス穴教示治具を計測教示点に移動させた状態である。
【図１２】図１１（ｂ）においてカメラで教示治具を撮影した画像を示す図である。
【図１３】本発明の第３実施形態に係るロボットシステムの動作準備時の動作を示すフローチャートである。
【図１４】本発明の第３実施形態に係るロボットシステムの動作時の動作を示すフローチャートである。
【図１５】本発明の第３実施形態に係るカメラと計測教示点との位置関係を示す説明図である。
【図１６】図１５においてカメラで教示治具を撮影した画像を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１３】
［第１実施形態］
図１及び図２に示すように、ロボットシステム１は、ロボット２と、ロボット２を制御する制御装置３と、センサとしてのカメラ７と、を備えている。
【００１４】
ロボット２は、６軸の垂直多関節アーム（以下、アームと呼ぶ）２０と、エンドエフェクタとしてのハンド２１とを有している。本実施形態では、アーム２０として６軸の垂直多関節アームを適用しているが、軸数は用途や目的に応じて適宜変更してもよい。また、本実施形態では、エンドエフェクタとしてハンド２１を適用しているが、これに限られず、例えば、磁力や負圧による吸着等、何らかの方法によりワークを保持及び解放できるものであればよい。
【００１５】
アーム２０は、７つのリンク６１〜６７と、各リンク６１〜６７を揺動又は回動可能に連結する６つの関節７１〜７６とを備えている。最も先端側の先端リンク６７は、略Ｌ字形状になっている。各リンク６１〜６７としては、長さが固定されたものを採用している。但し、例えば、直動アクチュエータにより伸縮可能なリンクを採用してもよい。
【００１６】
各関節７１〜７６には、各関節７１〜７６を各々駆動するモータ、あるいは必要に応じて直動アクチュエータが、出力機器２０ｂとして設けられている。各関節７１〜７６には、モータの回転角度を検知するエンコーダと、各モータに供給する電流を検知する電流センサと、各関節７１〜７６のトルクを検知するトルクセンサとが、入力機器２０ａとして設けられている。
【００１７】
ハンド２１は、アーム２０に支持され、アーム２０の動作により位置及び姿勢の少なくとも一自由度が調整されると共に、保持部２２と、保持部調整機構２３とを備えている。保持部２２は、保持部調整機構２３を介して、アーム２０の先端リンク６７に取り付けられ、ワークに対して作業可能になっている。本実施形態では、エンドエフェクタとしてハンド２１が採用されているので、保持部２２は、ワークを把持可能な３本等の複数の指により構成されている。また、ハンド２１には、保持部２２を動作させるためのモータが出力機器２２ｂとして内蔵されると共に、モータの回転角度を検知するエンコーダが入力機器２２ａとして内蔵されている。
【００１８】
図２に示すように、制御装置３は、コンピュータにより構成され、ロボット２を制御するようになっている。制御装置３を構成するコンピュータは、例えばＣＰＵ３０と、各部を制御するためのプログラムを記憶するＲＯＭ３１と、データを一時的に記憶するＲＡＭ３２と、入力インターフェース回路３３と、出力インターフェース回路３４とを備えている。
【００１９】
ＣＰＵ３０は、アーム制御部８０と、保持部制御部８１と、保持部調整機構制御部８２と、動作データ取得部８３と、軌道計算部８４と、再生部８５と、画像処理部８６と、を備えている。
【００２０】
アーム制御部８０は、ＲＯＭ３１に記憶されたアーム制御ソフトウェアによりアーム２０への指令値を算出し、アーム２０との間でデータ通信を行うことにより、アーム２０を制御するようになっている。
【００２１】
保持部制御部８１は、アーム２０の位置姿勢に基づき、ＲＯＭ３１に記憶された保持部制御ソフトウェアにより保持部２２への指令値を算出し、保持部２２との間でデータ通信を行うことにより、保持部２２を制御するようになっている。
【００２２】
画像処理部８６は、後述するカメラ７が撮影して取得したワークの画像（計測データ）を画像処理して、ワークの位置及び姿勢の少なくとも一自由度を算出するようになっている。
【００２３】
入力インターフェース回路３３及び出力インターフェース回路３４は、例えばＣＡＮ通信手段やＲＳ−２３２Ｃ通信手段により構成されている。本実施形態では、アーム制御部８０及び保持部制御部８１は、ＣＡＮ通信手段により通信を行うと共に、後述する保持部調整機構制御部８２は、ＲＳ−２３２Ｃ通信手段により通信を行うようになっている。
【００２４】
カメラ７は、図５に示すように、固定部材としてのテーブル６上に設けられたワーク供給位置６ａの上方に、適宜な支持手段により下方を向いて支持されている。これにより、ワーク供給位置６ａに載置されたワークは、カメラ７により撮影される。カメラ７は、入力インターフェース回路３３及び出力インターフェース回路３４に接続されると共に、画像処理部８６からの指令により撮像を行い、撮像して得た撮像データを画像処理部８６に送信するようになっている。
【００２５】
図２に示すように、制御装置３には、ロボット２を教示するためのティーチングペンダント４が接続可能になっている。ティーチングペンダント４が入力インターフェース回路３３及び出力インターフェース回路３４に接続されると共に、操作者がティーチングペンダント４を操作することで、ロボット２が動作されて教示されるようになっている。
【００２６】
次に、本実施形態に係るロボットシステム１の特徴的な部分について詳細に説明する。
【００２７】
図１に示すように、保持部調整機構２３は、アーム２０の最先端の関節としての第６関節７６と保持部２２との間に配置され、Ｚ軸回転機構９２を備えている。本実施形態では、保持部調整機構２３は、ハンド２１の一部として設けられている。
【００２８】
Ｚ軸回転機構９２は、先端リンク６７のフランジ面と垂直なＺ軸を中心に回転する回転駆動機構となっている。Ｚ軸回転機構９２としては、精密なウォームギア（減速機）を使用し、ステッピングモータにより回転させることで駆動する回転１軸の構成としている。尚、保持部調整機構２３の座標軸は、Ｚ軸の他に、先端リンク６７のフランジ面と平行な面で互いに直交するＸ軸及びＹ軸を設定している。
【００２９】
Ｚ軸回転機構９２が回転を行った際に、保持部２２の把持するワークの中心位置がＸ軸方向及びＹ軸方向に変動しないように、ワークを把持する保持部２２の回転中心と、Ｚ軸回転機構９２の回転中心とが同心になるように調整しておく。Ｚ軸回転機構９２の回転中心と保持部２２の回転中心とのずれは、許容組付け公差より小さいものとする。但し、このような調整をしなくとも、予め中心同士の位置のずれを同定しておくことで、回転補正に伴うＸ軸方向及びＹ軸方向のずれを考慮して、Ｘ軸方向及びＹ軸方向の補正量を算出するようにしてもよい。
【００３０】
保持部調整機構２３は、アーム２０に対する保持部２２の位置及び姿勢の少なくとも一自由度を調整可能な機構でよいが、本実施形態においては、保持部調整機構２３は、回転１軸を有する機構になっている。これにより、例えば、供給された円柱状ワークの回転角度（位相）を調整して次の位置姿勢に移動させる場合に有効である（図７参照）。
【００３１】
図２に示すように、ＣＰＵ３０の保持部調整機構制御部８２は、アーム２０の位置姿勢に基づき、ＲＯＭ３１に記憶された保持部調整機構制御ソフトウェアにより保持部調整機構２３への指令値を算出するようになっている。そして、保持部調整機構制御部８２は、保持部調整機構２３との間でデータ通信を行うことにより、保持部調整機構２３を制御するようになっている。
【００３２】
ＣＰＵ３０の動作データ取得部８３は、アーム２０及び保持部調整機構２３が教示される際に各動作データを取得して、ＲＡＭ３２に記憶するようになっている。
【００３３】
アーム２０及び保持部調整機構２３は、操作者によるティーチングペンダント４の操作により、第１の位置姿勢としての保持教示点から第２の位置姿勢としての目標教示点まで、保持部２２が移動するように移動されて教示される。この時、動作データ取得部８３は、アーム２０及び保持部調整機構２３のエンコーダ値等を、動作データとして取得してＲＡＭ３２に記憶する。
【００３４】
ここで、保持部２２の保持教示点とは、ワーク供給位置６ａに載置されたワークを把持する点、即ち、カメラ７により計測されるワークを保持部２２が保持する位置姿勢としている。また、保持部２２の目標教示点とは、移動の目標位置に位置するワークを保持部２２が保持する位置姿勢であり、例えば、保持部２２が保持したワークに組立や加工等の作業を施す点としたり、あるいは他の装置を回避するための通過点等に設定することができる。
【００３５】
軌道計算部８４は、動作データ取得部８３で得られたアーム２０についての動作データに基づき、アーム２０の保持教示点から目標教示点までの軌道を計算して、アーム２０への指令値を算出するようになっている。
【００３６】
ＣＰＵ３０の再生部８５は、動作データに基づいてアーム２０及び保持部調整機構２３を再生するようになっている。アーム２０及び保持部調整機構２３の動作により、保持部２２が保持教示点から目標教示点に移動するようになっている。
【００３７】
上述したロボットシステム１によりロボット２に教示を行って指令値を得るまでの動作準備時の動作を、図３に示すフローチャートに沿って説明する。
【００３８】
まず、操作者により、後述する教示治具５の一部である移動側円柱状部材５２がワーク供給位置６ａに載置される（ステップＳ１）。図５に示すように、移動側円柱状部材５２は、一方の端部において外周にＤカット面５２ａを備え、Ｄカット面５２ａの形成された端面を下方にして載置されている。移動側円柱状部材５２のＤカット面５２ａの形成された端面の反対側の端面には、図６に示すように、カメラ７により撮影されるためのマーク５２ｂが付されている。マーク５２ｂは移動側円柱状部材５２の回転中心５２ｃに対してＤカット面５２ａの形成された方向を示している。
【００３９】
そして、ここでの移動側円柱状部材５２の向きが基準位相となるように、Ｄカット面５２ａの方向を設定して載置する。即ち、基準位相とは、載置されたワークが理想的な位相にあったとした場合の計測値であり、実際の動作では、基準位相と、実際にワークを計測した際の位相の差分を用いて、保持部調整機構２３により補正する。
【００４０】
また、マーク５２ｂは、実際に計測を行う際のワークの位相を特定する特徴部分と同じ位置関係にあるようにする。即ち、移動側円柱状部材５２と実際のワークとを同じ位相で置いた場合、計測した位相も同じ角度になるようにする。これにより、基準位相と、計測した位相との差を算出するのみで、補正すべき位相を取得できる。但し、移動側円柱状部材５２に付与するマーク５２ｂと、ワークの位相を特定する特徴部分とは、同じ位置に形成することには限られず、マーク５２ｂとワークの特徴部分との位相の差に対してオフセットを差し引いた角度を、位相の補正量とすることも可能である。
【００４１】
更に、保持部２２が移動側円柱状部材５２を把持する際に、移動側円柱状部材５２の回転軸と、Ｚ軸回転機構９２の回転軸とが平行になるように把持させる。ここで要求される平行度は、ワークを目標教示点に位置させる精度から設定される。このように平行に把持させることにより、Ｚ軸回転機構９２が保持部２２を回転させた際に、移動側円柱状部材５２のＸ軸方向及びＹ軸方向への回転、即ちＺ軸に対する傾斜を抑えることができる。尚、保持部２２が実際のワークを把持する際も、移動側円柱状部材５２を把持する場合と同様に、ワークの回転軸と、Ｚ軸回転機構９２の回転軸とが平行になるように把持させるのは勿論である。
【００４２】
そして、画像処理部８６がカメラ７に撮像指令を出し、カメラ７が移動側円柱状部材５２を上方から撮影する（ステップＳ２）。カメラ７は撮像データを画像処理部８６に送信し、画像処理部８６は画像処理を行う。ここでは、図６に示すように、画像１４から移動側円柱状部材５２の輪郭を抽出し、回転中心５２ｃを算出する。そして、回転中心５２ｃとマーク５２ｂとを結ぶ直線がカメラ座標において形成する角度θを算出し、これを基準位相として設定し、ＲＡＭ３２に記憶する（ステップＳ３）。
【００４３】
そして、ティーチングペンダント４の操作によりアーム２０を動作させ、図７（ａ）に示すように、ワーク供給位置６ａに載置された移動側円柱状部材５２を保持部２２に把持させる（ステップＳ４）。動作データ取得部８３は、その時のアーム２０及び保持部調整機構２３の位置姿勢を保持教示点として取得し、ＲＡＭ３２に記憶する（ステップＳ５）。
【００４４】
ティーチングペンダント４の操作によりアーム２０及び保持部調整機構２３を目標教示点に動作させ、動作データ取得部８３は、アーム２０及び保持部調整機構２３の位置姿勢を目標教示点として取得し、ＲＡＭ３２に記憶する（ステップＳ６）。ここでは、教示治具５を利用して、以下のように教示を行っている。
【００４５】
図７（ｂ）（ｃ）に示すように、ロボット２の教示治具５として、例えば、筒状部材５０と、固定側円柱状部材５１と、移動側円柱状部材５２とが利用される。筒状部材５０は、Ｄカット面５０ａを有する断面略Ｄ字形状の透孔を備えている。固定側円柱状部材５１は、外周にＤカット面５１ａを備え、筒状部材５０に回転不能で貫通可能な太さに形成されている。移動側円柱状部材５２は、Ｄカット面５２ａが形成された部位では筒状部材５０に回転不能で挿入可能な太さに形成されている。
【００４６】
固定側円柱状部材５１は、テーブル６の目標位置６ｂに載置される。筒状部材５０は、固定側円柱状部材５１の周囲に昇降可能に設けられている。固定側円柱状部材５１の載置される位置及びその鉛直軸（図中、一点鎖線）での角度（位相）は、保持部２２の目標教示点の位置姿勢により設定される。具体的には、図７（ｃ）に示すように、筒状部材５０が固定側円柱状部材５１の周囲から移動側円柱状部材５２の周囲に移動可能になった時に、移動側円柱状部材５２を把持する保持部２２が目標教示点に位置するように設定する。
【００４７】
即ち、移動側円柱状部材５２を鉛直方向に一致させ、移動側円柱状部材５２の先端面を固定側円柱状部材５１の上面に中心を一致させて突き当てることで、保持部２２のＸ軸方向座標及びＹ軸方向座標が、目標教示点のＸ軸方向座標及びＹ軸方向座標に一致する。更に、移動側円柱状部材５２及び固定側円柱状部材５１の各Ｄカット面５２ａ，５１ａが同一平面上になるように、移動側円柱状部材５２及び固定側円柱状部材５１の位相を一致させことで、保持部２２のＺ軸回転方向座標が目標教示点のＺ軸回転方向座標に一致する。この時、移動側円柱状部材５２を把持する保持部２２が目標教示点に位置するように、保持部２２に対する移動側円柱状部材５２の位相と、固定側円柱状部材５１が載置される位置及び位相とを設定する。
【００４８】
教示の前に、図７（ｂ）に示すように、目標位置６ｂに固定側円柱状部材５１を設置すると共に、その周囲に筒状部材５０を設ける。そして、教示時にはティーチングペンダント４を利用して、図７（ｃ）に示すように、移動側円柱状部材５２の下面を固定側円柱状部材５１の上面に中心を一致させて突き当て、かつ位相を一致させ、保持部２２を目標教示点に移動させる。操作者は、筒状部材５０が固定側円柱状部材５１の周囲から移動側円柱状部材５２の周囲に移動可能になったと判断した時に、保持部２２が目標教示点に到達したと判断する。
【００４９】
ここで、操作者は、アーム２０によりＸ軸方向、Ｙ軸方向、Ｚ軸方向において目標教示点に位置させ、その後、保持部調整機構２３によりＺ軸回転方向の調整をして移動側円柱状部材５２及び固定側円柱状部材５１の位相を一致させる。そして、動作データ取得部８３は、アーム２０及び保持部調整機構２３の位置姿勢を目標教示点として取得し、ＲＡＭ３２に記憶する。
【００５０】
次に、軌道計算部８４が、アーム２０に関して、保持教示点から目標教示点までの軌道計算を行い、アーム２０への指令値を算出する（ステップＳ７、軌道計算工程）。この軌道計算は、必要に応じて周りの治工具との干渉回避等を考慮したものが必要となる。指令値の算出により、動作前準備が完了する。従って、動作前準備においてアーム２０の軌道計算が完了するので、ロボット２の実際の動作時には軌道計算を実行する必要が無く、補正の必要があっても作動時間の増加を抑えることができる。
【００５１】
次に、上述したロボットシステム１によりロボット２を実際に動作させる際の動作を、図４に示すフローチャートに沿って説明する。
【００５２】
ワークは、ワーク供給位置６ａに載置されているものとする。アーム２０及び保持部調整機構２３は、ワークを把持するために保持教示点に移動する（ステップＳ１０）。ロボット２が保持教示点に移動すると、保持部２２がワークを把持する（ステップＳ１１）。更に、アーム２０は、軌道計算により得られた指令値に基づいてアーム制御部８０によって動作し、保持教示点から目標教示点に移動する（ステップＳ１２、アーム移動工程）。
【００５３】
一方、ロボット２がワークを把持するために保持教示点に移動すると同時に、画像処理部８６がカメラ７に対して把持対象となるワークを撮影するように指令し、カメラ７はワークを撮影する（ステップＳ１３、ワーク計測工程）。画像処理部８６は、カメラ７から撮像データを取得し、画像処理を行って、ワーク供給位置６ａに載置されたワークのカメラ座標に対する位相を算出する（ステップＳ１４）。
【００５４】
ここで、カメラ７がワークを撮影した後、ワークについて基準位置姿勢に対する誤差を演算し、演算結果に基づいて保持部調整機構２３により誤差を補正する（ステップＳ１５〜Ｓ１７、補正作業工程）。
【００５５】
まず、画像処理部８６は、基準位相と実際のワークの位相との差分を演算し、位相誤差を取得する（ステップＳ１５、誤差演算工程）。そして、再生部８５が、位相誤差から保持部調整機構２３の補正量を算出する（ステップＳ１６、補正計算工程）。この場合、位相誤差がそのまま保持部調整機構２３の補正量になるので、計算負荷を極めて小さく抑えることができる。再生部８５は、得られた保持部調整機構２３の補正量を、保持部調整機構２３の動作データに反映させ、保持部調整機構２３の指令値を算出し、保持部調整機構２３を目標教示点に移動させる（ステップＳ１７、補正動作工程）。即ち、保持部調整機構２３は、位相を補正しつつ、目標教示点に移動する。
【００５６】
これにより、アーム２０及び保持部調整機構２３が目標教示点に移動すると共に、保持部調整機構２３によりワークの位相誤差が補正されるので、ワークは所望の位置姿勢で目標教示点に移動する（ステップＳ１８）。尚、ここでは、アーム２０は補正を行っていないが、これには限られず、例えば、誤差演算を行った結果、保持部調整機構２３の動作だけでは補正できない程度に大きな誤差があった場合は、アーム２０の軌道を補正して誤差を補正するようにしてもよい。
【００５７】
ここで、ワークの撮影後、アーム２０の移動と少なくとも一部を並行して、ワークについて、予め設定した基準位置姿勢に対する誤差を演算し、保持部調整機構２３により誤差を補正している（ステップＳ１５〜Ｓ１７、補正作業工程）。このため、アーム２０の移動と同時に、位相誤差の演算（ステップＳ１５）、保持部調整機構２３の補正量の算出（ステップＳ１６）、保持部調整機構２３の移動（ステップＳ１７）の少なくとも一部を実行している。
【００５８】
上述したように本実施形態のロボットシステム１によれば、アーム２０が移動しているのと同時に、誤差演算、補正計算、補正動作の少なくとも一部を実行することができる。これにより、アーム２０の移動時間の他に必要な時間を抑えて、ワークの位置姿勢の補正による動作時間の増加を抑制できる。
【００５９】
また、本実施形態のロボットシステム１によれば、アーム２０の軌道計算を、誤差演算、補正計算、補正動作のいずれよりも先に実行しているので、アーム２０の軌道計算は動作準備時に完了することになる。これにより、実際の動作時にはアーム２０の軌道計算を一切実行する必要が無いので、アーム２０の動作中に軌道計算を実行する場合に比べて補正による動作時間の増加を抑制できる。
【００６０】
また、本実施形態のロボットシステム１によれば、保持部調整機構２３は回転１軸の１自由度を有しているので、例えば、円柱形状のワークの位相を決める場合に、高精度な位置決めを実現できる。
【００６１】
また、本実施形態のロボットシステム１によれば、保持部調整機構２３がハンド２１の一部に設けられているので、エンドエフェクタの種類に応じて保持部調整機構２３の構成を異ならせて設けたり、保持部調整機構２３が不要であれば設けないようにもできる。例えば、エンドエフェクタがＸ軸方向及びＹ軸方向のみの調整を要する場合は、保持部調整機構２３にＸ軸並進機構及びＹ軸並進機構を設けた構成にすることができる。従って、エンドエフェクタの種類に応じて保持部調整機構２３を選択することができ、エンドエフェクタの最適な制御を実現することができる。
【００６２】
上述した本実施形態のロボットシステム１では、実際のワークの移動の例として、位相を決めて円筒を円柱に組み付ける工程を想定したため、保持部調整機構２３は回転１軸の１自由度を有するものとした。しかしながら、本発明に係るロボットシステムでは、これに限られず、例えば、円筒を円柱に組み付ける工程であっても位相合わせが不要で水平方向に中心を合わせる２自由度で良い場合は、保持部調整機構２３は並進２軸のみにすることができる。あるいは、保持部調整機構２３が４自由度以上の自由度を設定可能な機構にしてもよい。このように、保持部調整機構２３に要求される自由度は、実際の作業の工程に応じて適宜変更することができる。
【００６３】
［第２実施形態］
次に、本発明の第２実施形態に係るロボットシステム１０１について説明する。
【００６４】
第２実施形態は、第１実施形態と比較して、図８に示すように、ハード構成としてロボット１０２のハンド１２１の保持部調整機構１２３がＺ軸回転機構９２を有さずに、Ｘ軸並進機構９０と、Ｙ軸並進機構９１とを備えている点で構成を異にしている。また、アーム２０の先端リンク６７は、略直線形状になっている。それ以外の構成は、第１実施形態と同一符号を付して説明を省略する。
【００６５】
本実施形態では、保持部２２が把持したワークに対してビス締めを行う工程を想定している（図１１（ａ）参照）。即ち、把持したワークにおけるビス穴位置をカメラ７及び画像処理部８６により取得し、ビス穴位置のＸ軸方向及びＹ軸方向での位置誤差を補正することで、正確にビス締めを行うことを目的とする。従って、ビス穴中心の１点の位置を補正することが必要となるため、保持部調整機構１２３は並進の２軸が適当となる。
【００６６】
図８に示すように、保持部調整機構１２３は、先端リンク６７側に設けられたＸ軸並進機構９０と、保持部２２側に設けられたＹ軸並進機構９１とを備えている。Ｘ軸並進機構９０及びＹ軸並進機構９１は、アーム２０の先端リンク６７のフランジ面と平行な面で互いに直交するＸ軸方向及びＹ軸方向に動作する並進移動機構となっている。Ｘ軸並進機構９０及びＹ軸並進機構９１は、精密なガイド及びボールねじを使用し、ボールねじをステッピングモータにより回転させることで駆動する並進２軸の構成とし、２軸の直交度は予め校正しておくようにする。
【００６７】
保持部調整機構１２３は、アーム２０が目標の教示点に移動する際に位置誤差の補正を行うものであることから、可動範囲は小さくて足り、例えば２〜３ｍｍ程度の位置誤差を１０〜２０μｍ程度の誤差に調整するための可動範囲にすることができる。また、保持部調整機構１２３の移動は、アーム２０の移動と並行に行えばよいので、速い速度は必要なく、更には耐荷重は、ハンド２１とワークの重量に対応するのみでよい。このように、保持部調整機構１２３は機能的な制約が少なく、波動歯車減速機は必要ないため、ヒステリシスロス等が小さい機構を採用することができる。そこで、保持部調整機構１２３は、アーム２０の各関節７１〜７６よりもヒステリシスロス等が小さい機構とされている。ヒステリシスロス等が小さい機構としては、本実施形態の構成の他に、例えば、ピエゾ素子を用いたもの等がある。
【００６８】
カメラ７は、図１１（ｂ）に示すように、適宜なワーク撮影位置１５の上方に、適宜な支持手段により下方を向いて支持されている。これにより、ワーク撮影位置１５にロボット１０２により位置されたワークは、カメラ７により撮影される。また、保持部２２が保持するワークをカメラ７により撮影可能な状態にした場合に、その時のアーム２０及び保持部調整機構１２３の位置姿勢を計測教示点とする。
【００６９】
上述したロボットシステム１０１によりロボット１０２に教示を行って指令値を得るまでの動作準備時の動作を、図９に示すフローチャートに沿って説明する。
【００７０】
保持部２２は、後述するビス穴教示治具１５０を把持している。まず、ティーチングペンダント４の操作によりアーム２０を動作させ、保持部２２をカメラ７の下方のワーク撮影位置１５に位置させる。動作データ取得部８３は、その時のアーム２０及び保持部調整機構１２３の位置姿勢を計測教示点（第１の位置姿勢）として取得し、ＲＡＭ３２に記憶する（ステップＳ２０）。
【００７１】
ここで、保持部調整機構１２３が動作する直交の２軸（以下、Ｘｔ,Ｙｔと呼ぶ）と、カメラ７及び画像処理部８６が計測を行う２軸（以下、Ｘｖ, Ｙｖと呼ぶ）とは方向が一致していないので、校正する必要がある。このため、保持部２２に校正用の治具を把持させ、保持部調整機構１２３を動作させ、その時の校正用治具の位置をカメラ７及び画像処理部８６により検知する。保持部調整機構１２３を動作させた位置変化を（ΔＸｔｎ, ΔＹｔｎ）とし、カメラ７及び画像処理部８６が計測した位置変化を（ΔＸｖｎ、ΔＹｖｎ）とすると、数式１が成り立つ。Ｎは２以上であれば、いくつでもよい。
【００７２】
【数１】
2014104529.tif 000003
【００７３】
ＣＰＵ３０が、変換行列を疑似逆行列計算を用いて算出することで、カメラ７により計測した対象の移動値（ΔＸｖ、ΔＹｖ）を保持部調整機構１２３の２軸の移動値（ΔＸｔ、ΔＹｔ）に変換する座標変換行列Ｈを算出する（ステップＳ２１）。これにより、保持部調整機構１２３の２軸とカメラ７の計測座標の間の校正が可能となる。
【００７４】
次に、ティーチングペンダント４の操作によりアーム２０及び保持部調整機構１２３を目標教示点に動作させ、動作データ取得部８３は、アーム２０及び保持部調整機構１２３の位置姿勢を目標教示点として取得し、ＲＡＭ３２に記憶する（ステップＳ２２）。ここでは、教示治具１０５を利用して、以下のように教示を行っている。ここでは教示治具１０５を用いて教示を行っているが、実際のワークを用いて教示を行ってもよい。
【００７５】
図１１（ａ）に示すように、目標教示点には、ビス締め機８が設けられている。ビス締め機８は、本体部８ａと、下方を向いて回転可能なドライバ８ｂと、その周囲を覆う円筒形状のスリーブ８ｃとを有している。スリーブ８ｃは、本体部８ａに出没可能であり、ドライバ８ｂの先端よりも本体部８ａ側に引き込まれることでドライバ８ｂが使用可能になり、ドライバ８ｂの先端よりも突出することによりドライバ８ｂの周囲を保護するようになっている。
【００７６】
図１１（ａ）及び図１２に示すように、教示治具１０５は、ビス穴教示治具１５０と、ドライバ教示治具１５１とを備えている。ビス穴教示治具１５０は、円柱形状で一方の端面の一部にビス穴１５０ａが形成されている。保持部２２は、ビス穴１５０ａが形成されている端面側を先端側にして、ビス締め教示治具１５０を把持する。ドライバ教示治具１５１は、ビス締め機８のスリーブ８ｃの先端に嵌合により設けられると共に、ドライバ８ｂと同径の棒状の突起１５１ａを有している。
【００７７】
そして、ティーチングペンダント４の操作によりアーム２０及び保持部調整機構１２３を目標教示点に動作させ、図１１（ａ）に示すように、ビス穴教示治具１５０のビス穴１５０ａがドライバ教示治具１５１の突起１５１ａに嵌合するよう調整する。ここで、操作者は、アーム２０の大きな動作により目標教示点の近傍に位置させ、その後、保持部調整機構１２３の細かい動作によりＸ軸方向及びＹ軸方向の調整をして目標教示点に位置させる。そして、動作データ取得部８３は、アーム２０及び保持部調整機構１２３の位置姿勢を目標教示点として取得し、ＲＡＭ３２に記憶する。
【００７８】
目標教示点の教示を行った後、図１１（ｂ）に示すように、保持部２２がビス穴教示治具１５０を把持したまま、ステップＳ２０において教示した計測教示点に移動し、カメラ７によりビス穴教示治具１５０の上面を撮影する（ステップＳ２３、ワーク計測工程）。カメラ７は撮像データを画像処理部８６に送信し、画像処理部８６は画像１４の画像処理を行い、得られたビス穴１５０ａのカメラ座標における座標を基準位置（Ｘｖｄ，Ｙｖｄ）として設定し、ＲＡＭ３２に記憶する（ステップＳ２４）。
【００７９】
次に、軌道計算部８４が、アーム２０に関して、計測教示点から目標教示点までの軌道計算を行い、アーム２０への指令値を算出する（ステップＳ２５、軌道計算工程）。この軌道計算は、必要に応じて周りの治工具との干渉回避等を考慮したものが必要となる。指令値の算出により、動作前準備が完了する。従って、動作前準備においてアーム２０の軌道計算が完了するので、ロボット１０２の実際の動作時には軌道計算を実行する必要が無く、補正の必要があっても作動時間の増加を抑えることができる。尚、必要に応じて、グリスの塗布など別の工程を経ることも考慮した軌道計算を行ってもよい。
【００８０】
次に、上述したロボットシステム１０１によりロボット１０２を実際に動作させる際の動作を、図１０に示すフローチャートに沿って説明する。
【００８１】
まず、ロボット１０２は、保持部２２によりワークを把持する（ステップＳ３０）。そして、ロボット１０２は、把持したワークを撮影するために計測教示点に移動する（ステップＳ３１）。画像処理部８６がカメラ７に対して把持対象となるワークを撮影するように指令し、カメラ７はワークを撮影する（ステップＳ３２）。画像処理部８６は、カメラ７から撮像データを取得し、画像処理を行って、ワークのカメラ座標における位置（Ｘｖ、Ｙｖ）を算出する（ステップＳ３３）。そして、アーム２０は、軌道計算により得られた指令値に基づいて再生部８５により動作され、計測教示点から目標教示点に移動する（ステップＳ３４、アーム移動工程）。
【００８２】
一方、カメラ７がワークを撮影した後、アーム２０が移動すると同時に、ワークについて基準位置姿勢に対する誤差を演算し、演算結果に基づいて保持部調整機構２３により誤差を補正する（ステップＳ３５〜Ｓ３７、補正作業工程）。
【００８３】
まず、画像処理部８６は、基準位置（Ｘｖｄ、Ｙｖｄ）と実際のワークの位置（Ｘｖ、Ｙｖ）との差分を算出し、位置誤差（ΔＸｖ、ΔＹｖ）を取得する（ステップＳ３５、誤差演算工程）。そして、再生部８５が、位置誤差から保持部調整機構１２３の補正量を算出する（ステップＳ３６、補正計算工程）。ここでは、位置誤差（ΔＸｖ、ΔＹｖ）に、座標校正より求めた座標変換行列Ｈを積算することにより、保持部調整機構１２３への補正値（ΔＸｔ、ΔＹｔ）を算出する。再生部８５は、得られた保持部調整機構１２３の補正量を、保持部調整機構１２３の動作データに反映させ、保持部調整機構１２３の指令値を算出し、保持部調整機構１２３を目標教示点に移動させる（ステップＳ３７、補正動作工程）。即ち、保持部調整機構１２３は、位置を補正しつつ、目標教示点に移動する。
【００８４】
これにより、アーム２０及び保持部調整機構１２３が目標教示点に移動すると共に、保持部調整機構１２３によりワークの位置誤差が補正されるので、ワークは所望の位置姿勢で目標教示点に移動する（ステップＳ３８）。従って、ワークのビス穴の位置誤差を補正した上で、ビス締め機８によりビス締めを行うことができる。
【００８５】
ここで、ワークの撮影後、アーム２０の移動と少なくとも一部を並行して、ワークについて、予め設定した基準位置姿勢に対する位置誤差を演算し、保持部調整機構１２３により位置誤差を補正している（ステップＳ３５〜Ｓ３７、補正作業工程）。このため、アーム２０の移動と同時に、位置誤差の演算（ステップＳ３５）、保持部調整機構１２３の補正量の算出（ステップＳ３６）、保持部調整機構１２３の移動（ステップＳ３７）の少なくとも一部を実行している。
【００８６】
上述したように本実施形態のロボットシステム１によれば、アーム２０が移動しているのと同時に、誤差演算、補正計算、補正動作の少なくとも一部を実行することができる。これにより、アーム２０の移動時間の他に必要な時間を抑えて、ワークの位置姿勢の補正による動作時間の増加を抑制できる。また、アーム２０の軌道計算を、誤差演算、補正計算、補正動作のいずれよりも先に実行しているので、ワークの位置姿勢の補正による動作時間の増加を抑制できる。
【００８７】
ここで、保持部調整機構１２３を有しない従来のロボットは、保持部２２を（ΔＸｔ、ΔＹｔ）だけ動作させるには、ロボット２の逆運動学を解いてロボット２の指令値を算出しなければならず、動作時間が長くなってしまう。これに対し、本実施形態のロボットシステム１０１によれば、数式１で算出した座標変換行列Ｈを積算して動作前に求めた（ΔＸｔ、ΔＹｔ）を保持部調整機構１２３の指令値に加えるのみで補正が可能になる。このため、計算時間が短縮できるので、ロボット２の動作時間の短縮が可能となる。
【００８８】
また、本実施形態のロボットシステム１によれば、カメラ７の計測座標系と保持部調整機構１２３の動作座標系とを校正して得られる座標変換行列を利用して、保持部調整機構１２３の補正量を算出し、ワークの位置誤差を補正できる。これにより、カメラ７による計測結果を用いてワークの位置姿勢を補正する際に、アーム２０が非線形に動作する場合であっても、線形性の高い保持部調整機構１２３によって座標校正誤差及び移動誤差のいずれも抑え、高精度に補正することができる。また、ワークの位置誤差を補正するためにアーム２０を利用する必要が無いので、例えばアーム２０を予め定められた教示点間の移動だけを行うようにでき、アーム２０が非線形に動作してもその影響を最低限に抑えることができる。
【００８９】
即ち、保持部調整機構１２３を有しない従来のロボットにより補正を行った場合は、アーム２０の非線形性等に伴う座標変化の誤差や、アーム２０の移動誤差が大きくなってしまう。これに対し、保持部調整機構１２３は直交した線形座標で動作させることが可能であるため、これを用いて補正を行うことで、座標変換による誤差及び移動誤差を微小にすることが可能となる。従って、アーム２０の非線形な動作に関わらず、補正の高精度化が可能となる。
【００９０】
［第３実施形態］
次に、本発明の第３実施形態に係るロボットシステム２０１について説明する。第３実施形態は、図８に示す第２実施形態とハード構成は同様としている。従って、第２実施形態と同一符号を付して説明を省略する。また、第３実施形態のロボットシステム２０１が扱うワークやロボット１０２への教示方法については、保持部２２が把持しているワークのＸ軸方向及びＹ軸方向の位置にも誤差を生じる点で第１実施形態と異なるが、それ以外の点では第１実施形態と同様とする。
【００９１】
本実施形態では、円筒部品を円柱部品に中心位置及び位相を合わせて組付ける工程を例に説明する。補正を行うのは、位置の２自由度と位相の１自由度の計３自由度であるため、保持部調整機構１２３は２自由度の並進機構と１自由度の回転機構の３自由度を有するのが好ましい。しかし、ロボット１０２の先端が重くなるとロボット１０２の動作が遅くする必要が生じるなどの制約は増えるため、ここでは第２実施形態と同様に２自由度のみの並進機構としている。
【００９２】
即ち、誤差の補正のために必要な自由度数は３になる。これに対し、保持部調整機構２３の自由度は２であるため、３自由度から２自由度を減算した１自由度については、その自由度と同数のアーム２０の第６関節７６を使用する。このため、第６関節７６の減速機の設計や選別においては、ヒステリシスロス等が小さくなるものを選択することが好ましい。垂直多関節アームであっても、先端に近い軸であれば、耐荷重や速度への制約が少ないため、このような選択は可能となる。
【００９３】
また、本実施形態においては、ロボット１０２が把持するワークの位相が変化する回転平面が、アーム２０の第６関節７６の回転面とほぼ平行となるように、ワークを保持する際に調整する。この平行度は、カメラ７の計測精度や、ワークの目標教示点において要求される精度より設計可能である。これにより、ワークの位相を変化させる量と、第６関節７６を回す量をほぼ同じ量にすることができ、その際のワークの姿勢変化もほぼ無くすことができる。尚、本実施形態では、第６関節７６の回転中心と、ワークの中心の誤差は、許容組付け公差より小さいものとする。
【００９４】
上述したロボットシステム２０１によりロボット１０２に教示を行って指令値を得るまでの動作準備時の動作を、図１３に示すフローチャートに沿って説明する。
【００９５】
保持部２２は、移動側円柱状部材５２を把持している。まず、ティーチングペンダント４の操作によりアーム２０及び保持部調整機構１２３を動作させ、保持部２２をカメラ７の下方のワーク撮影位置１５に位置させる。動作データ取得部８３は、その時のアーム２０及び保持部調整機構１２３の位置姿勢を計測教示点（第１の位置姿勢）として取得し、ＲＡＭ３２に記憶する（ステップＳ４０）。
【００９６】
ここで、保持部調整機構１２３が動作するＸ軸方向及びＹ軸方向の直交２軸と、カメラ７が計測を行うＸ軸方向及びＹ軸方向の直交２軸とを校正し、第２実施形態と同様の方法で座標変換行列Ｈを算出する（ステップＳ４１）
【００９７】
次に、ティーチングペンダント４の操作によりアーム２０及び保持部調整機構１２３を目標教示点に動作させ、動作データ取得部８３は、アーム２０及び保持部調整機構１２３の位置姿勢を目標教示点として取得し、ＲＡＭ３２に記憶する（ステップＳ４２）。ここでは、第１実施形態と同様の方法で教示を行っている。
【００９８】
目標教示点の教示を行った後、図１５に示すように、保持部２２が移動側円柱状部材５２を把持したまま、ステップＳ４０において教示した計測教示点に移動し、カメラ７により移動側円柱状部材５２の上面を撮影する（ステップＳ４３）。カメラ７は撮像データを画像処理部８６に送信し、画像処理部８６は画像処理を行い、図１６に示すように、画像１４から移動側円柱状部材５２の輪郭を抽出して回転中心５２ｃを算出する。画像処理部８６は、回転中心５２ｃの座標を基準位置（Ｘｖｄ，Ｙｖｄ）として設定すると共に、Ｄカット面５２ａの方向を基準位相θｄとして設定し、ＲＡＭ３２に記憶する（ステップＳ４４）。
【００９９】
次に、軌道計算部８４が、アーム２０に関して、計測教示点から目標教示点までの軌道計算を行い、アーム２０への指令値を算出する（ステップＳ４５、軌道計算工程）。
【０１００】
次に、上述したロボットシステム２０１によりロボット１０２を実際に動作させる際の動作を、図１４に示すフローチャートに沿って説明する。
【０１０１】
まず、ロボット１０２は、保持部２２によりワークを把持する（ステップＳ５０）。そして、アーム２０及び保持部調整機構１２３は、把持したワークを撮影するために計測教示点に移動する（ステップＳ５１）。画像処理部８６がカメラ７に対して把持対象となるワークを撮影するように指令し、カメラ７はワークを撮影する（ステップＳ５２、ワーク計測工程）。画像処理部８６は、カメラ７から撮像データを取得し、画像処理を行って、ワークのカメラ座標における位置（Ｘｖ、Ｙｖ）及び位相θを算出する（ステップＳ５３）。画像処理部８６は、基準位置（Ｘｖｄ、Ｙｖｄ）及び基準位相θｄと実際のワークの位置（Ｘｖ、Ｙｖ）及び位相θとの差分を演算し、位置誤差（ΔＸｖ、ΔＹｖ）及び位相誤差Δθを取得する（ステップＳ５４、誤差演算工程）。
【０１０２】
そして、再生部８５が、位相誤差Δθから第６関節７６の補正量を算出する（ステップＳ５５）。ここでは、位相誤差Δθを第６関節７６の補正量に設定している。再生部８５は、得られた第６関節７６の補正量を、第６関節７６の動作データに反映させ、アーム２０の指令値を補正し、アーム２０を計測教示点から目標教示点に移動する（ステップＳ５６、アーム移動工程）。即ち、アーム２０は、位相を補正しつつ、目標教示点に移動する。
【０１０３】
一方、カメラ７がワークを撮影した後、再生部８５が第６関節７６の補正量を算出するのと同時に、位置誤差から保持部調整機構１２３の補正量を算出する（ステップＳ５７、補正計算工程）。ここで、保持部調整機構１２３は第６関節７６よりも先端側にあるので、第６関節７６による位相の回転補正により、保持部調整機構１２３の動作座標系が回転する。このため、位置誤差（ΔＸｖ、ΔＹｖ）に、座標校正より求めた座標変換行列Ｈを回転方向の補正量Δθｖだけ回転させて積算することにより、保持部調整機構１２３への補正値（ΔＸｔ、ΔＹｔ）を算出する。
【０１０４】
再生部８５は、得られた保持部調整機構１２３の補正量を、保持部調整機構１２３の動作データに反映させ、保持部調整機構１２３の指令値を算出し、保持部調整機構１２３を目標教示点に移動させる（ステップＳ５８、補正動作工程）。即ち、保持部調整機構１２３は、位置を補正しつつ、目標教示点に移動する。
【０１０５】
これにより、アーム２０及び保持部調整機構１２３が目標教示点に移動すると共に、アーム２０によりワークの位相誤差が補正され、保持部調整機構１２３によりワークの位置誤差が補正される。従って、ワークは、所望の位置姿勢で目標教示点に移動する（ステップＳ５９）。
【０１０６】
ここで、ワークの撮影後、アーム２０の移動と少なくとも一部を並行して、ワークについて、予め設定した基準位置姿勢に対する誤差を演算し、保持部調整機構２３により誤差を補正している（ステップＳ５４、Ｓ５７〜Ｓ５８、補正作業工程）。このため、アーム２０の移動と同時に、保持部調整機構１２３の補正量の算出（ステップＳ５７）、保持部調整機構１２３の移動（ステップＳ５８）の少なくとも一部を実行している。
【０１０７】
上述したように本実施形態のロボットシステム２０１によれば、アーム２０が移動しているのと同時に、補正計算及び補正動作の少なくとも一部を実行することができる。これにより、アーム２０の移動時間の他に必要な時間を抑えて、ワークの位置姿勢の補正による動作時間の増加を抑制できる。また、アーム２０の軌道計算を、誤差演算、補正計算、補正動作のいずれよりも先に実行しているので、ワークの位置姿勢の補正による動作時間の増加を抑制できる。
【０１０８】
また、本実施形態のロボットシステム２０１によれば、位相補正に伴うロボット動作は第６関節７６の指令値に対して補正値を加えるのみであり、逆運動学を解いたり軌道計算をしたり等の長い時間を要する処理は必要としない。これにより、動作時間が長くなることを抑制できる。従って、補正したい自由度より保持部調整機構１２３の自由度は少なくすることができるため、軽量化及びコストダウン、更には先端リンク６７のフランジ面から保持部２２の作用点までの距離の短縮等が可能となる。
【０１０９】
尚、本実施形態のロボットシステム２０１では、第６関節７６の回転中心と、ワークの中心はほぼ一致していると仮定したため、位相補正及び位置補正は同時に実施することができた。但し、これらの中心が一致することには限られず、これらの中心が一致していない場合でも、位相補正を実施した後に、計測及び位置補正を行うように２段階に分けたり、位相補正に伴う位置誤差を算出し、位置の補正値に加えたりすることで同様の補正ができる。
【０１１０】
上述した第１実施形態〜第３実施形態のロボットシステム１，１０１，２０１では、保持部調整機構２３，１２３は、ハンド２１，１２１の一部に設けられた構成としている。しかしながら、本発明に係るロボットシステムでは、これに限られず、保持部調整機構２３，１２３は、アーム２０の第６関節７６と保持部２２との間で、アーム２０に対して保持部２２の位置姿勢を調整可能なものであればよい。このため、保持部調整機構２３，１２３としては、例えば、アーム２０及びハンド２１，１２１の間に介在される独立した別機構としたり、あるいはアーム２０の先端リンク６７の一部に設けられるようにしてもよい。
【０１１１】
保持部調整機構２３，１２３が、先端リンク６７の一部に設けられている場合は、保持部調整機構２３，１２３を共用化することでコスト増加を抑えることができると共に、従来からのエンドエフェクタをそのまま利用することができる。
【０１１２】
また、上述した第１実施形態〜第３実施形態のロボットシステム１，１０１，２０１では、センサとしてカメラ７を使用した場合について説明した。しかしながら、本発明に係るロボットシステムでは、これに限られず、例えば、レーザ変位計など他のセンサを用いてもよい。
【０１１３】
また、第１実施形態〜第３実施形態のロボットシステム１，１０１，２０１では、操作者によるティーチングペンダント４の操作及び教示治具５，１０５の利用により各教示を行う場合について説明した。しかしながら、本発明に係るロボットシステムでは、これに限られず、例えば、カメラ７及び画像処理部８６を利用して、操作者の手動操作を行うことなく、ロボット２の教示を自動的に行うようにしてもよい。
【０１１４】
また、第１実施形態〜第３実施形態のロボットシステム１，１０１，２０１では、動作データ取得部８３は教示により動作データを取得する場合について説明した。しかしながら、本発明に係るロボットシステムでは、これに限られず、例えば、既存のデータベースから動作データをダウンロードにより取得したり、あるいは動作データを計算により取得するようにしてもよい。
【０１１５】
また、第１実施形態〜第３実施形態のロボットシステム１，１０１，２０１では、アーム２０及び保持部調整機構２３，１２３への教示を特に分けることなく、同時あるいは連続して行う場合について説明した。しかしながら、本発明に係るロボットシステムでは、これに限られない。例えば、アーム２０に実際の再生速度より遅い速度で第１の教示を行い、アーム２０を実際の再生速度で再生させ、その再生後の位置からアーム２０よりヒステリシスロス等の少ない保持部調整機構２３，１２３に第２の教示を行うようにしてもよい。
【０１１６】
この場合、再生時には、アーム２０を第１の教示データによって再生すると共に、保持部調整機構２３，１２３を第２の教示データによって再生する。これにより、アーム２０でヒステリシスロス等により位置誤差が発生しても、保持部調整機構２３，１２３により補正されるようになり、ロボット２によるワークの移動の精度を向上できるので、例えば、ロボット２による部品組立の精度を向上することができる。
【０１１７】
尚、以上述べた第１実施形態〜第３実施形態の各処理動作は具体的には制御装置３により実行されるものである。従って上述した機能を実現するソフトウェアのプログラムを記録した記録媒体を制御装置３に供給し、制御装置３のＣＰＵ３０が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した各実施の形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
【０１１８】
また、各実施の形態では、コンピュータ読み取り可能な記録媒体がＲＯＭ３１であり、ＲＯＭ３１にプログラムが格納される場合について説明したが、これに限定するものではない。プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、ＨＤＤ、外部記憶装置、記録ディスク等を用いてもよい。
【符号の説明】
【０１１９】
１…ロボットシステム、２…ロボット、３…制御装置、６…テーブル（固定部材）、７…センサ（カメラ）、２０…多関節アーム（アーム）、２１…エンドエフェクタ（ハンド）、２２…保持部、２３…保持部調整機構、７６…最先端の関節（第６関節）、１０１…ロボットシステム、１０２…ロボット、１２３…保持部調整機構、２０１…ロボットシステム
【図１】
2014104529.tif 000004
【図２】
2014104529.tif 000005
【図３】
2014104529.tif 000006
【図４】
2014104529.tif 000007
【図５】
2014104529.tif 000008
【図６】
2014104529.tif 000009
【図７】
2014104529.tif 000010
【図８】
2014104529.tif 000011
【図９】
2014104529.tif 000012
【図１０】
2014104529.tif 000013
【図１１】
2014104529.tif 000014
【図１２】
2014104529.tif 000015
【図１３】
2014104529.tif 000016
【図１４】
2014104529.tif 000017
【図１５】
2014104529.tif 000018
【図１６】
2014104529.tif 000019