(57)【要約】【課題】複数の種類のエンドエフェクターを構成する部品を共通化できる技術を提供する。【解決手段】本発明のロボットは、エンドエフェクターが着脱可能であり、前記エンドエフェクターを移動させる第１アームと、前記エンドエフェクターに備えられた標識を撮像した標識画像を取得する画像取得部と、前記標識画像に基づいて前記エンドエフェクターの誤差情報を取得する誤差情報取得部と、を備える。【選択図】図２
2016083714.tif 000002
【特許請求の範囲】
【請求項１】
エンドエフェクターが着脱可能であり、前記エンドエフェクターを移動させる第１アームと、
前記エンドエフェクターに備えられた標識を撮像した標識画像を取得する画像取得部と、
前記標識画像に基づいて前記エンドエフェクターの誤差情報を取得する誤差情報取得部と、
を備えるロボット。
【請求項２】
前記誤差情報に基づいて、前記第１アームと前記エンドエフェクターとの少なくとも一方を駆動する駆動部を備える、
請求項１に記載のロボット。
【請求項３】
前記標識は、印刷されたラベルである、
請求項１または請求項２のいずれかに記載のロボット。
【請求項４】
前記エンドエフェクターは、
ワークに接触する接触部と、前記ワークに接触しない非接触部と、を備え、
前記標識は、前記非接触部に備えられる、
請求項１から請求項３のいずれか一項に記載のロボット。
【請求項５】
エンドエフェクターと、
前記エンドエフェクターを移動させる第１アームと、
前記エンドエフェクターに備えられた標識を撮像する撮像部と、
前記撮像部が撮像した標識画像に基づいて前記エンドエフェクターの誤差情報を取得する誤差情報取得部と、
を備えるロボットシステム。
【請求項６】
前記第１アームが連結された基台と、
前記基台に連結された第２アームと、を備え、
前記撮像部は、前記第２アームに備えられている、
請求項５に記載のロボットシステム。
【請求項７】
ロボットに対して着脱可能であり、前記ロボットによって移動させられる部品を備えるロボット装着部材であって、
前記部品の誤差情報を示す標識を備える、
ロボット装着部材。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボットシステムおよびロボット装着部材に関する。
【背景技術】
【０００２】
エンドエフェクターの位置ずれ量をエンドエフェクターのメモリーに予め格納し、当該位置ずれ量をロボットコントローラーに伝える技術が開示されている（特許文献１、参照）。これにより、位置ずれ量を解消するようにロボットを制御することができ、エンドエフェクターの位置ずれの影響を抑制した作業を実現できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３６１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、エンドエフェクターが高精度化、多機能化、多様化すると、格納すべき位置ずれ量の情報量が大きくなり、エンドエフェクターが備えるメモリーの容量を大きくしなければならないという問題があった。すなわち、エンドエフェクターの種類ごとに容量の異なるメモリーを備えさせなければならず、複数の種類のエンドエフェクターを構成する部品の共通化が困難になるという問題があった。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。
本発明の一形態によれば、ロボットは、エンドエフェクターが着脱可能であり、エンドエフェクターを移動させる第１アームと、エンドエフェクターに備えられた標識を撮像した標識画像を取得する画像取得部と、標識画像に基づいてエンドエフェクターの誤差情報を取得する誤差情報取得部と、を備えるように構成される。前記の構成において、エンドエフェクターに備えられた標識を撮像した標識画像により、ロボットはエンドエフェクターの誤差情報を取得できる。従って、複数の種類のエンドエフェクターを構成する部品の共通化が容易になる。
【０００６】
また、本発明の一形態によれば、ロボットは、誤差情報に基づいて、第１アームとエンドエフェクターとの少なくとも一方を駆動する駆動部を備えてもよい。これにより、エンドエフェクターの誤差の影響を抑制するように第１アームとエンドエフェクターとの少なくとも一方を駆動することができ、エンドエフェクターの位置を正確に制御できる。
【０００７】
さらに、標識は、印刷されたラベルであってもよい。これにより、標識を容易に形成できる。また、誤差情報の情報量が大きくなった場合でも、印刷解像度と標識画像の解像度とを大きくすることにより、誤差情報を取得できる。従って、エンドエフェクターが高精度化、多機能化に対応できる。
【０００８】
また、エンドエフェクターは、ワークに接触する接触部と、ワークに接触しない非接触部と、を備えてもよい。この場合において、標識は、非接触部に備えられてもよい。このように、ワークに接触しない非接触部に標識を設けておくことにより、標識がワークと接触することにより標識が脱落したり破損したり汚れたりすることを防止できる。従って、ロボットは確実にエンドエフェクターの誤差情報を取得できる。
【０００９】
また、エンドエフェクターに備えられた標識を撮像する撮像部と、上述したロボットと、を備えたロボットシステムにおいても、上述した本発明の効果を実現できる。
このロボットシステムは、第１アームが連結された基台と、基台に連結された第２アームと、を備えもよい。そして、撮像部は、第２アームに備えられていてもよい。これにより、第２アームを移動させることにより、標識を撮像しやすくなる位置に撮像部を移動させることができ、確実にエンドエフェクターの誤差情報を取得できる。
【００１０】
さらに、ロボットに対して着脱可能であり、ロボットによって移動させられる部品を備えるロボット装着部材であって、部品の誤差情報を示す標識を備えるように構成されたロボット装着部材においても、上述した本発明の効果を実現できる。部品の誤差情報とは、部品の形状の誤差の情報であってもよいし、部品が移動する位置の誤差の情報であってもよい。
【図面の簡単な説明】
【００１１】
【図１】（１Ａ）は本発明の一実施形態のロボットシステムの正面図、（１Ｂ）〜（１Ｄ）はハンドの側面図、（１Ｅ）はハンドの平面図である。
【図２】（２Ａ）は制御装置のブロック図、（２Ｂ）はロボットシステムのブロック図である。
【図３】（３Ａ）はハンド装着処理のフローチャート、（３Ｂ）は誤差情報取得処理のフローチャート、（３Ｃ）は駆動処理のフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、添付図面を参照しながら以下の順に説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
（１）全体構成：
（２）エンドエフェクターの構成：
（３）制御装置の構成：
（４）ロボットシステムの処理：
（５）他の実施形態：
【００１３】
（１）全体構成：
図１Ａは、本発明の一実施形態にかかるロボットシステム１の正面図である。ロボットシステム１は、ロボット９と、制御装置４０と、ハンド６０ａ（左側），６０ｂ（右側）とを備える。制御装置４０は、ロボット９と通信可能に接続されている。この接続は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の有線通信規格、Ｗｉ−Ｆｉ（登録商標）等の無線通信規格に準じる。ロボット９は、撮像部１０とアーム２０ａ，２０ｂと胴体ユニット３０とを備えている。すなわち、ロボット９は、基台としての胴体ユニット３０に２つのアーム２０ａ，２０ｂが連結された双腕ロボットである。
【００１４】
アーム２０ａ，２０ｂには、エンドエフェクターおよびロボット装着部材としてのハンド６０ａ，６０ｂが着脱可能である。アーム２０ａ，２０ｂとハンド６０ａ，６０ｂとで構成される部分をアームユニットＨＵａ，ＨＵｂと表記する。アーム２０ａ，２０ｂに装着可能なエンドエフェクターは複数種類存在し、ハンド６０ａ，６０ｂを、ハンド６０ａ，６０ｂ以外の種類のエンドエフェクターに交換できる。これにより、ロボット９がワークに対して行う作業に多様性を持たせることができる。アーム２０ａ，２０ｂは、それぞれアーム撮像部２１ａ，２１ｂを備える。アーム撮像部２１ａ，２１ｂは、光軸がアーム２０ａ，２０ｂの先端側に向くように備えられている。アーム撮像部２１ａ，２１ｂは、例えば、レンズとＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等の撮像素子とをそれぞれ備えたカメラである。アーム２０ａ，２０ｂが駆動することにより、アーム撮像部２１ａ，２１ｂの光軸の位置と方向を変化させることができる。
【００１５】
ロボット９は、制御信号を制御装置４０から取得し、取得した制御信号に基づいてワークに対して所定の作業を行う。所定の作業とは、例えば、アームユニットＨＵａ，ＨＵｂによりワークを把持し、把持されたワークを現在設置されている位置から、他の位置へと移動させることや、移動させた後に別の装置に組み付けを行う等の作業である。
【００１６】
撮像部１０は、胴体ユニット３０の上部に備えられる。撮像部１０は、例えば、レンズとＣＣＤやＣＭＯＳ等の撮像素子とをそれぞれ備えたカメラ１１ａ、１１ｂによって構成されている。撮像部１０は、作業台等に置かれたワークＷやアームユニットＨＵａ，ＨＵｂに把持された状態のワークを撮像し、撮像したワーク画像を、通信により制御装置４０へ出力する。なお、ロボット９は、撮像部１０を備えていなくてもよく、撮像部１０に相当する外部の撮像装置と通信可能であってもよい。
【００１７】
アームユニットＨＵａ，ＨＵｂは、胴体ユニット３０の上部の２カ所に連結される。アームユニットＨＵａ，ＨＵｂは、少なくとも３軸のリンクを備えるアーム２０ａ，２０ｂと、アーム２０ａ，２０ｂの先端部に１軸の自由度で連結されたハンド６０ａ，６０ｂとを備える。アームユニットＨＵの各軸は図示しないアクチュエーターによって駆動される。
【００１８】
胴体ユニット３０には図示しない制御部が備えられ、制御部には制御装置４０から制御信号が入力される。制御部は、制御装置４０からの制御信号に基づいてアームユニットＨＵａ，ＨＵｂに備えられた各軸のアクチュエーターを駆動させるための駆動信号を生成する回路を備える。
【００１９】
（２）エンドエフェクターの構成：
図１Ｂはハンド６０ａの側面図（アーム２０ａの幅方向から見た図）であり、図１Ｅはハンド６０ａの平面図（アーム２０ａの先端側から見た図）である。右側のハンド６０ｂは、左側のハンド６０ａと同様または対称の構成となっている。ハンド６０ａは、基部６１ａと４個の指部６２ａ，６２ａ，６２ａ，６２ａと掌部６３ａと標識としてのラベル６４ａとを備える。基部６１ａは、アーム２０ａの先端部と１軸の自由度で連結されている。基部６１ａには図示しないアクチュエーターが備えられており、当該アクチュエーターを介して指部６２ａ，６２ａ，６２ａ，６２ａと掌部６３ａとが基部６１ａに連結されている。指部６２ａ，６２ａ，６２ａ，６２ａと掌部６３ａとは、基部６１ａに対して移動可能となっている。
【００２０】
図１Ｃは、ワークＷを把持している状態のハンド６０ａの側面図である。ワークＷを把持している状態において、接触部としての指部６２ａ，６２ａ，６２ａ，６２ａと掌部６３ａとがワークＷに接触する。指部６２ａ，６２ａ，６２ａ，６２ａは、アーム２０ａの幅方向の軸であって、互いに直交するｘ軸およびｙ軸の方向に移動する。掌部６３ａは、アーム２０ａの長さ方向のｚ軸上において移動する。従って、指部６２ａ，６２ａ，６２ａ，６２ａと掌部６３ａとは、ワークＷに対して３軸方向に接触してワークＷを安定して把持できる。
【００２１】
図１Ｂ，図１Ｅに示すように、指部６２ａ，６２ａ，６２ａ，６２ａをｘ軸方向およびｙ軸方向において最も接近させた状態において、指部６２ａ，６２ａ，６２ａ，６２ａの先端部同士が一点の接触点Ｆh（黒丸）で接触するようにハンド６０ａが形成されている。図１Ｅの平面視において、この接触点Ｆhの位置が基部６１ａの重心Ｏhの位置と一致するようにハンド６０ａが設計されている。しかしながら、指部６２ａ，６２ａ，６２ａ，６２ａやアクチュエーター等の機械的な製造誤差によって、接触点Ｆhの位置は、基部６１ａの重心Ｏhの位置に対して誤差Ｅ1を有し得ることとなる。誤差Ｅ1は、ｘｙ平面上の二次元の位置（ベクトル）で表される。また、ｚ軸方向における掌部６３ａの高さも所定の設計位置に対して誤差Ｅ2を有し得ることとなる。
【００２２】
ラベル６４ａは、ワークＷと接触しない非接触部としての基部６１ａに貼り付けられている。ラベル６４ａは、基部６１ａの側面に貼り付けられており、ラベル６４ａの貼り付け位置は指部６２ａ，６２ａ，６２ａ，６２ａや掌部６３ａの移動軌道上となっていない。また、ラベル６４ａの貼り付け位置は、アーム２０ａと干渉しない位置となっている。ラベル６４ａは、表面が印刷面であり、裏面が接着面となっている紙や布や合成樹脂製等の印刷媒体である。ただし、ラベル６４ａは、必ずしも基部６１ａに対して接着されていなくてもよく、ネジ止めされてもよいし、嵌合されてもよいし、磁力によって接合されてもよい。
【００２３】
次に、ラベル６４ａの印刷方法について説明する。ラベル６４ａは、パーソナルコンピューター（ＰＣ）とプリンターを用いて印刷される。本実施形態において、ハンド６０ａの個体ごとに、誤差Ｅ1，Ｅ2を計測しておき、誤差Ｅ1，Ｅ2を示す情報である誤差情報をＰＣに入力しておく。本実施形態において、誤差情報には、ハンド６０ａの個体識別情報が含まれる。そして、ＰＣによって、誤差Ｅ1，Ｅ2を示す誤差情報を所定のエンコード規則によって画像化し、当該画像をプリンターで印刷することによりラベル６４ａの印刷面を形成しておく。エンコード規則は誤差情報を画像化する方式であれば何でもよく、誤差情報を記述する文字へと画像化してもよいし、誤差情報を１次元バーコード化してもよいし、誤差情報を２次元バーコード化してもよい。印刷されたラベル６４ａは、接着面にて上述したラベル６４ａの貼り付け位置に貼り付けられる。
【００２４】
図１Ｄは、図１Ｂ，１Ｃ，１Ｅのハンド６０ａとは別のエンドエフェクターである研磨部材７０の側面図である。研磨部材７０は、基部７１と回転体７２とを備える。回転体７２のアーム２０ａの先端側（紙面上側）の表面に研磨布が備えられている。この回転体７２の先端側の表面の位置の設計位置に対する誤差Ｅ3が誤差情報として計測され、当該誤差情報を示すラベル７４が研磨部材７０に貼り付けられる。このように、エンドエフェクターとしてのハンド６０ａと研磨部材７０とはそれぞれが有する部品が異なるため、当該部品の誤差情報の内容や情報量が異なっている。
【００２５】
（３）制御装置の構成：
次に、図２Ａを参照することで、制御装置４０のハードウェア構成について説明する。制御装置４０は、例えば、ＣＰＵ（Central  Processing  Unit）４１と、記憶部４２と、入力受付部４３と、通信部４４とを備え、通信部４４を介してロボット９と通信を行う。これらの構成要素は、バスＢｕｓと図示しない入出力機構を介して相互に通信可能に接続されている。ＣＰＵ４１は、記憶部４２に格納された各種プログラムを実行する。記憶部４２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read− Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）などを含み、制御装置４０が処理する各種情報や画像、プログラムを格納する。なお、記憶部４２は、制御装置４０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
【００２６】
入力受付部４３は、例えば、キーボードやマウス、タッチパッド、その他の入力装置である。なお、入力受付部４３は、表示部として機能してもよく、さらに、タッチパネルとして構成されてもよい。通信部４４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネットポート等を含んで構成される。
【００２７】
次に、図２Ｂを参照することで、制御装置４０の機能構成について説明する。制御装置４０は、エンドエフェクターに応じた作業をワークＷに対して行うためにアームユニットＨＵａ，ＨＵｂを制御する。このため、制御装置４０は、画像取得部Ｍ１と、誤差情報取得部Ｍ２と、駆動部Ｍ３とを備える。これらの機能部のうち一部又は全部は、例えば、ＣＰＵ４１が、記憶部４２に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００２８】
画像取得部Ｍ１は、撮像部１０により撮像されたワークＷの画像であるワーク画像を取得し、取得したワーク画像を駆動部Ｍ３に出力する。なお、画像取得部Ｍ１は、取得したワーク画像を記憶部４２に記憶し、誤差情報取得部Ｍ２が駆動部Ｍ３からワーク画像を読み込むものとしてもよい。
【００２９】
さらに、画像取得部Ｍ１は、アーム撮像部２１ａ，２１ｂにより撮像されたラベル画像（標識画像）を取得し、取得したラベル画像を誤差情報取得部Ｍ２に出力する。なお、画像取得部Ｍ１は、取得したラベル画像を記憶部４２に記憶し、誤差情報取得部Ｍ２が記憶部４２からラベル画像を読み込むものとしてもよい。
【００３０】
誤差情報取得部Ｍ２は、ラベル画像に基づいてエンドエフェクターの誤差情報を取得する。すなわち、誤差情報取得部Ｍ２は、ラベル６４ａ，６４ｂの画像であるラベル画像を、当該ラベル６４ａ，６４ｂを印刷した際のエンコード規則に対応するデコード規則によってデコードすることにより、誤差情報を取得する。具体的に、誤差情報取得部Ｍ２は、誤差情報として誤差Ｅ1，Ｅ2を取得する。なお、エンドエフェクターとしての研磨部材７０に貼り付けられたラベル７４を撮像した場合、誤差情報取得部Ｍ２は、誤差情報として誤差Ｅ3を取得する。誤差情報取得部Ｍ２が取得する誤差情報には、ハンド６０ａ，６０ｂや研磨部材７０等の個体識別情報も含まれる。誤差情報取得部Ｍ２は、取得した誤差情報を記憶部４２に記憶するとともに、駆動部Ｍ３に出力する。記憶部４２には、複数のエンドエフェクターの誤差情報が蓄積される。
【００３１】
駆動部Ｍ３は、画像取得部Ｍ１から取得したワーク画像に基づいて、ワークＷの三次元位置と姿勢を導出する。そして、駆動部Ｍ３は、ワークＷの三次元位置と姿勢に基づいて、アームユニットＨＵａ，ＨＵｂの目標移動位置を設定する。さらに、駆動部Ｍ３は、誤差情報に基づいて目標移動位置を補正する。例えば、駆動部Ｍ３は、ｘ軸ｙ軸平面上においてハンド６０ａ，６０ｂの接触点ＦhをワークＷの重心位置に移動させる場合に、基部６１ａ，６１ｂの重心Ｏhの位置がワークＷの重心位置となるように目標移動位置を設定するとともに、誤差Ｅ1を相殺するように、誤差Ｅ1と反対のベクトルを目標移動位置に加えて補正する。そして、駆動部Ｍ３は、補正後の目標移動位置へとアームユニットＨＵａ，ＨＵｂを移動させるための制御信号を出力する。
【００３２】
また、図２Ｂに示すように、ハンド６０ａ，６０ｂ（研磨部材７０等の他のエンドエフェクターも同様）は制御部６５ａ，６５ｂを備えており、駆動部Ｍ３はアーム２０ａ，２０ｂを介してハンド６０ａ，６０ｂの制御部６５ａ，６５ｂと通信する。制御部６５ａ，６５ｂは、駆動部Ｍ３から出力された制御信号に基づいてハンド６０ａ，６０ｂが備えるアクチュエーターを駆動させるための処理を行う。また、制御部６５ａ，６５ｂは、ＲＯＭ等のメモリーを備え、当該メモリーに種類情報と個体識別情報とが記憶されている。種類情報とは、エンドエフェクターの種類を示す情報（ハンド６０ａ，６０ｂ、研磨部材７０等を識別する情報）である。個体識別情報は、ハンド６０ａ，６０ｂ等のエンドエフェクターの個体固有の情報である。
【００３３】
駆動部Ｍ３は、種類情報に基づいて、アーム２０ａ，２０ｂに装着されたエンドエフェクターの種類を取得し、当該種類に応じてエンドエフェクターを含むアームユニットＨＵａ，ＨＵｂを移動させるための制御信号を生成する。さらに、駆動部Ｍ３は、記憶部４２に記憶されている誤差情報に、アーム２０ａ，２０ｂに装着されたエンドエフェクターの個体識別情報を含む誤差情報がある場合、当該誤差情報をアーム２０ａ，２０ｂに装着されたエンドエフェクターの誤差情報として取得する。すなわち、すでにアーム２０ａ，２０ｂに装着されたエンドエフェクターの誤差情報が記憶部４２に記憶されている場合、駆動部Ｍ３は、記憶部４２から誤差情報を読み出して取得し、ラベル６４ａ，６４ｂの撮像をスキップする。
【００３４】
また、ラベル６４ａ，６４ｂを撮像する場合、駆動部Ｍ３は、アーム撮像部２１ａ，２１ｂの光軸Ｌ上にラベル６４ａ，６４ｂが位置するようにアームユニットＨＵａ，ＨＵｂを移動させる。第１アームとしての左側のアーム２０ａに装着されたエンドエフェクターのラベル６４ａを撮像する場合、第２アームとしての右側のアーム２０ｂに備えられたアーム撮像部２１ｂの光軸Ｌ上にラベル６４ａが位置するようにアームユニットＨＵａ，ＨＵｂを移動させる。一方、第１アームとしての右側のアーム２０ｂに装着されたエンドエフェクターのラベル６４ｂを撮像する場合、第２アームとしての左側のアーム２０ａに備えられたアーム撮像部２１ａの光軸Ｌ上にラベル６４ｂが位置するようにアームユニットＨＵａ，ＨＵｂを移動させる。これらの場合、駆動部Ｍ３は、両方のアームユニットＨＵａ，ＨＵｂを双方とも移動させてもよいし、左右いずれかのアームユニットＨＵａ，ＨＵｂを移動させてもよい。
【００３５】
（４）ロボットシステムの処理：
図３Ａは、ハンド装着処理のフローチャートである。まず、制御装置４０はロボット９の電源がＯＮとなったことを検知する（ステップＳ１００）。本実施形態では、左側のアーム２０ａを処理対象（第１アーム）とした処理を説明することとする。次に、駆動部Ｍ３はアーム２０ａ（左）にエンドエフェクターが装着されているか否かを判定する（ステップＳ１１０）。例えば、駆動部Ｍ３はエンドエフェクター（制御部６５ａ，６５ｂ，７５）と通信ができた場合にエンドエフェクターが装着されていると判定してもよいし、撮像部１０にて撮像した画像を認識することによりエンドエフェクターが装着されているか否かを判定してもよい。
【００３６】
エンドエフェクターが装着されていると判定しなかった場合（ステップＳ１１０：Ｎ）、制御装置４０は、エンドエフェクターの装着を促す（ステップＳ１２０）。例えば、制御装置４０は、表示装置にてエンドエフェクターの装着を促す画像を表示してもよいし、スピーカからエンドエフェクターの装着を促す音声を出力してもよい。エンドエフェクターの装着を促すと、制御装置４０は、ステップＳ１１０に戻る。
【００３７】
一方、エンドエフェクターが装着されていると判定した場合（ステップＳ１１０：Ｙ）、駆動部Ｍ３は、装着されているエンドエフェクターの種類情報と個体識別情報とを取得する（ステップＳ１３０）。すなわち、駆動部Ｍ３は、駆動部Ｍ３はハンド６０ａの制御部６５ａのメモリーにアクセスし、当該メモリーに記憶されている種類情報と個体識別情報とを取得する。以下、処理対象の左側のアーム２０ａにハンド６０ａが装着されていることとする。
【００３８】
次に、駆動部Ｍ３は、記憶部４２に蓄積されている誤差情報に、アーム２０ａに装着されたエンドエフェクター（ハンド６０ａ）の誤差情報があるか否かを判定する（ステップＳ１４０）。すなわち、駆動部Ｍ３は、記憶部４２に蓄積されている誤差情報に、アーム２０ａに装着されたハンド６０ａから取得した個体識別情報を含む誤差情報があるか否かを判定する。記憶部４２に蓄積されている誤差情報に、アーム２０ａに装着されたハンド６０ａの誤差情報があると判定した場合（ステップＳ１４０：Ｙ）、駆動部Ｍ３は、記憶部４２から誤差情報を読み出して取得する（ステップＳ１４５）。
【００３９】
一方、記憶部４２に蓄積されている誤差情報に、アーム２０ａに装着されたハンド６０ａの誤差情報があると判定しなかった場合（ステップＳ１４０：Ｎ）、制御装置４０は、誤差情報取得処理を実行する（ステップＳ１５０）。
【００４０】
図３Ｂは、誤差情報取得処理のフローチャートである。まず、駆動部Ｍ３は、アームユニットＨＵａ，ＨＵｂを移動させる（ステップＳ１５１）。具体的に、駆動部Ｍ３は、処理対象の左側のアーム２０ａ（第１アーム）に装着されたハンド６０ａのラベル６４ａが、処理対象でない右側のアーム２０ｂ（第２アーム）に備えられたアーム撮像部２１ｂの光軸Ｌ上に位置するように、アームユニットＨＵａ，ＨＵｂを移動させる。この移動には、アーム２０ａ，２０ａの移動もハンド６０ａ，６０ｂ（ラベル６４ａ，６４ｂ）の移動も含まれる。
【００４１】
次に、画像取得部Ｍ１は、ラベル画像を取得する（ステップＳ１５２）。すなわち、右側のアーム２０ｂに備えられたアーム撮像部２１ｂによって、左側のアーム２０に装着されたハンド６０ａのラベル６４ａを撮像することにより、当該ラベル６４ａのラベル画像を取得する。なお、右側のアーム２０ｂが処理対象である場合、左側のアーム２０ａに備えられたアーム撮像部２１ａによって、右側のアーム２０ｂに装着されたハンド６０ｂのラベル６４ｂを撮像することにより、ラベル画像を取得すればよい。また、エンドエフェクターの種類ごとにラベル６４ａ，６４ｂ，７４の貼り付け位置が異なっていてもよく、記憶部４２においてエンドエフェクターの種類ごとにラベル６４ａ，６４ｂ，７４の貼り付け位置が記憶されていてもよい。
【００４２】
次に、誤差情報取得部Ｍ２は、誤差情報を取得する（ステップＳ１５３）。すなわち、誤差情報取得部Ｍ２は、ラベル６４ａのラベル画像を、当該ラベル６４ａが印刷された際のエンコード規則に対応するデコード規則によってデコードすることにより、誤差情報を取得する。ラベル６４ａを印刷する際のエンコード規則は例えばエンドエフェクターの種類ごとに異なってもよく、エンドエフェクターの種類ごとにデコード規則が記憶部４２に記憶されていてもよい。以上の処理を実行することにより、予め記憶部４２に記憶されている誤差情報、または、ラベル画像が示す誤差情報を取得できる。
【００４３】
図３Ｃは、駆動処理のフローチャートである。
まず、駆動部Ｍ３は、アームユニットＨＵａの目標移動位置を取得する（ステップＳ２００）。すなわち、画像取得部Ｍ１から取得したワーク画像に基づいて、ワークＷの三次元位置と姿勢を導出する。そして、駆動部Ｍ３は、ワークＷの三次元位置と姿勢に基づいて、アームユニットＨＵａの目標移動位置を設定する。
【００４４】
次に、駆動部Ｍ３は、誤差情報に基づいて目標移動位置を補正する（ステップＳ２１０）。すなわち、駆動部Ｍ３は、ハンド６０ａの誤差Ｅ1，Ｅ2を相殺するように、誤差Ｅ1，Ｅ2と反対のベクトルを目標移動位置に加えて補正する。そして、駆動部Ｍ３は、駆動部Ｍ３は、補正後の目標移動位置にアームユニットＨＵａを移動させる（ステップＳ２２０）。
【００４５】
（５）他の実施形態：
本発明の標識は、必ずしも印刷されたラベルに限らない。ここで、標識とは、撮像可能な形状や模様を有する部材であり、メモリーに記憶されたデータに基づいて電気的または機械的に制御されることなく形状や模様を保持できる部材であればよい。例えば、切削や彫刻等の機械加工によって形状や模様を形成することにより、標識が形成されてもよい。また、選択的なエッチングやめっき等の化学的処理によって形状や模様を形成することにより、標識が形成されてもよい。
【００４６】
また、エンドエフェクターおよびロボット装着部材は、例示したハンド６０ａ，６０ｂと研磨部材７０に限られず、ワークＷに対して作業を行う部材であればよい。また、エンドエフェクターの部品は、少なくとも機械誤差を有ればよく、必ずしもエンドエフェクターにおける可動部でなくてもよい。ここで、エンドエフェクターにおける可動部とは、エンドエフェクターが装着されたアームを移動させなくても、移動できる部分である。
【００４７】
駆動部Ｍ３は、誤差情報に基づいて、アーム２０ａ，２０ｂとエンドエフェクターとの少なくとも一方を駆動すればよく、例えばアーム２０ａ，２０ｂを固定した状態で、指部６２ａ，６２ｂと掌部６３ａ，６３ｂを基部６１ａ，６１ｂに対して移動させることで誤差Ｅ1，Ｅ2，Ｅ3を相殺してもよい。反対に、指部６２ａ，６２ｂと掌部６３ａ，６３ｂを基部６１ａ，６１ｂに対して固定した状態で、アーム２０ａ，２０ｂを移動させることで誤差Ｅ1，Ｅ2，Ｅ3を相殺してもよい。また、標識は、ワークＷの非接触部に備えられるのが望ましいが、ワークＷの接触部に備えられてもよい。
【符号の説明】
【００４８】
１…ロボットシステム、９…ロボット、１０…撮像部、１１ａ，１１ｂ…カメラ、２０ａ，２０ｂ…アーム、２１ａ，２１ｂ…アーム撮像部、３０…胴体ユニット、４０…制御装置、４１…ＣＰＵ、４２…記憶部、４３…入力受付部、４４…通信部、６０ａ，６０ｂ…ハンド、６４ａ，６４ｂ，７４…ラベル、７０…研磨部材、Ｅ1，Ｅ2，Ｅ3…誤差、ＨＵａ，ＨＵｂ…アームユニット、Ｌ…光軸、Ｍ１…画像取得部、Ｍ２…誤差情報取得部、Ｍ３…駆動部、Ｗ…ワーク。
【図１】
2016083714.tif 000003
【図２】
2016083714.tif 000004
【図３】
2016083714.tif 000005