(57)【要約】【課題】  ビジョンシステムにより三次元位置姿勢を認識したワークに対してロボットハンドがアプローチを行うための位置姿勢の教示を、確実かつ効率的に実施することを目的とする。【解決手段】  対象物体を保持した状態の保持手段の位置姿勢を取得する位置姿勢取得手段と、前記保持手段に保持された状態における前記対象物体の位置姿勢を取得する対象物体位置姿勢取得手段と、前記位置姿勢取得手段で取得された保持手段の位置姿勢と前記対象物体位置姿勢取得手段で取得された前記対象物体の位置姿勢とに基づいて、前記保持手段と前記対象物体との相対位置姿勢を導出する導出手段とを備える。【選択図】  図１
2015199155.tif 000002
【特許請求の範囲】
【請求項１】
対象物体を保持した状態の保持手段の位置姿勢を取得する位置姿勢取得手段と、
前記保持手段に保持された状態における前記対象物体の位置姿勢を取得する対象物体位置姿勢取得手段と、
前記位置姿勢取得手段で取得された保持手段の位置姿勢と前記対象物体位置姿勢取得手段で取得された前記対象物体の位置姿勢とに基づいて、前記保持手段と前記対象物体との相対位置姿勢を導出する導出手段とを備えることを特徴とする情報処理装置。  
【請求項２】
更に、前記保持手段に保持された状態における前記対象物体の計測情報を取得する計測手段を備え、
前記対象物体位置姿勢取得手段は、前記取得した計測情報に基づき、前記対象物体の位置姿勢を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記計測情報手段は、前記対象物体の画像を計測情報として取得し、
前記対象物体位置姿勢取得手段は、前記計測情報として取得した画像内の対象物体と前記対象物体の形状を表すモデルとを対応づけることにより、前記ワークの位置姿勢を取得することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
更に、前記保持手段を備えるロボットアームの位置を基準としたロボット座標系と前記計測手段の位置を基準とした計測座標系と間のロボット・計測手段間相対位置姿勢を取得する手段を備え、
前記位置姿勢取得手段は、前記ロボット座標系における前記保持手段の位置姿勢を取得し、
前記対象物体位置姿勢取得手段は、前記計測座標系における前記対象物体の位置姿勢を取得し、
前記相対位置姿勢導出手段は、前記ロボット・計測手段間相対位置姿勢に基づいて、前記ロボット座標系における前記保持手段の位置姿勢、および前記計測座標系における前記対象物体の位置姿勢を、同一の座標系により表現された位置姿勢へとそれぞれ変換し、該変換されたそれぞれの位置姿勢から前記相対位置姿勢を導出することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。  
【請求項５】
前記相対位置姿勢導出手段は、前記位置姿勢取得手段により取得される前記保持手段の位置姿勢と、前記対象物体位置姿勢取得手段により取得される前記対象物体の位置姿勢との対応を複数取得し、該取得した複数の対応に基づき、前記相対位置姿勢の導出を行うことを特徴とする、請求項１乃至４のいずれか１項に記載の情報処理装置。  
【請求項６】
前記対象物体の形状が回転対称形状である場合に、
前記対象物体位置姿勢取得手段は、前記対象物体の位置姿勢を複数取得し、
前記相対位置姿勢導出手段は、前記取得した複数の対象物体の位置姿勢に基づき、前記対象物体の回転対称性を規定する対称軸をも導出することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記相対位置姿勢導出手段は、前記位置姿勢取得手段により取得される前記保持手段の位置姿勢と、前記ワーク位置姿勢取得により取得される前記ワークの位置姿勢との対応を複数取得し、前記取得した複数の対応に基づき、前記保持手段を備えるロボットアームを基準としたロボット座標系と前記計測情報取得の座標系と間のロボット・計測手段間相対位置姿勢をも導出することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
対象物体を保持した状態における保持手段の位置姿勢を取得する位置姿勢取得工程と、
前記保持手段に保持された状態における前記対象物体の位置姿勢を取得する対象物体位置姿勢取得工程と、
前記位置姿勢取得工程において取得された保持手段の位置姿勢と前記対象物体位置姿勢取得手段で取得された前記対象物体の位置姿勢とに基づいて、前記保持手段と前記対象物体との相対位置姿勢を導出する導出工程とを備えることを特徴とする情報処理方法。
【請求項９】
コンピュータで実行されることにより、該コンピュータ装置を請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物体をロボットハンドで把持するための把持位置姿勢を取得する技術に関する。
【背景技術】
【０００２】
工場などの生産ラインにおいて、山積みされたワーク（対象物体）の三次元位置姿勢を認識し、ロボットに取り付けたロボットハンドにより把持を行う、山積みピッキング技術が近年開発されている。山積みされたワークは任意の位置姿勢をとるため、ロボットハンドが把持を行うために動作する位置姿勢もワークの位置姿勢に応じて変化させる必要がある。
【０００３】
特許文献１では、シミュレータ上で、ワークを把持する際のロボットハンドの位置姿勢を定義することについて開示している。すなわち、ワークとロボットハンドのモデルをシミュレータに入力し、該入力されたモデルをユーザがマウスやキーボードを操作することにより、ワークを把持する際および目的の位置で離す際のロボットハンドの位置姿勢を定義する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１７７８０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の方法では、シミュレータ上での定義にすぎないため、ワークとロボットハンドの間の両者の接触や摩擦、重心ずれについて考慮されていない。また、シミュレータに入力されるロボットハンドとワークのモデルが実物のロボットハンドやワークと差異がある場合もある。そのため、シミュレータ上で定義されたロボットハンドの把持位置姿勢で実物のワークを把持しようとした際に失敗する場合もある。
【０００６】
本発明は、以上の課題に鑑みてなされたものであり、ワークを把持するためのロボットハンドの位置姿勢をより精度よく取得することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、例えば、対象物体を保持した状態の保持手段の位置姿勢を取得する位置姿勢取得手段と、前記保持手段に保持された状態における前記対象物体の位置姿勢を取得する対象物体位置姿勢取得手段と、前記位置姿勢取得手段で取得された保持手段の位置姿勢と前記対象物体位置姿勢取得手段で取得された前記対象物体の位置姿勢とに基づいて、前記保持手段と前記対象物体との相対位置姿勢を導出する導出手段とを備える。
【発明の効果】
【０００８】
本発明によれば、対象物体を把持するためのロボットハンドの位置姿勢をより精度よく取得することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態における情報処理装置の構成を示す図である。
【図２】第１の実施形態における処理のフローチャートである。
【図３】第１の実施形態における各座標の幾何関係を示す図である。
【図４】変形例１−１における、ワークの把持位置姿勢教示処理を示すフローチャートである。
【図５】第２の実施形態における情報処理装置１の構成を示す図である。
【図６】第２の実施形態における各座標の幾何関係を示す図である。
【図７】第２の実施形態における処理のフローチャートである。
【図８】本発明の情報処理装置のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施形態の１つである。
【００１１】
本発明にかかる各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェア構成について、図８を用いて説明する。
【００１２】
図８は、本実施形態における情報装置１のハードウェア構成図である。同図において、ＣＰＵ１０１０は、バス１０００を介して接続する各デバイスを統括的に制御する。ＣＰＵ１０１０は、読み出し専用メモリ（ＲＯＭ）１０２０に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム（ＯＳ）をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はＲＯＭ１０２０に記憶されており、ランダムアクセスメモリ（ＲＡＭ）１０３０に一時記憶され、ＣＰＵ１０１０によって適宜実行される。また、入力Ｉ／Ｆ１０４０は、外部の装置（撮像装置や操作装置など）から情報処理装置１で処理可能な形式で入力信号として入力する。また、出力Ｉ／Ｆ１０５０は、外部の装置（表示装置）へ表示装置が処理可能な形式で出力信号として出力する。
【００１３】
（第１の実施形態）
第１の実施形態では、ロボットアーム先端に取り付けたロボットハンドでまずワークを安定的に把持した状態を作った後で、ワークを計測して位置姿勢を認識し、そのときのロボットハンド・ワーク間の相対位置姿勢を求める。この方法では、ワークを把持した状態からワークおよびロボットハンドの位置姿勢の取得を行うため、双方の位置姿勢の取得時点でのワークの位置姿勢の変化の発生を抑制することができる。また、安定して把持した状態を確認してからワークの認識を行うため確実に把持可能な位置姿勢を教示できる。そのため、安定的かつ効率的に把持位置姿勢の教示を行うことが可能である。
【００１４】
図１は、本実施形態における情報処理装置１の構成を示している。同図に示すように、情報処理装置１は、ロボットハンド１０、ロボットアーム１１、制御部１２、計測部１４に接続されており、ロボットハンド位置姿勢取得部１３、ワーク位置姿勢取得部１５、相対位置姿勢導出部１６から構成されている。以下、各部について説明する。なお、本実施形態では、ロボットハンド１０、ロボットアーム１１、制御部１２、計測部１４を外部装置として説明するが、これらの構成のいずれか、またはすべてを情報処理装置１の構成に含めて、一体として構成してもかまわない。
【００１５】
情報処理装置１の各機能部は、ＣＰＵ１０１０が、ＲＯＭ１０２０に格納されたプログラムをＲＡＭ１０３０に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、ＣＰＵ１０１０を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００１６】
ロボットハンド１０は、ロボットアーム先端のフランジに取り付けられ、ワークの把持動作を行うエンドエフェクタである。たとえば、ワークの平面部に押しつけることで把持を行う磁石式あるいは吸着式ロボットハンドでもよいし、二指、三指といった多数の指の開閉により物体を内側あるいは外側から挟み込むことで把持を行うグリッパー式ロボットハンドでもよい。すなわち、ロボットハンド１０は、ワークを保持する保持手段として機能する。その他、ロボットアームに取り付け可能で把持機構を有するエンドエフェクタであればいかなるものであってもよい。以後、ロボットハンドと表現する際には、把持を行う上記エンドエフェクタを指すものとし、ロボットハンドの持つ基準座標系をロボットハンド座標系と呼ぶこととする。また、これ以後、単にロボットと表現する際には、ロボットアームを指すものとする。また、これ以後、単にハンドと表現する際には、ロボットハンドを指すものとする。
【００１７】
ロボットアーム１１は、先端にフランジを設け、後述するように制御部１２によって動作を制御される。上記のようにアーム先端部のフランジにはロボットハンド１０が取り付けられている。また、本実施形態ではロボットアーム１１の基準位置を原点とした座標系をロボット座標系とする。
【００１８】
制御部１２は、ロボットアーム１１の動作制御を行う。制御部１２は、ロボットアーム先端のフランジ中心に設定された位置姿勢を表すパラメータを保持する。つまり、制御部１２がロボットアームの動作制御を行うことにより、ロボットアーム先端のフランジに取り付けられたロボットハンド１０を制御することになる。ここで、例えば、特開昭６１−１３３４０９号公報に記載されている方法により、フランジ中心に設定された座標系と、ハンド１０の中心に設定されたハンド座標系との相対位置姿勢を求める作業を事前に行っておく。そして、ロボットハンド座標系の位置姿勢を表すパラメータ（すなわち、ロボットハンド１０の位置姿勢パラメータ）を後述のロボットハンド位置姿勢取得部１３に出力する。また、ユーザはティーチングペンダントやマウス、キーボード等を操作することにより、制御部１２へアクセスすることが可能である。これにより、ユーザの所望の任意の位置姿勢にロボットアームを動作制御することができる。また、制御部１２はロボットアーム１１の動作制御だけでなく、ロボットハンド１０によるワークの把持または解放動作も制御する。また、制御部１２は、ロボットハンド１０の動作をロボットアームと独立して制御してもよい。
【００１９】
ロボットハンド位置姿勢取得部１３は、制御部１２からロボット座標系におけるロボットハンド１０の位置姿勢を表すパラメータを取得する。
【００２０】
計測部１４は、ワークの位置姿勢を認識するために必要な計測情報を取得（計測情報取得）する。たとえば、二次元画像を撮影するカメラでもよいし、各画素が奥行きの情報を持つ、距離画像を撮影する距離センサでもよい。距離センサとしては、対象に照射したレーザ光やスリット光の反射光をカメラで撮影し、三角測量により距離を計測するもの、光の飛行時間を利用するＴｉｍｅ−ｏｆ−ｆｌｉｇｈｔ方式、ステレオカメラで撮影する画像から三角測量により距離を計算する方式などが利用できる。その他、ワークの三次元位置姿勢を認識するのに必要な情報を取得できればいかなるセンサであっても本発明の本質を損なうものではない。計測部１４が取得した計測情報はワーク位置姿勢取得部１５に入力される。計測部１４に設定された座標系を以後、センサ座標系（計測座標系）と呼ぶ。なお、本実施形態において、センサとロボットとの幾何関係は固定であるものとし、ロボット・計測手段間相対位置姿勢は事前にロボット・ビジョンキャリブレーションを実施して求めておくことにより既知であるものとする。
【００２１】
ワーク位置姿勢取得部１５は、計測部１４により入力された情報を手がかりに、ロボットアームの作業空間内に存在するワークを検出する。そして、検出したワークについて、センサ座標系におけるワークの位置姿勢（対象物体位置姿勢取得）を認識する。ここではセンサで距離画像および濃淡画像を取得する。本実施形態ではまず、予めワークの多数の姿勢を保持しておき、該多数の姿勢と観測した画像内に含まれるワークとのパターンマッチングを行ってワークの位置姿勢を導出する。また、パターンマッチングの結果求められた位置姿勢を初期位置姿勢として、ワークの三次元形状モデルを使ってモデルフィッティングしてもよい。また、パターンマッチングやモデルフィッティングの対象として、距離画像のみ、あるいは濃淡画像のみ、あるいは、距離画像と濃淡画像の両方を用いて行ってもよい。その他、山積みワークの中から把持対象となる個体を発見し、その三次元位置姿勢を算出できる方法であれば、ここで述べた以外のいかなる方法であってもかまわない。
【００２２】
相対位置姿勢導出部１６は、ロボット座標系におけるロボットハンド１０の位置姿勢と、センサ座標系におけるワークの位置姿勢とに基づいて、ロボットハンド１０がアプローチする位置姿勢を導出する。すなわち、相対位置姿勢導出部１６は、ロボットハンドとワークとの相対位置姿勢を把持位置姿勢として導出する。この把持地位置姿勢と、ビジョンシステムにより認識したワークの位置姿勢とに基づいて、認識したワークを把持するためのロボットハンドの位置姿勢を計算することができる。
【００２３】
図２は、第１の実施形態において、ワークの把持位置姿勢を教示する処理手順を示すフローチャートである。
【００２４】
（ステップＳ３０１）
ステップＳ３０１において、ロボットハンド１０は、ワークを把持する。具体的には、ユーザは制御部１２を介して、ロボットハンド１０の動作を制御し、ワークを把持する。ロボットアームの制御範囲内に設置されたワークを把持できる位置姿勢へロボットアーム１１を動かす。そして、ロボットハンド部１０は、制御部１２に対するユーザ操作により、ロボットハンド１０の把持機構を利用してワークの把持を行う。その後、制御部１２に対するユーザ操作により、把持したワークがセンサ（計測部）により観測しやすい位置姿勢へロボットアームを移動する。図３は、センサ、ロボットアーム、ロボットハンド、ワークの各座標系と、上記作業を実施した際のそれぞれの幾何関係を示している。このとき、センサで計測する際にロボットハンドにより、対象ワークが遮蔽されないよう留意してロボットハンドの位置姿勢をとる必要がある。
【００２５】
なお、本実施形態では、本ステップの処理に先立って、ロボット・センサ間のキャリブレーションは行われているものとする。すなわち、センサ座標系におけるロボットの位置姿勢を表す６つのパラメータは事前に算出して記録されているものとする。ここで、センサ座標系からロボット座標系への変換を行う３×３の回転行列、３列の並進ベクトルをそれぞれ、ＲＲＳ、ｔＲＳとする。このとき、センサ座標系ＸＳ＝［ＸＳ，ＹＳ，ＺＳ］Ｔからロボット座標系ＸＲ＝［ＸＲ，ＹＲ，ＺＲ］Ｔへの変換は、４×４行列ＴＲＳを用いて以下のように表すことができる。
ＸＲ’＝ＴＲＳＸＳ’                                        （式１）
ここで、
ＸＲ’＝［ＸＲ，ＹＲ，ＺＲ，１］Ｔ
ＸＳ’＝［ＸＳ，ＹＳ，ＺＳ，１］Ｔ
【００２６】
【数１】
2015199155.tif 000003
【００２７】
である。ロボットハンド部１０によりワークが把持されたら、処理はステップＳ３０２へと進む。
【００２８】
（ステップＳ３０２）
ステップＳ３０２において、ロボットハンド位置姿勢取得手段１２は、ロボット座標系におけるロボットハンドの位置姿勢を表す６つのパラメータを、制御部１２から取得する。上述したように、制御部１２はロボットアーム先端のフランジ中心に設定された位置姿勢を表すパラメータを保持するため、制御部１２に入力されたフランジ中心の位置姿勢からロボットハンド１０の位置姿勢を求めることができる。そして、ロボットハンド位置姿勢取得手段１３は、制御部１２からロボットハンド１０の位置姿勢を取得する。
【００２９】
なお、ここではロボットアーム・ロボットハンド間のキャリブレーションを事前に行っておく。それにより、ロボット座標系におけるロボットハンドの三次元位置を表す３パラメータ、姿勢を表す３パラメータの合計６つのパラメータを制御部１２から取得できるようになっているものとする。ここで、姿勢を表す３パラメータは、３パラメータで表現されるベクトルの向きが回転軸を、ベクトルのノルムが回転角度を表す回転軸回転角表現のものとする。ただし、同様の姿勢を表現可能なパラメータであれば、他の表現でも構わない。たとえばオイラー角表現の３パラメータであってもよいし、四元数表現の４パラメータを代わりに用いてもよい。ここで、姿勢を表す３パラメータにより表現される、ロボット座標系からロボットハンド座標系への姿勢変換を行う３×３の回転行列をＲＨＲ、位置を表す３パラメータにより表現される３列の並進ベクトルをｔＨＲとする。このとき、ロボット座標系ＸＲ＝［ＸＲ，ＹＲ，ＺＲ］Ｔからロボットハンド座標系ＸＨ＝［ＸＨ，ＹＨ，ＺＨ］Ｔへの変換は、４×４行列ＴＨＲを用いて以下のように表すことができる。
ＸＨ’＝ＴＨＲＸＲ’                                        （式２）
ここで、
ＸＨ’＝［ＸＨ，ＹＨ，ＺＨ，１］Ｔ
ＸＲ’＝［ＸＲ，ＹＲ，ＺＲ，１］Ｔ
【００３０】
【数２】
2015199155.tif 000004
【００３１】
ロボットハンド位置姿勢取得部１３は、取得したロボットハンドの位置姿勢を相対位置姿勢導出部１６へ送出する。
【００３２】
（ステップＳ３０３）
ステップＳ３０３において、計測部１４は、ワークの位置姿勢を認識するための計測情報の取得を行う。本実施形態では、計測情報として、計測部１４が備える撮像装置により距離画像および濃淡画像を取得する。本実施形態では計測部１４は、撮像装置を備えるが、ワークの位置姿勢を認識するための計測情報を取得できればその他のセンサを用いてもよい。計測部１４は、取得した計測情報をワーク位置姿勢取得部１５に送出する。
【００３３】
（ステップＳ３０４）
ステップＳ３０４において、ワーク位置姿勢取得部１５は、計測部１４から取得した計測情報に基づいてワークの位置姿勢認識を行う。具体的には、ワーク位置姿勢取得部１５は、センサ座標系におけるワークの位置姿勢を表す６つのパラメータを算出する。本実施形態では、濃淡画像または距離画像に、保持するワークの三次元形状モデルをパターンマッチングすることにより、ワークの位置姿勢パラメータを算出する。この処理は、例えば、特開平９−２１２６４３号公報に記載された公知の方法が用いられる。
【００３４】
そして算出されたパラメータをセンサ座標系からワーク座標系へと座標変換する。ここで、姿勢を表す３つのパラメータで表現される３×３の回転行列をＲＷＳ、位置を表す３つのパラメータで表現される３列の並進ベクトルをそれぞれｔＷＳとする。このとき、センサ座標系ＸＳ＝［ＸＳ，ＹＳ，ＺＳ］Ｔからワーク座標系ＸＷ＝［ＸＷ，ＹＷ，ＺＷ］Ｔへの変換は、４×４行列ＴＷＳを用いて以下のように表すことができる。
ＸＷ’＝ＴｗｓＸＳ’                                      （式３）
ここで、
ＸＷ’＝［ＸＷ，ＹＷ，ＺＷ，１］Ｔ
ＸＳ’＝［ＸＳ，ＹＳ，ＺＳ，１］Ｔ
【００３５】
【数３】
2015199155.tif 000005
【００３６】
である。
【００３７】
ワーク位置姿勢取得部１５は、取得したセンサ座標系におけるワークの位置姿勢パラメータを相対位置姿勢導出部１６に送出する。
【００３８】
（ステップＳ３０５）
ステップＳ３０５において、相対位置姿勢導出部１６は、把持位置姿勢ワークの把持位置姿勢を表現する６つのパラメータを導出する。ロボットハンド１０の把持位置姿勢を教示するためには、ロボットハンド１０がワークを把持している状態で、ロボットハンド座標系におけるワーク座標系の位置姿勢を表す６つのパラメータを算出すればよい。この未知の６つのパラメータにより表現される、センサ座標系からワーク座標系への変換を行う３×３の回転行列、３列の並進ベクトルをそれぞれ、ＲＨＷ、ｔＨＷとする。このとき、ワーク座標系ＸＷ＝［ＸＷ，ＹＷ，ＺＷ］Ｔからロボットハンド座標系ＸＨ＝［ＸＨ，ＹＨ，ＺＨ］Ｔへの変換を、４×４行列ＴＨＷを用いて以下のように表すことができる。
ＸＨ’＝ＴＨＷＸＷ’                                        （式４）
なお、
ＸＨ’＝［ＸＨ，ＹＨ，ＺＨ，１］Ｔ
ＸＷ’＝［ＸＷ，ＹＷ，ＺＷ，１］Ｔ
【００３９】
【数４】
2015199155.tif 000006
【００４０】
である。ここで、座標変換の等価性より以下の関係が成り立つ。
ＴＨＷＴＷＳ＝ＴＨＲＴＲＳ                                      （式５）
式５において、ＴＨＲ、ＴＲＳ、ＴＷＳは上記のステップＳ３０１、Ｓ３０２、Ｓ３０３で記録しておいた６つのパラメータより算出可能である。したがって、ＴＨＷは以下により求めることができる。
ＴＨＷ＝ＴＨＲＴＲＳ（ＴＷＳ）−１                              （式６）
さらに算出したＴＨＷより、ワーク座標系とロボットハンド座標系との相対位置姿勢を表す６つのパラメータを求める。具体的には、ＴＨＷを構成する３×３の回転行列ＲＨＲより、三次元ベクトルの向きが回転軸を、ベクトルのノルムが回転角度を表すような回転軸回転角表現の３パラメータを、姿勢を表すパラメータとして算出する。さらに、ｔＨＷを表す三次元ベクトルの３パラメータを位置を表すパラメータとして算出する。ここで算出した６つのパラメータを把持位置姿勢として記録する。
【００４１】
これにより、ビジョンシステムにより認識した任意の三次元位置姿勢のワークに対して、そのワークを把持できるロボットハンドの位置姿勢を計算することができる。具体的には、ビジョンシステムで認識したワークの位置姿勢をＴＷＳ’とすると、そのワークを把持できるロボットハンドの位置姿勢ＴＨＲ’は、把持位置姿勢の６パラメータにより表現されるＴＨＷを用いて以下で算出できる。
ＴＨＲ’＝ＴＨＷＴＷＳ’（ＴＲＳ）−１                          （式７）
以上述べたように、第１の実施形態では、ロボットアーム先端に取り付けたロボットハンドでまずワークを安定的に把持した状態を作った後で、ワークを計測して位置姿勢を認識し、そのときのロボットハンド・ワーク間の相対位置姿勢を求める。この方法では、ワークを把持した状態からワークおよびロボットハンドの位置姿勢の取得を行うため、双方の位置姿勢の取得時点でのワークの位置姿勢の変化の発生を抑制することができる。また、安定して把持した状態を確認してからワークの認識を行うため確実に把持可能な位置姿勢を教示できる。そのため、安定的かつ効率的に把持位置姿勢の教示を行うことが可能である。
【００４２】
（変形例１−１）
第１の実施形態では、ロボットハンドでワークを把持した状態で、ワークの三次元位置姿勢の認識およびロボットハンドの位置姿勢の取得を行い、これらに基づいてロボットハンド・ワーク間の相対位置姿勢の算出を行った。これに対して変形例１−１では、ワークの把持状態は維持したままロボットハンドの位置姿勢を変更して、ワークの位置姿勢の認識およびロボットハンド位置姿勢の取得を複数回行う。そして、これら複数の対応関係から把持位置姿勢を算出することで、より高精度な教示を行う。なお、変形例１−１の装置構成は、第１の実施形態と同様であるため省略する。
【００４３】
図４は、変形例１−１において、ワークの把持位置姿勢を教示する処理手順を示すフローチャートである。
【００４４】
（ステップＳ４０１）
ステップＳ４０１における処理は、ステップＳ３０１における処理と同様のため説明を省略する。
【００４５】
（ステップＳ４０２）
ステップＳ４０２は、ワーク位置姿勢取得手段１５は、ワークの三次元認識を行った回数を数えるカウンタｉをｉ＝０と設定して初期化する。
【００４６】
（ステップＳ４０３）
ステップＳ４０３において、ロボットハンド位置姿勢取得手段１３は、ステップＳ３０２と同様の処理を行い、ロボット座標系におけるロボットハンドの位置姿勢を表す６つのパラメータをコントローラ（制御部１２）から取得して記録する。このとき、６つのパラメータとともに、本ステップ実施時点でのカウンタｉの値も合わせて記録しておく。ここで記録した６つのパラメータにより表現される、ロボット座標系ＸＲ＝［ＸＲ，ＹＲ，ＺＲ］Ｔからロボットハンド座標系ＸＨ＝［ＸＨ，ＹＨ，ＺＨ］Ｔへの変換を行う４×４行列をＴＨＲ＿ｉと表現する。
【００４７】
（ステップＳ４０４）
ステップＳ４０４における処理は、ステップＳ３０３における処理と同様のため説明を省略する。
【００４８】
（ステップＳ４０５）
ステップＳ４０５における処理は、ワーク位置姿勢取得手段１５は、ステップＳ３０４における処理と同様の処理を行い、センサ座標系におけるワークの位置姿勢を表す６つのパラメータを算出する。このとき、６つのパラメータとともに、本ステップ時点でのカウンタｉの値も合わせて記録しておく。ここで記録した６つのパラメータにより表現される、センサ座標系ＸＳ＝［ＸＳ，ＹＳ，ＺＳ］Ｔからワーク座標系ＸＷ＝［ＸＷ，ＹＷ，ＺＷ］Ｔへの変換を行う４×４行列をＴＷＳ＿ｉと表現する。
【００４９】
（ステップＳ４０６）
ステップＳ４０６において、ワーク位置姿勢取得手段１５は、カウンタｉの値をｉ＝ｉ＋１で更新する。ここで、あらかじめ設定しておいた所定回数Ｎ（たとえばＮ＝５）に対してｉ＜Ｎが成立すればステップＳ４０７へ、成立しなければステップＳ４０８へ移行する。
【００５０】
（ステップＳ４０７）
ステップＳ４０７において、制御部１２は、ロボットハンド１０によるワークの把持状態を保ったまま、すなわち、ロボットハンド１０とワークとの相対位置姿勢を固定した状態で、ロボットハンドの位置姿勢を変更後、静止させる。このとき、ロボット座標系のひずみに起因するロボットハンドの姿勢誤差や、センサ座標系のひずみに起因するワーク認識結果の誤差を平均化して把持教示を行うため、ロボットハンドの位置姿勢は前回までの位置姿勢とできるだけ異なるように設定するのが望ましい。本ステップを実施後、ステップＳ４０３へ移行する。本ステップの処理は、予め定められた範囲で自動的にロボットハンドの位置姿勢を変更してもよいし、ユーザ操作により適宜変更されてもよい。
【００５１】
（ステップＳ４０８）
ステップＳ４０８において、相対位置姿勢導出部１６は、Ｎ回の計測によりＴＨＲ＿ｉ、ＴＷＳ＿ｉ（ｉ＝０〜Ｎ−１）のＮ個の対応関係を得る。これらの対応関係を利用してワークの把持位置姿勢を表現する６つのパラメータを算出する。
【００５２】
ワーク座標系ＸＷ＝［ＸＷ，ＹＷ，ＺＷ］Ｔからロボットハンド座標系ＸＨ＝［ＸＨ，ＹＨ，ＺＨ］Ｔへの変換を表す４×４行列をＴＨＷと表現すると、以下の関係が成り立つ。
ＴＨＷ［ＴＷＳ＿１  ＴＷＳ＿２  …  ＴＷＳ＿Ｎ］Ｔ＝［ＴＨＲ＿１ＴＲＳ  ＴＨＲ＿２ＴＲＳ  …  ＴＨＲ＿ＮＴＲＳ］Ｔ                                            （式８）
したがって、ＴＨＷは以下により求めることができる。
ＴＨＷ＝ＴＨＳ’（ＴＷＳ’）＋                                  （式９）
ここで、
ＴＨＳ’＝［ＴＨＲ＿１ＴＲＳ  ＴＨＲ＿２ＴＲＳ  …  ＴＨＲ＿ＮＴＲＳ］Ｔ
ＴＷＳ’＝［ＴＷＳ＿１  ＴＷＳ＿２  …  ＴＷＳ＿Ｎ］
である。また、（ＴＷＳ’）＋はＴＷＳ’の擬似逆行列である。ここで、算出した４×４行列ＴＨＷは第１の実施形態と同じく、センサ座標系からワーク座標系への姿勢変換を行う３×３の回転行列ＲＨＷ、ワーク座標系からロボットハンド座標系への位置変換を行う３列の並進ベクトルにより構成される。そのため、同様の方法で位置姿勢を表す６つのパラメータを求めればよい。ここで算出した６つのパラメータを把持位置姿勢として記録することで把持位置姿勢の教示を行う。本実施形態は、以上のように把持状態のロボットハンドの位置姿勢とワークの位置姿勢との組を複数取得して用いるため、ワークの位置姿勢の偶然誤差等の影響を低減し、より高精度に変換ＴＨＷを導出することができる。
【００５３】
なお、上述の方法により算出した把持位置姿勢の６つのパラメータに対して、さらにＧａｕｓｓ−Ｎｅｗｔｏｎ法などの非線形最適化手法を適用してもよい。その場合、ステップＳ４０３で取得した各ワークの位置姿勢および本ステップで求めた把持位置姿勢に基づき算出したロボットハンドの位置姿勢と、ステップＳ４０４で取得したロボットハンドの位置姿勢との、６パラメータの差分値を算出する。そして、この差分値を把持位置姿勢の微小変化の関数として線形近似により表現し、この差分値が０となるように線形方程式を立式する。そして、線形方程式を連立方程式として解くことにより、把持位置姿勢の微小変化を求め、位置及び姿勢を補正する。なお、非線形最適化手法はＧａｕｓｓ−Ｎｅｗｔｏｎ法に限るものではない。例えば、より計算がロバストであるＬｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法によって行ってもよいし、よりシンプルな方法である最急降下法によって行ってもよい。また、共役勾配法やＩＣＣＧ法など、他の非線形最適化手法を用いてもよい。
【００５４】
以上述べたように、変形例１−１では、ワークの把持状態は維持したままロボットハンドの三次元位置姿勢を変更して、ワークの三次元位置姿勢の認識およびロボットハンドの位置姿勢の取得を複数回行う。そして、複数の対応関係を利用することで、把持位置姿勢の算出をより高精度に行う。なお、Ｎ回の計測により得られる、ロボットハンドおよびワークの位置姿勢の対応関係を用いて第１の実施形態と同様の方法により、把持位置姿勢の６パラメータをそれぞれ求め、Ｎ個の位置姿勢のパラメータを平均化することで高精度化を行ってもよい。ただし、姿勢を表す３パラメータに関しては単純に値を平均化するとＮ個の姿勢を補間する正しい姿勢が得られない。そのため、四元数表現に変換したＮ個の姿勢を対数空間に写像して加重平均をとったのち、指数写像を行って四元数に戻すことで、姿勢の平均を得られる。また、Ｎ＝２の場合には、２つの姿勢をそれぞれ四元数表現に変換した後、両者の球面線形補間をとることで求めてもよい。
【００５５】
（第２の実施形態）
第２の実施形態では、ワークがある軸に対して回転対称な形状の場合に、把持位置姿勢の教示と合わせて、ワークの回転対称性を規定する軸（以下、対称軸と呼ぶ）も合わせて算出する方法について述べる。
【００５６】
一般的にビジョンシステムでは、山積み中の任意の位置姿勢のワークを認識するため、三次元位置と３軸姿勢から成る６パラメータを算出する。このビジョンシステムにおいて回転対称なワークを対象とした場合、ワークを対称軸回りに回転させた複数の姿勢において観測情報が同一となる。ビジョンシステムはそれらの姿勢を区別できないため、ある姿勢のワークに対して複数の解を出力する。したがって、教示しておいた把持位置姿勢に基づき把持を行う場合、アプローチするロボットハンドの位置姿勢がビジョンシステムで認識した三次元位置姿勢に依存してしまう。その結果、実際にはワークの対称軸回りにロボットハンドを回転させた別の位置姿勢でも把持可能なのにもかかわらず、これらの選択肢を利用できない。
【００５７】
そこで、把持教示結果に加え、ワークの対称軸を利用することで別の位置姿勢も把持候補として利用できるよう、ワークの対称軸をあらかじめ推定する。具体的には、ビジョンシステムによりワークを認識する際の対称軸まわりの姿勢の不定成分に基づき、対称軸の算出を行う。
【００５８】
第２の実施形態にかかる情報処理装置２の装置構成を図５に示す。第２の実施形態の情報処理装置２は、第１の実施形態と同様に、ロボットハンド２０、ロボットアーム２１、制御部２２、計測部２４に接続され、ロボットハンド位置姿勢取得部２３、ワーク位置姿勢取得部２５、相対位置姿勢に導出部２６により構成される。そして、それぞれの各部は、図１におけるロボットハンド１０、制御部１２、ロボットハンド位置姿勢取得部１３、計測部１４、ワーク位置姿勢取得部１５、相対位置姿勢導出部１６と同様であるため省略する。したがって、ここでは、対称軸導出部２７についてのみ説明する。
【００５９】
対称軸導出部２７は、相対位置姿勢導出部２６により導出された相対位置姿勢に基づき、ワークの対称軸を導出する。図６を用いて対称軸導出部２７についてさらに説明する。
【００６０】
図６（ａ）は回転対称形状のワークに対して第１の実施形態と同様の方法により把持位置姿勢を算出する例を示している。回転対称形状のワークに対しては、ワーク位置姿勢取得部２５によりワークの位置姿勢を算出する際に、ワークの回転軸回りの姿勢成分が不定となる。したがって、たとえば、図６（ｂ）のようなワークの位置姿勢を算出する場合もあれば、図６（ｃ）に示す位置姿勢を算出する場合もある。そのため、図６（ａ）および図６（ｂ）のワーク認識結果に基づきそれぞれ算出される把持位置姿勢は、互いに、ロボットハンドをワークの対称軸軸回りに回転させた位置姿勢となる。そこで、ロボットハンドとワークとの把持状態を変えずに、ワークの位置姿勢算出および把持位置姿勢算出を２回行う。そして、算出された２つの把持位置姿勢間の相対位置姿勢に基づき、ワークの位置姿勢算出が不定となるように対称軸を算出する。
【００６１】
図７に、本実施形態の基本的な処理フローを示す。なお、ステップＳ５０１〜ステップＳ５０４の処理はそれぞれ図３のステップＳ３０１〜ステップＳ３０４と同様である。また、ステップＳ５０６〜ステップＳ５０７の処理はそれぞれ図３のステップＳ３０６〜ステップＳ３０７と同様のため、説明を省略する。したがって、ここではステップＳ５０５、ステップＳ５０８、ステップＳ５０９についてのみ説明を行う。
【００６２】
（ステップＳ５０５）
ステップＳ５０５においては、相対位置姿勢導出部２６は、ステップＳ３０５と同様の処理を行うことで、第一の把持位置姿勢を表す６つのパラメータを算出する。ここでは、図６（ａ）の把持状態のワークに対して、図６（ｂ）に示すようなワーク位置姿勢導出結果が得られたものとし、この結果に基づいて第一の把持位置姿勢を表す６パラメータが算出されたものとする。ここで算出された６パラメータにより表現される４×４行列をＴＨＷ＿ＢＡＳＥと呼ぶことにする。相対位置姿勢導出部２６は、導出した第１の把持位置姿勢を表すパラメータを対称軸導出部２７に送出する。
【００６３】
（ステップＳ５０８）
ステップＳ５０８においては、相対位置姿勢導出部２６は、ステップＳ５０５と同様の処理を行うことで、第二の把持位置姿勢を表す６つのパラメータを算出する。ここでは、図６（ａ）の把持状態のワークに対して、図６（ｃ）に示すようなワーク認識結果が得られたものとし、この結果に基づき、第二の把持位置姿勢を表す６パラメータが算出されたものとする。ここで算出された６パラメータにより表現される４×４行列をＴＨＷ＿ＲＥＦと呼ぶことにする。相対位置姿勢導出部２６は、導出した第２の把持位置姿勢を表すパラメータを対称軸導出部２７に送出する。
【００６４】
（ステップＳ５１１）
ステップＳ５１１においては、対称軸導出部２７は、２つの４×４行列ＴＨＷ＿ＢＡＳＥおよびＴＨＷ＿ＲＥＦからワークの対称軸を導出（算出）する。具体的には、求めるワークの対称軸に基づき、第一の把持位置姿勢におけるロボットハンドを回転させることで、第二の把持位置姿勢と一致するように対称軸を算出する。まず、２つの第一の把持位置姿勢ＴＨＷ＿ＢＡＳＥ、ＴＨＷ＿ＲＥＦ間の変換を行う、３×３の回転行列、３列の並進ベクトルをそれぞれ、Ｒ’、ｔ’とする。このとき、２つの第一の把持位置姿勢間の変換を、４×４行列Ｔ’を用いて以下のように表すことができる。
ＴＨＷ＿ＲＥＦ＝Ｔ’ＴＨＷ＿ＢＡＳＥ                            （式１０）
【００６５】
【数５】
2015199155.tif 000007
【００６６】
したがって、Ｔ’は以下により求めることができる。
Ｔ’＝ＴＨＷ＿ＲＥＦ（ＴＨＷ＿ＢＡＳＥ）−１                      （式１１）
さらに、式１１より算出したＴ’における３×３の回転行列Ｒ’を以下で表す。
【００６７】
【数６】
2015199155.tif 000008
【００６８】
このとき、求める対称軸は、ワーク座標系の原点から対称軸の中心位置までの並進成分を表すベクトルｔ’、および対称軸の向きを表現するベクトルＡｘｉｓにより表現できる。なお、Ａｘｉｓは以下の数１２で求めることができる。
Ａｘｉｓ＝［ｒ３２−ｒ２３，ｒ１３−ｒ３１，ｒ２１−ｒ１２］Ｔ        （数１２）
なお、対称軸Ａｘｉｓは別の方法で求めてもよい。たとえば、第一の把持位置姿勢ＴＨＷ＿ＢＡＳＥおよび第二の把持位置姿勢のそれぞれの姿勢を表す３パラメータを四元数表現に変換し、双方の変換を行うような四元数パラメータを求めた後、回転軸回転角表現に変換を行い、求まった軸を対称軸としてもよい。
【００６９】
本実施形態では、第一の把持位置姿勢を表す６つのパラメータを最終的な把持位置姿勢とし、さらに式１２で算出した軸を表すベクトルｔ’およびＡｘｉｓを把持位置姿勢と合わせて記録しておく。なお、最終的な把持位置姿勢には、第二の把持位置姿勢を記録してもかまわない。
【００７０】
これにより、認識した任意の三次元位置姿勢のワークに対して、そのワークを把持できるロボットハンドの位置姿勢を計算することができるだけでなく、ロボットハンドを対称軸回りに回転させた位置姿勢も把持候補として選択することができる。具体的には、ビジョンシステムで認識したワークの位置姿勢をＴＷＳ’とすると、そのワークを把持できるロボットハンドの位置姿勢ＴＨＲ’は、記録しておいた６パラメータにより表現されるＴＨＷ＿ＢＡＳＥ、Ａｘｉｓ、ｔ’を用いて以下により算出できる。
ＴＨＲ’＝ＴＴＨＷ＿ＢＡＳＥＴＷＳ’（ＴＲＳ）−１                （式１３）
ここで、
【００７１】
【数７】
2015199155.tif 000009
【００７２】
である。なお、Ｒは対称軸Ａｘｉｓ回りに任意の角度だけ回転を行う回転行列である。
【００７３】
以上述べたように第２の実施形態では、ワークがある軸に対して回転対称な形状である場合に、把持位置姿勢の教示と合わせて、ワークの対称軸も合わせて算出する方法について述べた。これにより、教示した把持位置姿勢に基づき算出した位置姿勢だけでなく、ロボットハンドをワークの対称軸回りに回転させた位置姿勢も把持を行う際の候補として取り扱えるため、ワークの把持可能性を高めることが可能となる。すなわち、山積み状態から認識されたワークの位置姿勢に基づいて導出されたハンドの位置姿勢がロボットアームの動作可能範囲を超える場合や特異点に当たるような場合でも、対象軸周りに新たなハンドの位置姿勢を導出することが可能となる。
【００７４】
なお、ステップＳ５１１の処理において、算出した回転行列Ｒ’により表される回転角をφとして、φが非常に小さい場合（たとえばφ＝０．００１°）には、軸の算出が不安定となっていることが予想される。そのため、φが大きな値となるまでステップＳ５０６〜ステップＳ５１０の処理を実施し直してもよい。また、本実施形態ではステップＳ５０５およびステップＳ５０８で算出した２つの把持位置姿勢に基づき、ワークの対称軸を算出したが、それぞれの把持位置姿勢算出に利用したワーク認識結果に基づき、ワークの対称軸を算出してもよい。また、変形例１−１と同様、ワーク計測を複数回行うことで把持位置姿勢および対称軸の算出を高精度化してもよい。
【００７５】
（第３の実施形態）
第１および第２の実施形態では、ロボット・センサ間のキャリブレーションが事前に実施され、既知であるものとして把持位置姿勢の算出のみを行った。これに対して、第３の実施形態では、ワークの把持状態は維持したまま、ロボットハンドの位置姿勢を複数変更してワークの三次元位置姿勢の認識およびロボットハンド位置姿勢の取得を行う。そして、これら複数の対応関係を利用することで、把持位置姿勢の算出と同時に、ロボット・センサ間の位置姿勢の推定も行う方法について述べる。第１の実施形態の方法では、センサ・ロボット間のキャリブレーションおよびロボット・ロボットハンド間のキャリブレーションを事前に別途行う必要がある。しかし本実施形態ではこれらを行う必要がなくなり、作業のさらなる効率化を図ることができる。
【００７６】
なお、第３の実施形態の装置構成は、第１の実施形態と同様であるため省略する。また、本実施形態の基本的な処理フローは図４に示した変形例１−１とほぼ同様である。したがって、ここでは、変形例１−１と異なる処理である、ステップＳ４０１、ステップＳ４０８についてのみ説明を行う。
【００７７】
（ステップＳ４０１）
ステップＳ４０１において、ステップＳ３０１の処理と同様に、制御部１２は、ロボットアーム１１の制御範囲内に設置されたワークを把持できる位置姿勢へロボットアーム１１を動かす。そして、ロボットハンド１０の把持機構を利用してワークを把持する。ただし、本実施形態においては、センサ座標系におけるロボットの位置姿勢を表す６つのパラメータは未知である点が異なる。すなわち、センサ座標系ＸＳ＝［ＸＳ，ＹＳ，ＺＳ］Ｔからロボット座標系ＸＲ＝［ＸＲ，ＹＲ，ＺＲ］Ｔへの変換を表す４×４行列ＴＲＳは未知である。
【００７８】
（ステップＳ４０８）
ステップＳ４０８において、Ｎ回の計測により得られたＴＨＲ＿ｉ、ＴＷＳ＿ｉ（ｉ＝０〜Ｎ−１）のＮ個の対応関係を利用してワークの把持位置姿勢を表現する６つのパラメータを導出する。また、さらに、センサ座標系におけるロボットの位置姿勢を表現する６つのパラメータも算出する。具体的には、各計測により得られた対応関係に対して、以下の関係が成り立つようなＴＨＷおよびＴＲＳを求める。
ＴＨＲ＿ｉＴＲＳ＝ＴＨＷＴＷＳ＿ｉ                              （式１４）
式１４の方程式を解くことでワークの把持位置姿勢およびセンサ・ロボット間の相対位置姿勢を求める。ここで、式１４の方程式は、例えば以下の非特許文献で開示される方法と同様にして解くことができる。
Ｆ．  Ｄｏｒｎａｉｋａ，  “Ｓｉｍｕｌｔａｎｅｏｕｓ  ｒｏｂｏｔ−ｗｏｒｌｄ  ａｎｄ  ｈａｎｄ−ｅｙｅ  ｃａｌｉｂｒａｔｉｏｎ，”  ＩＥＥＥ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ  Ｓｏｃｉｅｔｙ，  ｖｏｌ．１４，  ｉｓｓｕｅ４，  ｐｐ．６１７−６２２，  １９９８
この方法では、ロボットハンドに取り付けたツールを三次元空間上で複数の位置姿勢に配置するとともにカメラで計測を行うことで各三次元位置姿勢を検出する。そして、両者の対応を複数用いて、ロボット・センサ間およびロボット・ハンドツール間の相対位置姿勢を算出している。具体的には、ツール座標系とセンサ座標系との相対位置姿勢をＡ（既知）、ロボットハンド座標系と基準座標系との相対位置姿勢をＢ（既知）とする。さらにロボットハンド座標系とツール座標系との相対位置姿勢をＸ（未知）、基準座標系とカメラ座標系との相対位置姿勢をＺ（未知）とする。このとき、Ａ、Ｂの複数の対応を用いて以下の方程式を解くことで未知パラメータＸ、Ｚを同時に求める。
ＡＸ＝ＺＢ                                              （式１５）
式１４の方程式において、既知のパラメータＴＨＲ＿ｉおよびＴＷＳ＿ｉをそれぞれＡ、Ｂ、未知のパラメータＴＲＳおよびＴＨＷをそれぞれＸ、Ｚとおくことで、式１５と同様の方程式に置きかえることができる。したがって、同様の解法を用いてＴＨＷおよびＴＲＳを求めることができる。
【００７９】
この方程式を解くことで算出したＴＨＷより、第１の実施形態と同様に、ワーク座標系からロボットハンド座標系への変換を行う３×３の回転行列、３列の並進ベクトルを表す６つのパラメータを求める。さらに、同様に算出したＴＲＳより、センサ座標系からロボット座標系への変換を行う３×３の回転行列、３列の並進ベクトルを表す６つのパラメータを求める。
【００８０】
以上述べたように、第３の実施形態では、ワークの把持状態は維持したまま、ロボットハンドの位置姿勢を複数変更してワークの三次元位置姿勢の認識およびロボットハンド位置姿勢の取得を行う。そして、これら複数の対応関係を利用することで、把持位置姿勢の算出と同時に、ロボット・センサ間の位置姿勢の推定も行う方法について述べた。この方法により、実施例１では、事前に別途作業が必要であった、センサ・ロボット間のキャリブレーションおよびロボット・ロボットハンド間のキャリブレーションを行う必要がなくなり、把持位置姿勢の教示作業のさらなる効率化を図ることができる。
【００８１】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００８２】
１０  ロボットハンド
１１  ロボットアーム
１２  制御部
１３  ロボットハンド位置姿勢取得部
１４  計測部
１５  ワーク位置姿勢取得部
１６  相対位置姿勢導出部
【図１】
2015199155.tif 000010
【図２】
2015199155.tif 000011
【図３】
2015199155.tif 000012
【図４】
2015199155.tif 000013
【図５】
2015199155.tif 000014
【図６】
2015199155.tif 000015
【図７】
2015199155.tif 000016
【図８】
2015199155.tif 000017