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