(57)【要約】【課題】例えば、物体を把持するのに把持部の位置・姿勢に自由度を有する物体に対する把持部による把持の可否の判定に有利な情報処理装置を提供する。【解決手段】情報処理装置１００は、把持部による物体の把持の可否を判定する。情報処理装置は、前記物体の一部を把持するために教示された該一部に対する前記把持部の位置および姿勢の情報としての第１情報と、前記一部の対称性の情報としての第２情報と、前記把持部により把持されるべき前記物体の位置および姿勢の情報としての第３情報と、前記把持部により把持されるべき前記物体の周りにある物体の配置の情報としての第４情報とを得る。情報処理装置は、前記第１ないし第４情報に基づいて、前記把持部により把持されるべき前記物体に対して前記対称性に基づいてとりうる前記把持部の複数の位置および姿勢に関して前記可否の判定を行う処理部１０６を有する。【選択図】図１
2018176311.tif 000002
【特許請求の範囲】
【請求項１】
把持部による物体の把持の可否を判定する情報処理装置であって、
前記物体の一部を把持するために教示された該一部に対する前記把持部の位置および姿勢の情報としての第１情報と、前記一部の対称性の情報としての第２情報と、前記把持部により把持されるべき前記物体の位置および姿勢の情報としての第３情報と、前記把持部により把持されるべき前記物体の周りにある物体の配置の情報としての第４情報とを得、前記第１ないし第４情報に基づいて、前記把持部により把持されるべき前記物体に対して前記対称性に基づいてとりうる前記把持部の複数の位置および姿勢に関して前記可否の判定を行う処理部を有することを特徴とする情報処理装置。
【請求項２】
表示部を有し、
前記表示部は、前記複数の位置および姿勢のうちのそれぞれに関して前記判定の結果を表示する第１表示部分を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示部は、前記複数の位置および姿勢のうちの１つの位置および姿勢の指定を行うための第２表示部分と、前記指定を行われた前記１つの位置および姿勢をとる前記把持部と前記把持部により把持されるべき前記物体とを表示するための第３表示部分とを有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第２表示部分は、前記複数の位置および姿勢に係る複数の自由度のそれぞれに関して前記指定を行うための表示部分であることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第２表示部分は、前記対称性に係る軸の周りの回転の自由度に関して前記１つの位置および姿勢の指定を行うための表示部分であることを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記第２表示部分は、前記対称性に係る軸に沿った並進の自由度に関して前記１つの位置および姿勢の指定を行うための表示部分であることを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記第１表示部分は、前記自由度においてとりうる前記複数の位置および姿勢が無数にある場合であっても、その場合を近似して前記自由度において前記複数の位置および姿勢が離散的にあるものとして前記判定の結果を表示するための表示部分であることを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記第１表示部分は、前記複数の位置および姿勢が複数の自由度を有し、かつ特定の１の自由度の他の自由度において位置および姿勢が指定されている場合、前記特定の１の自由度において前記判定の結果を表示するための表示部分であることを特徴とする請求項２ないし７のうち何れか一項に記載の情報処理装置。
【請求項９】
前記第１表示部分は、前記複数の位置および姿勢が複数の自由度を有している場合、前記複数の自由度において前記判定の結果を表示するための表示部分であることを特徴とする請求項２ないし７のうち何れか一項に記載の情報処理装置。
【請求項１０】
前記第２表示部分は、前記１つの位置および姿勢の指定を行うための可動部分を有することを特徴とする請求項３に記載の情報処理装置。
【請求項１１】
前記可動部分は、特定の自由度においてとりうる前記複数の位置および姿勢が無数にある場合であっても、その場合を近似して前記自由度において前記複数の位置および姿勢が離散的にあるものとして、離散的に可動な部分であることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記可動部分は、前記複数の位置および姿勢が複数の自由度を有し、かつ特定の１の自由度の他の自由度において位置および姿勢が指定されている場合に、前記特定の１の自由度において前記１つの位置および姿勢の指定を行うための可動部分であることを特徴とする請求項１０に記載の情報処理装置。
【請求項１３】
把持部による物体の把持の可否を判定する情報処理方法であって、
前記物体の一部を把持するために教示された該一部に対する前記把持部の位置および姿勢の情報としての第１情報と、前記一部の対称性の情報としての第２情報と、前記把持部により把持されるべき前記物体の位置および姿勢の情報としての第３情報と、前記把持部により把持されるべき前記物体の周りにある物体の配置の情報としての第４情報とを得、
前記第１ないし第４情報に基づいて、前記把持部により把持されるべき前記物体に対して前記対称性に基づいてとりうる前記把持部の複数の位置および姿勢に関して前記可否の判定を行う、
ことを特徴とする情報処理方法。
【請求項１４】
前記複数の位置および姿勢のうちのそれぞれに関して前記判定の結果の表示を行うことを特徴とする請求項１３に記載の情報処理方法。
【請求項１５】
前記表示は、前記複数の位置および姿勢のうちの１つの位置および姿勢の指定を行うための表示と、前記指定を行われた前記１つの位置および姿勢をとる前記把持部と前記把持部により把持されるべき前記物体との表示とを伴うことを特徴とする請求項１４に記載の情報処理方法。
【請求項１６】
請求項１３ないし１５のうち何れか一項に記載の情報処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１７】
把持部により把持されるべき物体の位置および姿勢の情報を得る請求項１ないし１２のうち何れか一項に記載の情報処理装置と、
前記情報処理装置により得られた前記情報に基づいて前記物体を把持して移動させるロボットと、
を有することを特徴とするシステム。
【請求項１８】
把持部により把持されるべき物体の位置および姿勢の情報を得る請求項１ないし１２のうち何れか一項に記載の情報処理装置により得られた前記情報に基づいて前記物体を把持して移動させる工程と、
前記工程で移動させられた前記物体の処理を行う工程と、
を有し、前記処理を行われた前記物体から物品を製造することを特徴とする物品製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラム、システム、および物品製造方法に関する。
【背景技術】
【０００２】
工場などの生産ラインにおいて、バラ積みされた物体の中から一個体をビジョンシステムを用いて特定し、その位置および姿勢（以下、「位置・姿勢」とも記す）を計測して、ロボットに取り付けたハンド（把持部）により把持を行う技術が近年開発されている。バラ積みされたワークは多様な姿勢をとることになるため、このビジョンシステムにおいて、ワークの３次元空間内での位置とともに３軸姿勢も求めることが行われている。これに加えて、認識したワークに対して、ハンドがどのような位置、姿勢に基づいてアプローチして把持を行うかを教示しておき、ワークとハンドとの位置・姿勢に基づきハンドを動作させることで、バラ積み中の任意の位置・姿勢の物体のピッキングを行う。ここで、位置・姿勢を認識したワークに対し、予め設定しておいた把持方法でハンドが把持可能であるかどうかを判定する必要がある（把持可否判定）。なぜなら、ワークを把持するためのハンドの位置・姿勢（把持位置姿勢）は、３次元空間においてハンドが取り得ない位置・姿勢であったり、認識したワークとは別の物体と干渉する位置・姿勢であったりする可能性を持っているからである。様々な位置・姿勢を取りうるワークに対し、ユーザが設定した把持位置姿勢でハンドが把持できるかどうかの判定は、ワークの形状や山積みの状態によるところが大きい。
【０００３】
そのため、予め生産ラインと同じようなバラ積み状態を作った上でワークの位置・姿勢の認識から把持可否判定まで実施し、把持可否判定の結果を受けて把持方法の最適化のための検討を事前に実施しておくことが望ましい。そのような事前検討（ワーク把持テスト）を効率的に実施するために、ワークの認識結果と把持可否判定結果を画面に表示する技術が知られている。ここでは、ユーザは画面に表示された情報を参考にすることで、ハンドの把持方法の改善、或いはワークの計測条件の改善を実施できる。図２７は画面表示の一例である。図２８にワークに対するハンドの把持位置姿勢の教示例を示す。把持位置姿勢の教示方法としては、実際に計測空間内にワークとロボットを配置した上で、予めワークの認識位置姿勢の情報とロボットの駆動によるハンドの把持位置姿勢の情報とを取得しておく方法が知られている。
【０００４】
図２８のように予め把持位置姿勢を教示してある前提で、図２７の画面２７０１においてワークの認識結果及びハンドの把持可否判定結果を確認する。画面２７０１上で、計測に関する諸パラメータを設定した上でテスト開始ボタン２７０２を押下することでワークの認識処理が実施される。ワークの位置・姿勢が特定されると、予め教示した把持情報を用いてハンドの把持位置姿勢が特定され、把持可否判定が実施される。ワークの位置・姿勢、ハンドの把持位置姿勢、及び把持可否判定結果は、撮影画像２７０３に重畳表示される。ユーザは重畳表示されるワーク形状モデル２７０５とハンド形状モデル２７０６により、どのワークが認識され、ハンドがどのようにワークを把持するのかを確認することができる。また、認識結果一覧２７０４には、ワークの位置・姿勢推定の評価値等の順番で、認識したワークごとの位置・姿勢とハンドの把持可否判定結果が表示される。ユーザは認識結果一覧２７０４に表示される内容を参考に、把持方法の改善や計測パラメータの改善を実施することができる。
【０００５】
ここで、把持しようとする物体が形状の対称性をもっている場合は、認識した物体の姿勢に対し、対称軸について回転もしくは並進させたとしても物体の見え方が変わらない。このような物体については、認識した姿勢に対するハンドの把持位置姿勢が一意的に決まらないため、図２７に示したように、認識した姿勢ごとに一意的にハンドの把持位置姿勢を表示することができなくなる。物体がハンドの位置・姿勢に関して自由度を持つ場合にその情報を画面に表示する技術としては、特許文献１に示されるように、自由度をもつ方向を矢印等で画面上に重畳表示する方法が知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１５−５２４５６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の方法では、自由度を持つ方向について表示するが、当該自由度における把持部の複数の位置・姿勢のそれぞれで物体を把持可能であるかの情報は表示しない。そのため、ユーザは、把持部の位置・姿勢が自由度をもっていることは知ることができるが、当該自由度における把持部の把持可能な各位置・姿勢は知ることができない。本発明は、例えば、物体を把持するのに把持部の位置・姿勢に自由度を有する当該物体に対する当該把持部による把持の可否の判定に有利な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題に鑑み、本発明の一側面としての情報処理装置は、把持部による物体の把持の可否を判定する情報処理装置であって、前記物体の一部を把持するために教示された該一部に対する前記把持部の位置および姿勢の情報としての第１情報と、前記一部の対称性の情報としての第２情報と、前記把持部により把持されるべき前記物体の位置および姿勢の情報としての第３情報と、前記把持部により把持されるべき前記物体の周りにある物体の配置の情報としての第４情報とを得、前記第１ないし第４情報に基づいて、前記把持部により把持されるべき前記物体に対して前記対称性に基づいてとりうる前記把持部の複数の位置および姿勢に関して前記可否の判定を行う処理部を有する。
【発明の効果】
【０００９】
本発明によれば、例えば、物体を把持するのに把持部の位置・姿勢に自由度を有する当該物体に対する当該把持部による把持の可否の判定に有利な情報処理装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】発明の概念及び第１実施形態の情報処理装置を示した図。
【図２】第１実施形態におけるワークモデルとハンドモデルを示す図。
【図３】第１実施形態における回転対称性と並進対称性を説明する図。
【図４】第１実施形態における対称性情報を入力する画面の例を示す図。
【図５】第１実施形態における相対把持位置姿勢の登録方法の例を説明する図。
【図６】第１実施形態の自由度情報提示部とハンド位置姿勢指定部の例を示す図。
【図７】第１実施形態におけるワーク認識テスト画面の例を示す図。
【図８】第１実施形態における処理手順を示す図。
【図９】第１実施形態の自由度情報提示部における表示方法の例を説明する図。
【図１０】第１実施形態の自由度情報提示部及びハンド位置姿勢指定部の変形例の図。
【図１１】第２実施形態におけるワークモデルと自由度情報提示部を示す図。
【図１２】第２実施形態における対称性情報を入力する画面の例を示す図。
【図１３】第２実施形態における処理手順を示す図。
【図１４】第４実施形態の自由度情報提示部とハンド位置姿勢指定部の例の図。
【図１５】第４実施形態の変形例における処理手順を示す図。
【図１６】第５実施形態におけるワークモデルを示す図。
【図１７】第５実施形態の自由度情報提示部とハンド位置姿勢指定部の例を示す図。
【図１８】第６実施形態におけるワークモデルを示す図。
【図１９】第６実施形態における処理手順を示す図。
【図２０】第６実施形態における対称性情報を入力する画面の例を示す図。
【図２１】第６実施形態の自由度情報提示部とハンド位置姿勢指定部の例を示す図。
【図２２】第７実施形態におけるワークモデルを示す図。
【図２３】第７実施形態における処理手順を示す図。
【図２４】第７実施形態の自由度情報提示部とハンド位置姿勢指定部の例を示す図。
【図２５】本願発明にかかる情報処理装置のハードウェア構成を示す図。
【図２６】ロボットアームを含む制御システムを示す図。
【図２７】従来のワーク認識結果及び把持可否判定結果の確認画面を示した図。
【図２８】ハンドの把持位置姿勢の教示例を示した図。
【発明を実施するための形態】
【００１１】
発明の考え方は、図１（ａ）に示すように、把持部（ハンド）による、少なくとも一部が形状の対称性を持つ物体（ワーク）の把持可否を判定する処理部が、物体、把持部などの情報に基づいて、複数の場合に対する把持可否の判定を行う。前記情報には、物体の一部を把持するために教示された該一部に対する把持部の位置および姿勢の情報としての第１情報、前記一部の対称性の情報としての第２情報がある。また、把持部により把持されるべき物体の位置および姿勢の情報としての第３情報、把持部により把持されるべき物体の周りにある物体の配置の情報としての第４情報がある。前記複数の場合は、例えばハンドが自由度をもつ範囲内でハンドが取り得る把持姿勢が複数存在する場合に係わり、把持部により把持されるべき物体に対して前記対称性に基づいてとりうる把持部の複数の位置および姿勢に関する。物体の対称性の情報、把持部の把持位置姿勢の情報、把持されるべき物体の情報、把持されるべき物体の周りの環境の情報などは入力として処理部に入れることができる。判定結果は、表示部などに出力することができる。これにより、例えば、把持部（ハンド）の把持位置姿勢が自由度をもつような形状の物体（ワーク）について、把持可否判定の結果、そのときの把持位置姿勢の情報などをユーザが画面上で容易に確認できる情報処理装置などを実現することができる。
【００１２】
以下に、本発明の実施形態を添付の図面に基づいて詳細に説明する。本発明に係る実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェア構成について、図２５を用いて説明する。図２５は、情報処理装置のハードウェア構成図である。同図において、ＣＰＵ２５０１は、バス２５００を介して接続する各デバイスを統括的に制御する。オペレーティングシステム（ＯＳ）をはじめ、各実施形態に係る処理プログラム、デバイスドライバ等はＲＯＭ２３０２に記憶されており、ランダムアクセスメモリ（ＲＡＭ）２５０３に一時記憶され、ＣＰＵ２５０１によって適宜実行される。また、入力Ｉ／Ｆ２５０４は、外部の装置（センサ、走査装置など）から、情報処理装置で処理可能な形式の入力信号を入力する。また、出力Ｉ／Ｆ２５０５は、外部の装置（例えばロボットコントローラ）が処理可能な形式の出力信号を出力する。
【００１３】
＜第１実施形態＞
第１実施形態では、対称回数が十分に大きな値となる回転対称性をもつ形状（回転体形状）を含むワークについて、ハンドの把持可否判定結果及びハンド把持位置姿勢を取得して、表示する方法について説明する。具体的には、予め教示しておいた、ワーク内の形状の回転対称性を持つ箇所についてのハンド把持位置姿勢の情報を用いて、教示した把持位置姿勢を回転対称軸周りに回転させた場合の各回転角度における把持可否判定結果を画面上に表示する。また、ユーザが指定した回転角度に対応した姿勢で、ハンドモデルを画面上に重畳表示する。
【００１４】
図１（ｂ）は第１実施形態の情報処理装置の図である。本実施形態の情報処理装置１００は、図１（ｂ）に示すように、モデル情報保持部１０１、ワークの位置・姿勢の算出部１０２、対称性情報設定部１０３、把持教示部１０４、ハンド把持位置姿勢情報保持部１０５、把持可否判定部１０６、表示部１０７を含む。ハンド把持位置姿勢情報保持部は、以下の説明ではハンド情報保持部と略す。表示部１０７はさらに、自由度情報提示部１０８、ハンド位置姿勢指定部１０９、モデル表示部１１０を含む。また、情報処理装置１００は撮像装置１１１に接続されているが、撮像装置１１１を含めて一体として情報処理装置として構成しても良い。
【００１５】
以下、情報処理装置１００の各部について説明する。
モデル情報保持部１０１は、バラ積みされているワークの３次元形状モデルと、認識したワークを保持するハンドの３次元形状モデルを保持する。これらの３次元形状モデルには、例えば、ワーク及びハンドの３次元形状を複数ポリゴンの組み合わせにより近似表現したポリゴンモデルを用いることができる。各ポリゴンは、表面上の位置（３次元座標）と、面を近似するポリゴンを構成するための各点の連結情報によって構成される。
【００１６】
なお、ポリゴンは三角形で構成されるのが一般的であるが、四角形や五角形であっても良い。その他、表面点の３次元座標とその連結情報により物体形状を近似表現できるポリゴンモデルであれば如何なるものでもよい。或いは、３次元形状モデルとして、ＣＡＤデータのように、Ｂ−Ｒｅｐ（Ｂｏｕｎｄａｒｙ−Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）表現と呼ばれる、区分されたパラメータ曲面の集合で形状を表現したモデルであってもよい。その他、ワーク及びハンドの３次元形状を表現可能なモデルであれば如何なるものであってもよい。
【００１７】
ワークモデルには予め重心位置等を基準とした座標系（ワーク座標系）が設定されているとする。図２（ａ）に本実施形態で取り扱うワーク２０１のモデル形状とワーク座標系を示す。また、ハンドモデルには予め重心位置等を基準とした座標系（ハンド座標系）が設定されているものとする。図２（ｂ）に本実施形態で取り扱うハンド２０２のモデル形状とハンド座標系を示す。図２（ｂ）におけるハンド形状は、二指のハンドを開いた状態の形状を表したものである。ハンドモデルはワーク形状に応じて把持に適したものを利用すればよい。例えば、二指ではなく三指の開閉ハンドを用いる場合や吸着式のハンドを用いる場合においても、利用するハンド形状に合わせた３次元形状モデルを入力すればよい。
【００１８】
モデル情報保持部１０１は、メモリやハードディスクなどで構成されるが、記憶媒体等からワークモデル及びハンドモデルを取得してもかまわない。保持されるワークモデルは、対称性情報設定部１０３、把持教示部１０４、表示部１０７内のモデル表示部１１０に入力される。また、保持されるハンドモデルは、把持教示部１０４、モデル表示部１１０に入力される。
【００１９】
ワーク位置姿勢算出部１０２は、バラ積みされた多数のワークの中から一個体を検出するとともに、検出したワークの位置・姿勢を撮像装置１１１における座標系（センサ座標系）で算出する。本実施形態では、撮像装置１１１により距離画像及び濃淡画像を取得可能である。まず、取得した距離画像及び濃淡画像に対して事前学習した分類木を用いた投票を行うことで、バラ積み中からワーク一個体の検出及びおおまかな位置・姿勢を算出する。その後、算出したおおまかな位置・姿勢から、ワークの３次元形状モデルを距離画像及び濃淡画像にフィットするように位置・姿勢を補正することで、ワークの高精度な位置・姿勢を算出する。ただし、センサ座標系におけるワークの位置・姿勢の算出方法は他の方法であってもかまわない。例えば、前段の一個体の検出において、多数の姿勢から観測した画像とのパターンマッチングを行ってもよい。或いは、後段の高精度な位置・姿勢の算出において、距離画像のみ或いは濃淡画像のみを用いてフィッティングを行ってもよい。その他、バラ積み中から把持対象となる一個体を発見し、その位置・姿勢を算出できる方法であれば、ここで述べた以外のいかなる方法であってもよい。
【００２０】
ワーク位置姿勢算出部１０２は、算出したセンサ座標系におけるワークの位置・姿勢について、事前にキャリブレーションにより求めておいた「撮像装置・ロボット間の位置姿勢」を用いて、ロボット座標系におけるワークの位置・姿勢へ変換することができる。ワーク位置姿勢算出部１０２で算出されたワークの位置・姿勢の情報は、ハンド情報保持部１０５に入力される。
【００２１】
対称性情報設定部１０３は、ワーク形状の対称性についての情報を設定する。具体的には、モデル情報保持部１０１から取得したワークモデルについて、形状の対称性をもつ箇所の対称軸の情報と、対称性の属性の情報と、対称性の回数の情報と、形状の対称性をもつ範囲の情報を設定する。ここで、対称軸の情報は、軸の原点を表す３次元座標と、軸の方向を表す３次元ベクトルの組み合わせで構成される。対称性の属性とは、図３（ａ）に示される実線矢印の方向に対称性をもつような回転対称性、もしくは図３（ｂ）に示される実線矢印の方向に対称性をもつような並進対称性を指す。ここで、回転対称性とは、事前に設定したハンドの把持位置姿勢を対称軸周りに回転させても、ハンド視点での局所的な領域においてワークの位置・姿勢が同じように見えているような関係を指す。また、並進対称性とは、事前に設定したハンドの把持位置姿勢を対称軸に沿った方向に並進させても、ハンド視点での局所的な領域においてワークの位置・姿勢が同じように見えているような関係を指す。
【００２２】
対称性の回数とは、対称軸について対称性が維持される回転角度もしくは並進距離から決まる値である。例えば、円錐形状や円柱形状は、対称軸に対して回転対称な形状であるが、対称軸周りにこれらの形状を微小に回転させてもハンド視点からのワークの見えが変化しないため、これらは無限大（無数）の対称性の回数をもつ。一方、角錐形状や角柱形状も回転対称な形状であるが、３６０／Ｎ度（Ｎは２以上の整数）回転させると自らと重なる形状であるため、これらの形状の対称性の回数はＮとなる。形状の対称性をもつ範囲とは、ワークの形状の一部が対称性を持っている場合に、対称性をもつ領域を指定するための情報である。例えば、回転対称な形状のワークの場合は、対称軸周りの角度の範囲が指定され、並進対称な形状のワークの場合は、対称軸に沿った方向の長さの範囲が指定される。対称性情報設定部１０３で設定された情報（対称性情報）は、ワークモデル情報、ハンドモデル情報と合わせてハンド情報保持部１０５に入力される。
【００２３】
対称性情報設定部１０３における対称軸の情報の設定方法としては、まずワークモデルを仮想的な３次元空間上に表示し、ワークモデルに登録されているワーク座標系を並進移動もしくは回転移動させた座標系（対称形状座標系）を生成する。そして対称形状座標系のＸ、Ｙ、Ｚ軸のいずれかをワークの対称軸として登録する方法を用いるものとする。この場合の対称形状座標系の生成は、不図示のＧＵＩに表示されたワークモデル及びワーク座標系を確認しながら不図示の操作部でワーク座標系からの移動量の情報を与えるようなユーザ操作によって実施される。図４に、対称性情報を設定するＧＵＩの例を示す。図４においては、画面上でワーク座標系からの移動量を、図中のＸ、Ｙ、Ｚ各軸についての並進移動量と回転移動量で指定することで、対称形状座標系を設定できる。また、このＧＵＩ４００を用いて、指定した対称形状座標系Ｘ’、Ｙ’、Ｚ’軸のうち、対称軸として登録する軸を指定することもできる。さらに、対称性の属性について、回転対称か並進対称のどちらかを選択でき、選択した対称軸の対称回数や、対称形状の範囲を指定することもできる。対称回数については、無限回数か有限回数かを選択でき、有限回数を選択した場合には、さらに具体的な対称回数を入力することができる。
【００２４】
また、対称形状の範囲の指定方法としては、対称性の属性が回転対称の場合には、対称軸周りの或る角度を基準とした回転角度の範囲を開始角度と終了角度で指定できる。対称性の属性が並進対称の場合には、対称軸方向の長さの範囲を対称軸における開始座標と終了座標で指定できる。上記の諸パラメータを設定後、登録ボタンを押下することで、対称性情報が登録される。このとき登録される対称性情報には、固有のＩＤ（対称性情報ＩＤ）が割り振られ、対称性情報は対称性情報ＩＤに紐づけられて管理される。対称性情報ＩＤは画面上で指定することもでき、ユーザは登録する対称性情報に任意の対称性情報ＩＤを割り振ることができる。ここで、１つの対称形状座標系について登録できる対称軸や対称軸に紐づく情報は１つだけとは限らず、ワークの形状によっては２つまで設定することができる。例えば、図４ではＺ’軸方向のみを対称軸として設定しているが、ワークの形状によっては、Ｘ’軸もしくはＹ’軸を対称軸に追加することもでき、それぞれの対称軸についての対称回数や、対称形状の範囲も設定することができる。
【００２５】
図４で示したＧＵＩ４００においては、仮想的な３次元空間４０１にワークモデル２０１、ワークモデル２０１のワーク座標系、設定した対称形状座標系、及び対称形状の範囲を表示することができ、ユーザはこれらを確認しながら対称性情報を設定できる。なお、図４では、１つの対称形状座標系を指定してから、それに紐づく対称性情報を指定しているが、設定できる対称性情報の数は１つに限らず、複数設定しても構わない。その場合、一度必要な情報を入力してから登録ボタンを押下して、その後、対称性情報ＩＤを変更した上で画面上を操作して情報を変更し、登録ボタンを押下することで、複数の把持情報を登録することができる。本実施形態では、対称性情報を入力するための専用画面を用い、ユーザが必要な情報を入力することで対称性情報を設定する方法を説明した。しかし、これに限らず、必要な情報が記載されたデータファイルを予め用意しておき、これを読み込むことで対称性情報を設定しても良い。対称軸を設定する別の方法としては、上記の方法以外に、軸の原点座標やベクトル成分の値をユーザが直接入力することで設定しても構わない。また、ワーク座標系において対称軸を特定できるのであれば、対称軸は任意の軸であって構わない。さらに、対称軸として設定される情報は、対称軸の原点と対称軸の方向の情報に限らず、２組の３次元座標を対称軸ベクトルの始点と終点として設定してもよい。
【００２６】
また、本実施形態では、ユーザ操作により対称形状座標系をユーザ操作により実施する方法を用いるが、それに限らず、ワークモデルの形状情報から直接対象軸を推定しても構わない。例えば、平面、Ｂ−Ｓｐｌｉｎｅ曲面、トーラス曲面、円柱、円錐、円といったいずれかの属性を持つ解析曲面を輪郭線で切り取ったトリム曲面の集合であるワークモデルを用い、各解析曲面における固有の対称軸を算出しておく。ここで、固有の対称軸とは、例えば、解析曲面が回転対称であればその解析曲面における回転中心軸を指す。
【００２７】
次に、ワークモデルを構成する解析曲面に対応する対称軸ごとに、他の対称軸との始点の距離の類似度、軸の方向の類似度を算出する。例えば、解析曲面の数がＭであるとして、そのうちの解析曲面Ｆｉ（ｉ＝１〜Ｍ）の対称軸について、モデル座標系における始点位置が３次元座標ｐｉ、方向が三次元ベクトルｎｉで表されるとする。一方、Ｆｉとは異なる解析曲面Ｆｊ（ｊ＝１〜Ｍ）について、モデル座標系における始点位置が３次元座標ｐｊ、方向が三次元ベクトルｎｊで表されるとする。このとき、２軸間の始点間距離をｄ１、Ｆｊの始点をＦｉの対称軸へ投影した際のＦｉの対称軸の始点との距離をｄ２とすると、距離の類似度αｉｊは以下のように定義できる。
αｉｊ＝１／｜｜ｄ１−ｄ２｜｜
このとき、ｄ１＝｜｜ｐｊ−ｐｉ｜｜、ｄ２＝｜｜（ｐｊ−ｐｉ）・ｎｉ｜｜である。
また、ＦｉとＦｊの対称軸の方向の類似度βｉｊは以下のように定義できる。
βｉｊ＝｜｜ｎｊ・ｎｉ｜｜
【００２８】
次に、αｉｊ、βｉｊについて、事前に設定した閾値以上であるかどうか判断し、閾値以上である場合はＦｉｊの表面積Ｓｊを求め、その総和をＦｉの評価値Ｖｉとして算出する。この処理をＭ回繰り返し実施し、最も評価値の高い対称軸を抽出する。
【００２９】
把持教示部１０４は、モデル情報保持部１０１で保持されているワークモデルのワーク座標系とハンドモデルのハンド座標系に基づき、ワークの把持を行う際のワークとハンドとの相対位置姿勢（相対把持位置姿勢）を登録する。相対把持位置姿勢の登録には、例えば図５に示すように、ワークモデル２０１及びハンドモデル２０２を仮想空間上で操作して把持の際の幾何関係と同様に配置し、そのときの相対位置姿勢を取得する。或いは、実環境に配置したワークの位置・姿勢をビジョンシステムで認識後、ハンドがそのワークを把持できる位置姿勢にロボットアームを移動させ、そのときのハンドの位置姿勢を取得することで両者の相対位置姿勢を算出してもよい。その他、把持時のワークとハンドとの相対位置姿勢を決定できる方法であれば、相対把持位置姿勢の登録はいかなる方法で実施してもよい。ここで、一度に登録される把持情報は１つであり、登録される把持情報には固有のＩＤ（把持ＩＤ）が割り振られ、それぞれ管理される。
【００３０】
ハンド情報保持部１０５は、入力されたワークの位置・姿勢の情報と相対把持位置姿勢の情報とワークの対称性情報を用いて、ワークの形状の対称性を考慮したハンド把持位置姿勢の情報を算出して保持する。ここで算出されるハンド把持位置姿勢は、認識したワークの位置・姿勢に対して１対１の関係ではなく、把持ＩＤごとに、対称軸について対称回数の分だけの把持位置姿勢が算出される。例えば、ワークが回転対称な形状であり、かつ対称回数がＮで、対称形状の範囲が対称軸周りに３６０度である場合は、次のようになる。ワークの位置・姿勢と把持情報から求めたハンド把持位置姿勢（基準把持位置姿勢）について、対称軸周りに３６０／Ｎ度ずつ回転させた位置姿勢が算出される。このとき算出される位置姿勢の数は、基準把持位置姿勢を含めて計Ｎ姿勢である。算出された把持位置姿勢は、対称性情報のうち、対称軸の情報に紐づけられて登録される。
【００３１】
把持可否判定部１０６は、ハンド情報保持部１０５から入力された各ハンド把持位置姿勢（場合）について、把持可能であるか否かの判定処理を行う。把持の可否を判定する項目は、例えば３次元空間中のハンド姿勢の制約や、認識したワーク以外の物体とハンドとの干渉の有無である。把持可否判定部１０６における判定結果は、判定に用いられたハンド把持位置姿勢と１対１に紐づけられて保持される。
【００３２】
把持可否判定部１０６は、表示部１０７内の自由度情報提示部１０８またはハンド位置姿勢指定部１０９から入力された情報に従って、ハンド情報保持部１０５で算出されたすべての把持位置姿勢のうちの一部についてのみ把持可否判定を実施することもできる。
【００３３】
表示部１０７は、画面上にワークモデルやハンドモデルを重畳表示する。また、ハンド把持位置姿勢の自由度について、自由度をもつ範囲と、その自由度におけるパラメータに対する把持可否判定結果を表示する。表示部１０７はさらに、重畳表示するハンドモデルの位置姿勢を指定する。このような表示部１０７の機能は、表示部１０７に含まれる自由度情報提示部１０８、ハンド位置姿勢指定部１０９、モデル表示部１１０によって実現される。
【００３４】
自由度情報提示部１０８は、ワークの持つ形状の対称性によって生じるハンド把持位置姿勢の自由度について、自由度をもつ範囲と、その自由度におけるパラメータに対する把持可否判定結果を画面上に表示する。具体的には、対称性情報のうち、対称性をもつ範囲の情報と、対称性をもつ範囲内で算出された把持位置姿勢における把持可否判定結果を１つの表示器を用いて表示する。図６は、回転対称なワークで、かつ対称回数が無限大（無数）で３６０度の範囲で対称性をもつ場合についての自由度提示用表示器の例である。図６において、ハンド把持位置姿勢の自由度は、対称軸周りの回転角の基準を０度とした場合に−１８０度から１８０度の範囲で１次元的な表示器６０１に表現される。また、表示器６０１で表現されている回転角ごとの把持可否判定結果は、把持可能な場合と把持不可な場合のそれぞれに対応した色（図６では前者を白色で示し、後者を黒色で示す）を用いて表示器の中で表現される。この表示器６０１によって、ユーザは、登録した把持情報においてハンド把持位置姿勢の自由度をもつ範囲、及び各把持位置姿勢における把持可否判定結果を容易に把握することができる。なお、把持可否判定結果を表現するのは色の違いに限らず、２次元的なグラフで表現してもよく、例えば横軸の値を回転角度、縦軸の値を把持可否判定結果（１もしくは０の２値での表現）に対応させて表現しても構わない。
【００３５】
また、自由度情報提示部１０８では、対称回数が無限大の対称性をもつワークなどについて、近似値を用いて対称回数の制限を行うなど、ハンド情報保持部１０で算出された把持位置姿勢のうちの、把持可否判定を実施する位置姿勢を選択することができる。その場合、自由度情報提示部１０８で選択された把持位置姿勢の情報は、把持可否判定部１０６に送られる。
【００３６】
ハンド位置姿勢指定部１０９は、自由度情報提示部１０８において提示されたハンドの把持位置姿勢の自由度についてパラメータを指定することにより、モデル表示部１１０で表示させるハンドモデルの把持位置姿勢を指定する。図６において、表示させるハンドの把持位置姿勢指定用の表示器６０２を示す。表示器６０２では、表示器６０１と同様に対称軸周りの回転角が１次元的に表現されており、可動な部分である可動部分のスライダー６０３を左右に移動させることで、表示器６０１で表現された対称軸周りの回転角度に対応する把持位置姿勢を指定することができる。指定するハンドの把持位置姿勢は、任意のタイミングで変更することが可能である。なお、図６においては、ハンド位置姿勢指定部１０９は自由度情報提示部１０８とは別の表示器として示しているが、両者の機能を合わせて１つの表示器として表現してもよい。例えば、表示器６０２におけるスライダー６０３を表示器６０１内に設けてもよい。
【００３７】
また、ハンド位置姿勢指定部１０９では、ハンドの把持位置姿勢の自由度が２つ以上ある場合には、指定したパラメータに従属する把持位置姿勢を選択することができる。その場合、ハンド位置姿勢指定部１０９で選択された把持位置姿勢の情報は、把持可否判定部１０６に送られる。
【００３８】
モデル表示部１１０は、認識したワークの位置・姿勢でワークモデルを重畳表示するとともに、ハンド位置姿勢指定部１０９で指定されたハンドの把持位置姿勢でハンドモデルを画面上に重畳表示する。図７に、ワーク認識テストで用いる表示部である画面７００における、第３表示部分である撮影画像表示画面７０２の例を示す。ワーク認識テスト画面７００においては、ワーク計測に関するパラメータを設定後にテスト開始ボタンを押下することで、バラ積み状態のワークの撮像から把持可否判定までの一連の処理が実施される。また、第１表示部分である認識結果一覧７０１においては、ワークの位置・姿勢推定の評価値等の順番で、認識したワークごとの位置・姿勢とハンドの把持可否判定結果が表示される。ここで、認識結果一覧に表示される結果のうち、どれか１つの行を指定することで、指定したワークに対応する認識結果が撮影画像表示画面７０２に反映される。撮影画像表示画面７０２では、認識結果一覧７０１で指定されたワークの位置・姿勢でワークモデル２０１が重畳表示される。撮影画像表示画面７０２では、その他に、第２表示部分である表示器６０２で指定されたハンドの把持位置姿勢でハンドモデルが重畳表示される。
【００３９】
ここで、表示されるハンドモデルの色は、第１表示部分である表示器６０１で表示されている把持可否判定結果を反映しても良い。ユーザは表示するワークの位置・姿勢を認識結果一覧７０１から選択し、表示するハンドの把持位置姿勢を指定する。ユーザはそのように操作することで、ワークがどの位置・姿勢で認識され、そのワークを把持するハンドの位置姿勢がどのような自由度をもち、さらに想定される把持位置姿勢における把持可否判定結果がどうであるのかを容易に確認できる。把持可否判定結果はワークの位置・姿勢によっても変わるため、ユーザは認識結果一覧７０１に表示されている行の選択を切り替えることで、ワークごとの把持可否判定結果を確認することができる。ユーザは様々な位置・姿勢のワークについてのハンド把持位置姿勢の把持可否判定結果を確認することで、設定したハンド把持方法が、バラ積み状態のワークの把持に十分適しているかどうかを判断することができる。表示器６０２においてスライダー６０３を左右に動かした場合、スライダー６０３によって新たに指定された対称軸周りの回転角度が撮影画像表示画面７０２中で表示されているハンドモデル２０２の姿勢に反映される。つまり、スライダー６０３を動かすと、撮影画像表示画面中のハンドモデル２０２の姿勢が切り替わっていくように見える。また、スライダー６０３で選択した把持位置姿勢における把持可否判定結果が表示されており、ユーザは把持可否判定結果の詳細を確認することができる。
【００４０】
撮像装置１１１は、ワークの位置・姿勢を認識するために必要な計測情報を取得するセンサである。例えば、２次元画像を撮影するカメラでもよいし、各画素が奥行きの情報を持つ距離画像を撮影する距離センサでもよいし、これらを併用してもよい。距離センサとしては、対象に照射したレーザ光やスリット光の反射光をカメラで撮影し、三角測量により距離を計測する方式のほか、光の飛行時間を利用するＴｉｍｅ−ｏｆ−ｆｌｉｇｈｔ方式がある。また、ステレオカメラで撮影する画像から三角測量により距離を計算する方式も利用できる。その他、ワークの位置・姿勢を認識するのに必要な情報を取得できればいかなるセンサであってもよい。なお、撮像装置１１１は、ワークに対して上方または横方などに固定されていても良いし、またロボットハンドなどに備えつけられていてもよい。本実施形態では、距離画像及び濃淡画像をともに取得可能なセンサを利用するものとする。上述のとおり、撮像装置１１１が取得した計測情報はワーク位置姿勢算出部１０２に入力される。
【００４１】
図８は、本実施形態におけるワーク認識テスト用画面に必要な情報を算出する処理手順を示すフローチャートである。
（ステップＳ８０１）
ステップＳ８０１において、モデル情報保持部１０１は、ワークモデルとハンドモデルをそれぞれ取得し、保持する。
（ステップＳ８０２）
ステップＳ８０２において、対称性情報設定部１０３は、入力されるワークモデルの情報をもとにワークの形状の対称性の情報を設定する。ステップＳ８０２で設定される対称性の情報とは、対称軸の情報と、対称性の属性の情報と、対称性の回数の情報と、形状の対称性をもつ範囲の情報である。ワーク２０１のように、対称回数が無限大と分類される形状を有する場合は、情報処理装置１００で処理可能な範囲において、できる限り大きな対称回数となるように設定することが望ましい。しかしながら、情報処理装置１００の性能上、対称回数に無視できない程度の制約が生じる場合は、対称回数を有限の値に近似して設定しても良い。ワーク２０１のように回転対称な形状を有する場合は、対称軸周りの回転角について、回転角度の微小な差に起因するハンドの把持位置姿勢の違いが後述の把持可否判定結果に影響を及ぼさないような角度の差分Δθを予め設定しておく。このΔθを用いると、ワーク２０１が対称軸周りに回転角度３６０度の範囲で形状の対称性を有する場合には、対称回数をＮ＝３６０／Δθと近似的に算出することができる。以下、ワーク２０１の対称回数を、選択手段により、上記式で表現されるＮに離散度を用いて近似して設定したとして説明する。
【００４２】
（ステップＳ８０３）
ステップＳ８０３において、把持教示部１０４は、入力されるワークモデルとハンドモデルの情報をもとに、ワークとハンドの相対位置姿勢を表す６自由度パラメータを設定する。ここで、ワーク座標系からハンド座標系への姿勢変換を行う３×３の回転行列、位置変換を行う３列の並進ベクトルをそれぞれＲＷＨ、ｔＷＨとする。このとき、ワーク座標系ＸＷ＝［ＸＷ，ＹＷ，ＺＷ］Ｔからハンド座標系ＸＨ＝［ＸＨ，ＹＨ，ＺＨ］Ｔへの変換は、４×４行列ＴＷＨを用いて以下のように表すことができる。
ＸＷ’＝［ＸＷ，ＹＷ，ＺＷ，１］Ｔ，ＸＨ’＝［ＸＨ，ＹＨ，ＺＨ，１］Ｔ，
【００４３】
【数１】
2018176311.tif 000003
【００４４】
以降、ＴＷＨを相対把持位置姿勢、ＲＷＨを相対把持姿勢、ｔＷＨを相対把持位置、とそれぞれ呼称する場合がある。
【００４５】
上述の通り、一度に登録される把持情報は１つであり、把持情報には把持時のワークとハンドの相対位置姿勢の情報が含まれる。一度に登録される把持情報には把持ＩＤが割り振られる。ステップＳ８０３においては、把持情報の登録処理は一度だけとは限らず、ワークとハンドの相対位置姿勢を変えながら、把持情報を複数回登録しても良い。その場合、登録される把持情報にはそれぞれ固有の把持ＩＤが割り振られる。
【００４６】
（ステップＳ８０４）
ステップＳ８０４において、ワーク位置姿勢算出部１０２は、撮像装置１１１で取得した情報を入力として、バラ積みされた多数のワークの中から一個体を検出する。また、これとともに、検出したワークのロボット座標系における位置・姿勢を表す６つのパラメータを算出する。ここで算出した６つのパラメータに基づくロボット座標系からワーク座標系への座標変換において、姿勢を表す３つのパラメータで表現される３×３の回転行列をＲＲＷ、位置を表す３つのパラメータで表現される３列の並進ベクトルをｔＲＷとする。このとき、ロボット座標系ＸＲ＝［ＸＲ，ＹＲ，ＺＲ］Ｔからワーク座標系ＸＷ＝［ＸＷ，ＹＷ，ＺＷ］Ｔへの変換は、４×４行列ＴＲＷを用いて以下のように表すことができる。
【００４７】
ＸＷ’＝ＴＲＷＸＲ’
ここで、ＸＷ’、ＸＲ’は以下のとおりである。
ＸＷ’＝［ＸＷ，ＹＷ，ＺＷ，１］Ｔ、ＸＲ’＝［ＸＲ，ＹＲ，ＺＲ，１］Ｔ
【００４８】
【数２】
2018176311.tif 000004
【００４９】
以降、ＴＲＷを認識位置姿勢、ＲＲＷを認識姿勢、ｔＲＷを認識位置、とそれぞれ呼称する場合がある。
【００５０】
（ステップＳ８０５）
ステップＳ８０５において、ハンド情報保持部１０５は、次の算出を行う。即ち、ステップＳ８０２で設定のワーク形状の対称性情報と、ステップＳ８０３で設定のハンドの相対把持位置姿勢の情報と、ステップＳ８０４で算出のワークの認識位置姿勢の情報を入力として、ワーク形状の対称性を考慮したハンドの把持位置姿勢を算出する。
【００５１】
まず、ワークの認識位置姿勢について、相対把持位置姿勢の関係を満足しながらハンドで把持する位置姿勢（基準把持位置姿勢）を算出する。基準把持位置姿勢を表す４×４行列をＴＲＨとすると、ＴＲＨは以下により算出することができる。
ＴＲＨ＝ＴＲＷＴＷＨ
ここで、３×３の回転行列をＲＲＨ、３列の並進ベクトルをｔＲＨとしてＴＲＨは以下のように表現される。
【００５２】
【数３】
2018176311.tif 000005
【００５３】
以降では、ｔＲＨをハンドの基準把持位置、ＲＲＨをハンドの基準把持姿勢、とそれぞれ呼称する場合がある。
【００５４】
次に、ハンドの基準把持位置姿勢をもとに、ワークの形状の対称性を考慮した把持位置姿勢を算出する。具体的には、基準把持位置姿勢のハンドが把持する対象であるワークの対称軸に対して対称となるような姿勢を求める。ワーク座標系ＸＷ＝［ＸＷ，ＹＷ，ＺＷ］ＴからステップＳ８０２において設定した対称形状座標系ＸＳ＝[ＸＳ，ＹＳ，ＺＳ］Ｔへの変換を、４×４行列を用いて以下のように表す。
ＸＳ’＝ＴＷＳＸＷ’
ここで、ＸＳ’、ＸＷ’は以下のとおりである。
ＸＳ’＝［ＸＳ，ＹＳ，ＺＳ，１］Ｔ、ＸＷ’＝［ＸＷ，ＹＷ，ＺＷ，１］Ｔ
【００５５】
【数４】
2018176311.tif 000006
【００５６】
また、対称形状座標系からハンド座標系への変換は、４×４行列ＴＳＨとすると、以下のように表すことができる。
ＴＳＨ＝ＴＷＳ−１ＴＷＨ
ここで、３×３の回転行列をＲＳＨ、３列の並進ベクトルをｔＳＨとしてＴＳＨは以下のように表現される。
【００５７】
【数５】
2018176311.tif 000007
【００５８】
さらに、対称形状座標系におけるワークの位置・姿勢は、４×４行列ＴＲＳとすると、以下のように表すことができる。
ＴＲＳ＝ＴＲＷＴＷＳ
ここで、３×３の回転行列をＲＲＳ、３列の並進ベクトルをｔＲＳとしてＴＲＳは以下のように表現される。
【００５９】
【数６】
2018176311.tif 000008
【００６０】
このとき、上述のＴＲＨは、ＴＲＳとＴＳＨを用いて以下のように表現することもできる。
ＴＲＨ＝ＴＲＳＴＳＨ
【００６１】
ワーク２０１のように、回転対称で対称回数がＮ＝３６０／Δθで表せるような形状のワークである場合、まず対称形状座標系における認識姿勢ＲＲＳを対称軸周りにΔθ×ｉだけ回転させた姿勢（回転姿勢）を求める。ここで、ｉは１からＮ−１までの整数である。次に、求めた回転姿勢に対して基準把持位置姿勢の関係にあるハンドの姿勢（対称把持姿勢）ＲＲＨ_iを、回転姿勢のワークを把持するための把持姿勢として求める。対称把持姿勢ＲＲＨ_iは、以下の式を用いて算出できる。
ＲＲＨ_i＝ＲＲＳＲｉＲＳＨ
ここで、Ｒｉは、対称軸周りにΔθ×ｉだけ回転を行う３×３の回転行列である。よって、ワークの対称軸周りにΔθ×ｉだけ回転したハンドの把持位置姿勢（対称把持位置姿勢）は、以下のように表すことができる。
【００６２】
【数７】
2018176311.tif 000009
【００６３】
ステップＳ８０５においては、対称把持位置姿勢を算出する処理を、ｉの値が１からＮ−１までの計Ｎ−１回繰り返し実行する。つまり、対称把持位置姿勢が計Ｎ−１姿勢だけ算出されることになる。
【００６４】
（ステップＳ８０６）
ステップＳ８０６において、把持可否判定部１０６は、ステップＳ８０５で算出されたすべてのハンド把持位置姿勢について、ワークを把持可能であるかどうかの判定を実施する。具体的には、ハンドの基準把持位置姿勢と対称把持位置姿勢についての把持可否判定を実施する。上述の通り、把持の可否を判定する項目は、例えば３次元空間中のハンド姿勢の制約や、認識したワーク以外の周辺物体（パレット、近接ワーク）とハンドとの干渉の有無である。ハンドの把持位置姿勢の制約の判定には、例えば判定の対象となる位置姿勢におけるハンド座標系Ｚ軸について、ハンドの基準位置姿勢におけるハンド座標系Ｚ軸とのなす角度により判定する方法を用いる。この角度が所定値以上である場合には姿勢に無理があるものとして把持不可、所定値未満の場合には把持可能と判定する。或いは、把持位置までロボットを制御可能か、ロボットコントローラにより判定を行い、その結果を用いても良い。干渉の有無については、例えばワークの認識結果に基づいて仮想的にバラ積み状態のワーク及びパレットを含めた３次元空間を再現し、把持位置におけるハンドが周辺物体と干渉するかを判定する。ここで干渉が発生する場合には把持不可、発生しない場合には把持可能と判定する。これらの判定により、いずれの項目においても把持可能と判定された場合には把持可能な把持位置姿勢、いずれか１つの項目において把持不可と判定された場合には把持不可な把持位置姿勢と判定する。
【００６５】
（ステップＳ８０７）
ステップＳ８０７において、自由度情報提示部１０８は、ワークのもつ形状の対称性によって生じるハンド把持位置姿勢の自由度について、自由度をもつ範囲と、その自由度におけるパラメータに対する把持可否判定結果を画面上に表示する。ワーク２０１のように、回転対称で対称回数が無限大であり、かつ形状の対称性をもつ範囲が対称軸周りに３６０度である場合、３６０度の範囲内で、把持可否判定を実施したハンド把持位置姿勢についての把持可否判定結果を連続的に表示する。ワーク２０１の場合は、把持可否判定を実施した把持位置姿勢と対称軸周りの回転角度が１対１の関係にあるため、図６における表示器６０１のように、１次元的に表現した対称軸周りの回転角度に把持可否判定結果を反映させることができる。ワーク２０１の対称回数はＮ＝３６０／Δθと近似できるため、Ｎ回分の把持可否判定結果が反映される。ここで、対称把持位置姿勢は実際には対称軸周りにΔθだけの角度で離散的に算出された位置・姿勢であるが、表示器６０１上では連続的に把持可否判定結果を表示させてもよい。
【００６６】
例えば、図９に示すように、表示器６０１上で表現される対称軸周りの角度のうち、θｉ＝Δθ×ｉに対応する対称把持位置姿勢の把持可否判定を反映させる場合、次のようにする。即ち、θｉを中心とした、Δθの範囲内はθｉと同様の把持可否判定結果であると想定して表示器６０１上に反映させる。θｉからΔθだけ対称軸周りに回転させたθｉ+1についても同様に把持可否判定結果を反映させると、表示器６０１上では把持可否判定結果が対称軸周りの回転軸に対して連続的に表現される。ここで、θｉから−Δθだけ対称軸周りに回転させたθｉ―1において、把持可否判定結果がθｉにおける把持可否判定結果とは異なる場合は、表示器６０１上ではθｉとθｉ−１の中間にあたる回転角度において把持可否判定が切り替わったように表現される。なお、把持対称位置姿勢における把持可否判定結果と同様の結果であると想定する回転角度の範囲は、必ずしも対称把持位置姿勢における回転角度を中心とする必要はない。
【００６７】
つまり、対称把持位置姿勢における回転角度を含む、Δθの範囲内であればよい。また、表示器６０１上では、対称軸周りの回転角度を表示しても良い。例えば、ステップＳ８０５において算出した把持位置姿勢のうち、ハンドの初期位置姿勢を回転角度の基準として、基準から正方向に１８０度、負方向に１８０度の回転角度に対称把持位置姿勢を割りつけて表示してもよい。回転角度の基準のその他の決定方法としては、ステップＳ８０５で算出したハンド把持位置姿勢のハンド座標系Ｚ軸について、ハンドの基準把持位置姿勢におけるハンド座標系Ｚ軸とのなす角度が最も小さい把持位置姿勢における回転角度を基準としても良い。また、基準とする回転角度については０度としてもよいし、回転角度の範囲が３６０度であれば中間の１８０度としてもかまわない。
【００６８】
（ステップＳ８０８）
ステップＳ８０８において、ハンド位置姿勢指定部１０９は、自由度情報提示部１０８によってユーザに提示されたハンド把持位置姿勢のうち、モデル表示部１１０に表示するハンド把持位置姿勢をユーザの操作により指定する。ワーク２０１の場合は、対称軸周りの回転角度を指定することで、表示するハンドの把持位置姿勢を指定することができる。ここで、ハンド位置姿勢指定部１０９で指定できる位置・姿勢は、ステップＳ８０５で算出した把持位置姿勢であるため、対称回数Ｎ＝３６０／Δθだけの数の回転角度を指定できる。
【００６９】
（ステップＳ８０９）
ステップＳ８０９は、ステップＳ８０８において指定されたハンド把持位置姿勢と、認識したワークの位置姿勢を画面上に重畳表示する。
【００７０】
以上、第１実施形態においては、対称回数が無限大の回転対称性をもつ形状（回転体形状）を含むワークについて、ハンドの把持可否判定結果及びハンドの把持位置姿勢を表示する方法について説明した。ユーザはこの方法を用いることにより、形状の対称性をもつワークについて、想定されるハンドの把持位置姿勢のうちどの程度の位置姿勢が把持可能であるかを容易に確認することができる。設定した把持方法で把持可能な位置姿勢が少ない場合、ユーザは把持方法を再設定した上でワーク認識テストを実施し、把持可否判定結果を確認する、という一連の作業を行うことで、把持方法の最適化を図ることができる。
【００７１】
（変形例１）
第１実施形態では、自由度情報提示部１０８について、対称軸周りの回転角度を１次元的に表現した表示器を用いたが、その変形例として、図１０（ａ）に示すように、回転角度を円周上に表現した表示器１００１を用いても構わない。また、ハンド位置姿勢指定部１０９についても、表示するハンドの把持位置姿勢に対応する対称軸周りの回転角度をスライダーの操作により指定するスライダーバーを表示器として用いたが、図１０（ｂ）に示すような表示器を用いても構わない。図１０（ｂ）における表示器１００２は、回転角度をノブの回転によって指定する表示器である。さらに、図１０（ｃ）に示すように、表示器１００１と表示器１００２を一体化させた表示器１００３を用いても構わない。
【００７２】
（変形例２）
第１実施形態では、ステップＳ８０２において、対称軸周りの対称回数をＮ＝３６０／Δθで近似して設定したが、それ以外の方法を用いても良い。例えば、対称回数の設定を上記の式で求めたＮよりも大きな値に設定しておき、その後、算出したハンドの把持位置姿勢のうちの一部をＮ姿勢分だけ選択して干渉判定を実施する処理を実施しても良い。具体的には、ステップＳ８０５でハンドの把持位置姿勢を算出後、自由度情報提示部１０８で把持可否判定を実施する把持位置姿勢を選択し、選択された把持位置姿勢について把持可否判定部１０６で把持可否判定を実施する。ここで、Ｎ通りの把持位置姿勢を選択する方法としては、例えば対称軸周りの回転角度が相対的にΔθずつ回転しているような把持位置姿勢を選択するのが望ましい。
【００７３】
＜第２実施形態＞
第２実施形態では、対称回数が有限の回転対称性をもつ形状を含むワークについてのハンドの把持可否判定結果及びハンド把持位置姿勢を表示する方法について説明する。図１１（ａ）に、本実施形態で取り扱うワークのモデル形状とワーク座標系、及び対称形状座標系を示す。図１１（ａ）に示すワーク１１０１は、対称回数が有限の回転対称性をもつ形状を有している。以下、第１実施形態との相違点について重点的に説明し、第１実施形態と同様の部分については説明を省略する。本実施形態でも、図１に示した構成を有する情報処理装置１００を用いる。また、本実施形態におけるワーク認識テスト用画面に必要な情報を算出する処理手順については図８と同様であるが、ステップＳ８０２においては図１１（ａ）に示した対称形状座標系を設定し、Ｚ’軸を対称軸として登録するものとする。また、その他の対称性情報として登録する情報は、対称性の属性が回転対称、対称回数が６、対称性を持つ範囲がＺ’軸周りに３６０度であるものとする。
【００７４】
図１の情報処理装置１００の中で、第１実施形態と相違点があるのは自由度情報提示部１０８である。図１１（ｂ）に、本実施形態における自由度情報提示部の例としての表示器１１０２を示す。本実施形態においてはＮ＝６であるため、表示器１１０２においては、対称軸周りの回転軸周りに基準把持位置姿勢を６０度ずつ回転させて算出した計６つの把持位置姿勢に対応する回転角度における把持可否判定結果を離散的に表示する。第１実施形態におけるワーク２０１とは異なり、ワーク１１０１については、或る把持位置姿勢から６０度より小さい角度だけ回転させた把持位置姿勢は、元の把持位置姿勢に対する対称性を持っていないため、連続的に把持可否判定結果を表示することができない。よって、そのような有限の対称回数をもつワークについては、把持可否判定結果についても回転角度について離散的に表示する。
【００７５】
＜第３実施形態＞
第３実施形態では、並進対称性をもつ形状を含むワークについてのハンドの把持可否判定結果及びハンド把持位置姿勢を表示する方法について説明する。本実施形態では、図１２に示すワーク１２０１を用いて説明する。ワーク１２０１においては、対称形状座標系のＺ’軸に沿った方向に対称回数が無限大の並進対称性をもっている。つまり、Ｚ’に沿ってハンドの把持位置姿勢を微小に並進させても、ハンド視点からのワークの見えが変化しない。
【００７６】
以下、第１実施形態との相違点について重点的に説明し、第１実施形態と同様の部分については説明を省略する。本実施形態でも、図１に示した構成を有する情報処理装置１００を用いる。また、本実施形態におけるワーク認識テスト用画面に必要な情報を算出する処理手順については図８と同様である。ただし、ステップＳ８０２において設定する対称性情報の内容と、ステップＳ８０５において算出される対称把持位置姿勢の算出方法と、ステップＳ８０７で提示される自由度情報の内容が一部異なる。
【００７７】
（ステップＳ８０２）
ステップＳ８０２では、対称性の属性を並進対称として登録し、対称軸に沿った方向に対称性を持つ範囲を指定する点が第１実施形態と異なる。図１２に、ステップＳ８０２において対称性情報を設定するために用いるＧＵＩの例を示す。図１２におけるＧＵＩ４００は、第１実施形態において用いたものと同じものであるが、設定する内容の一部が第１実施形態とは異なる。本実施形態においては、対称性の属性として並進対称であることを設定し、さらに、対称軸であるＺ’軸について沿った方向に対称性をもつ範囲を設定する。ここで、対称回数が無限大と分類される形状を有する場合は、情報処理装置１００で処理可能な範囲において、できるだけ大きな対称回数となるように設定することが望ましい。
【００７８】
しかしながら、情報処理装置１００の性能上、対称回数に無視できない程度の制約が生じる場合は、対称回数を有限の値に近似して設定しても良い。ワーク１２０１のように並進対称な形状を有する場合は、対称軸に沿った方向の微小な並進距離に起因するハンド位置姿勢の違いが把持可否判定結果に影響を及ぼさないような並進距離ΔＬを予め設定しておく。このΔＬを用いると、ワーク１２０１が対処軸に沿ってＬの範囲で形状の対称性を有する場合には、対称回数をＮ＝Ｌ／ΔＬと近似的に算出することができる。以下、ワーク１２０１の対称回数を上記式で表現されるＮに近似して設定したとして説明する。
【００７９】
（ステップＳ８０５）
ステップＳ８０５では、ハンドの基準把持位置姿勢を算出後の、対称把持位置姿勢を算出する方法が第１実施形態とは異なる。本実施形態では、ハンドの基準把持位置姿勢を算出後に、まず対称形状座標系におけるワークの認識位置ｔＲＳを対称軸に沿った方向にΔＬ×ｉだけ並進させた位置（並進位置）を求める。ここで、ｉは１からＮ−１までの整数である。次に、求めた並進位置に対して相対把持位置姿勢の関係にあるハンドの位置（対称把持位置）ｔＲＨ＿iを、並進位置のワークを把持するための把持位置として求める。対称把持位置ｔＲＨ＿iは、以下の式を用いて算出できる。
ｔＲＨ_i＝ＲＲＳ（ｔＳＨ＋ｔｉ）＋ｔＳＨ
ここで、ｔｉは、対称軸に沿ってΔＬ×ｉだけ並進を行うベクトルである。よって、ワークの対称軸に沿ってΔＬ×ｉだけ並進させたハンドの把持位置姿勢は、以下のように表すことができる。
【００８０】
【数８】
2018176311.tif 000010
【００８１】
（ステップＳ８０７）
ステップ８０７によって提示されるハンド把持位置姿勢の自由度については、対称軸に沿った方向にハンドがとりうる位置姿勢の範囲と、そのときの把持可否判定結果が提示される。画面上に表示される表示器としては第１実施形態と同じものを用いるが、表示される自由度が並進対称性に関する情報である点が第１実施形態とは異なる。
【００８２】
（変形例）
第３実施形態では、ステップＳ８０２において、対称軸に沿った方向の位置姿勢の対称回数をＮ＝Ｌ／ΔＬで近似して設定したが、それ以外の方法を用いても良い。例えば、対称回数の設定を上記の式で求めたＮよりも大きな値に設定しておき、その後、算出したハンドの把持位置姿勢のうちの一部をＮ姿勢分だけ選択して干渉判定を実施する処理を実施しても良い。具体的には、ステップＳ８０５でハンドの把持位置姿勢を算出後、自由度情報提示部１０８で把持可否判定を実施する把持位置姿勢を選択し、選択された把持位置姿勢について把持可否判定部１０６で把持可否判定を実施する。ここで、Ｎ通りの把持位置姿勢を選択する方法としては、例えば対称軸に沿った方向の並進位置が相対的にΔＬずつ並進しているような把持位置姿勢を選択するのが望ましい。
【００８３】
＜第４実施形態＞
第４実施形態では、回転対称性と並進対称性を同時にもつワークについてのハンドの把持可否判定結果及びハンド把持位置姿勢を表示する方法について説明する。本実施形態で用いるワークは、第３実施形態と同じワーク１２０１とする。ワーク１２０１は、形状の中に円筒の形状を有している。円筒形状は、円筒の同軸の方向に対称軸を持っており、対称軸については回転対称性と並進対称性を併せ持っている。このような形状の場合、ハンドの把持位置姿勢は２つの自由度をもつことになり、２つの自由度についてのパラメータを指定しないとハンドの把持位置姿勢を決定することができない。例えば、対称軸周りの回転角度を指定したとしても、未指定である対称軸に沿った方向の自由度は残ったままであるし、逆に対称軸に沿った方向の並進位置を指定したとしても、対称軸周りの自由度は残ったままである。
【００８４】
以下、第１実施形態との相違点について重点的に説明し、第１実施形態と同様の部分については説明を省略する。本実施形態でも、図１に示した構成を有する情報処理装置１００を用いる。本実施形態において、ハンド位置姿勢指定部は２つの自由度のパラメータを指定することができる点が第１実施形態と異なる。図１３は、本実施形態におけるワーク認識テスト用画面に必要な情報を算出する処理手順を示すフローチャートである。図１３に示した処理のうち、ステップＳ１３０１、Ｓ１３０３、Ｓ１３０４、Ｓ１３０６、Ｓ１３１０は、それぞれ第１実施形態のステップＳ８０１、Ｓ８０３、Ｓ８０４、Ｓ８０６、Ｓ８０９と同じ処理であるため説明を省略する。
【００８５】
（ステップＳ１３０２）
ステップＳ１３０２では、ワーク１２０１について、回転対称と並進対称の両方の対称性属性を登録する。図１２に示すようなＧＵＩ４００を用いる場合、回転対称性に関する情報と、並進対称性に関する情報を個別に登録する。このときの対称形状座標系、対称軸は両方の対称性について同じものを設定してよいが、対称回数及び形状の対称性を有する範囲はそれぞれの対称性に対応した値を登録する必要がある。
【００８６】
第１実施形態、第３実施形態においても述べたように、ワークが対称回数が無限大と分類される形状を有する場合はできる限り大きな対称回数となるように値を設定することが望ましい。しかしながら、情報処理装置の性能上対称回数に無視できない程度の制約が生じる場合は、対称回数を有限の値に近似して設定しても良い。本実施形態においては、回転対称性の対称回数をＮ＝３６０／Δθ、並進対称性の対称回数をＭ＝Ｌ／ΔＬと近似した値を用いて設定したとして説明する。
【００８７】
（ステップＳ１３０５）
ステップＳ１３０５では、ステップＳ８０２において設定された回転対称性の情報と、並進対称性の情報に対応した把持位置姿勢が算出される。ここで、１つの把持位置姿勢を算出するためのパラメータとしては、回転対称性についてのパラメータである対称軸周りの回転角度の情報と、並進対称性についてのパラメータである対称軸に沿った方向の並進位置の情報の両方が必要となる。第１実施形態で示した通り、対称軸周りに回転角Δθ×ｉだけ回転させたハンドの把持位置姿勢は、次のように表せる。
ＲＲＨ_i＝ＲＲＳＲｉＲＳＨ
ここで、Ｒｉは、対称軸周りにΔθ×ｉだけ回転を行う３×３の回転行列である。一方、第３実施形態で示した通り、対称軸に沿ってΔＬ×ｊだけ並進させたハンドの把持位置は、次のように表せる。
ｔＲＨ_ｊ＝ＲＲＳ（ｔＳＨ＋ｔｊ）＋ｔＳＨ
ここで、ｔｊは、対称軸に沿ってΔＬ×ｊだけ並進を行うベクトルである。
【００８８】
よって、対称軸周りにΔ×ｉだけ回転させ、さらに対称軸に沿ってΔＬ×ｊだけ並進させたハンドの把持位置姿勢は、以下のように表すことができる。
【００８９】
【数９】
2018176311.tif 000011
【００９０】
回転対称性の対称回数がＭ、並進対称性の対称回数がＮの場合、ｉは０からＭ−１までの整数を取り得、ｊは０からＮ−１までの整数を取り得る。このとき、ステップＳ１３０５で算出される把持位置姿勢の総数は基準把持位置姿勢を含めてＭ×Ｎとなる。
【００９１】
（ステップＳ１３０７）
ステップＳ１３０７では、ハンド位置姿勢指定部１０９は、ワーク形状の２つの対称性によって生じるハンド把持位置姿勢の２つの自由度のうち、どちらか一方についてのパラメータを指定する。本実施形態においては、ステップＳ１３０７で指定可能なパラメータは、対称軸周りの回転角度か対称軸に沿った方向の並進位置のいずれかである。図１４の表示器１４０１は、スライダー１４０２の操作により、対称軸周りの回転角度を指定する場合の例である。この場合、表示器１４０１を用いて対称軸周りの回転角度を指定することにより、ステップＳ１３０８以降の処理で並進対称性に関する自由度情報を提示し、画面に表示するハンド把持位置姿勢を指定することが可能となる。
【００９２】
（ステップＳ１３０８）
ステップＳ１３０８では、自由度情報提示部１０８は、ステップＳ１３０７において指定されたパラメータに従属する、もう一方の自由度に関する情報を提示する。本実施形態においては、ステップＳ１３０７において指定された対称軸周りの回転角度に従属した、未指定の対称軸に沿った方向にハンドがとりうる位置姿勢の範囲と、そのときの把持可否判定結果が提示される。図１４における表示器１４０３は、対称軸に沿った方向の並進位置の範囲と、選択手段により選択された各位置におけるハンドの把持可否判定結果を提示する表示器の例である。表示器１４０３に表示される情報の内容は、表示器１４０１を用いて指定した対称軸周りの回転角度に従属しているため、スライダー１４０２を用いて指定する回転角度を変更した場合は、変更後の回転角度に従属した情報に表示が更新される。
【００９３】
（ステップＳ１３０９）
ステップＳ１３０９では、ハンド位置姿勢指定部１０９は、自由度情報提示部１０８によって提示されたユーザに提示されたハンド姿勢のうち、モデル表示部１１０に表示するハンド姿勢を指定する。本実施形態においては、対称軸に沿った方向の並進位置を指定することで、表示するハンドの把持位置姿勢を指定することができる。図１４における表示器１４０４は、スライダー１４０５を操作することで、対称軸に沿った方向の並進位置を指定することができる表示器の例である。ここで、表示器１４０４を用いて指定できる並進位置は、表示器１４０１を用いて指定した回転角度に従属している。従って、表示器１４０１を用いて指定する回転角度を変更した場合は、表示器１４０４で指定できる並進位置も変更後の回転角度に従属したものに変更される。
【００９４】
以上、第４実施形態においては、形状の対称性を２つもつ形状を含むワークについて、ハンドの把持可否判定結果及びハンドの把持位置姿勢を表示する方法について説明した。本実施形態では、回転対称性のパラメータ（回転角度）に並進対称性のパラメータ（並進位置）を従属させて、ハンドの把持位置姿勢の自由度情報と把持可否判定結果を提示し、表示する位置姿勢を指定する場合を説明した。しかし、２つのパラメータの従属関係は逆でもよい。つまり、並進位置に回転角度を従属させても構わない。さらに、従属させる対称性を切り替えられる仕組みを設けても構わない。
【００９５】
（変形例１）
第４実施形態では、画面上に表示する可能性のあるハンド姿勢の全てについての把持可否判定を、ハンド位置姿勢指定部１０９によって自由度についてのパラメータを指定する前に実施した。ステップＳ１３０５において算出されるハンドの位置姿勢の数は、ワークの形状の対称性が１つである場合と比較して多くなるため、把持可否判定時間もハンドの位置姿勢の数に比例して多くの時間を要することになる。ハンドが把持位置姿勢の自由度を持っている範囲のうち、ユーザが一部のハンドの位置姿勢の把持可否判定結果のみを確認したい場合には、確認不要な位置姿勢まで事前に把持可否判定を実施していることになる。そこで、第４実施形態の変形例として、ハンド位置姿勢指定部１８で２つの自由度のうちのどちらか一方についてのパラメータを指定した後に、指定されたパラメータの値に従属する把持位置姿勢のみについて把持可否判定を実施する。
【００９６】
図１５は、本変形例におけるワーク認識テスト用画面に必要な情報を算出する処理手順を示すフローチャートである。図１５に示した処理は、大まかには第４実施形態におけるステップＳ１３０６とステップＳ１３０７を入れ替えた手順であるということができる。ただし、ステップＳ１３０６は算出してある全ての把持位置姿勢について把持可否判定を実施するのに対し、ステップＳ１５０７では、ステップＳ１５０６で指定したパラメータに従属する把持位置姿勢についてのみ把持可否判定を実施する点で相違がある。ステップＳ１５０６において、ハンド位置姿勢指定部１０９は、一方の自由度についてのパラメータを指定することで、指定されたパラメータに従属する位置姿勢を把持可否判定の対象として選択する。選択された位置姿勢の情報は、把持可否判定部１０６に送られ、ステップＳ１５０７において、把持可否判定部１０６は選択された位置姿勢についての把持可否判定を実施する。本変形例では、ハンド位置姿勢指定部１０９でハンドの位置姿勢が指定されるたびに、指定されたパラメータに従属する姿勢の把持可否判定を実施する。よって、ステップＳ１５０８で自由度についての情報を提示するまでにかかる時間が第４実施形態よりも長くなる傾向にある。しかしながら、ユーザが一部のハンド姿勢についてのみ把持可否判定結果を確認したい場合には、確認不要な姿勢の把持可否判定時間を省略することができるため、処理時間全体では第４実施形態よりも時間短縮を期待することができる。
【００９７】
（変形例２）
第４実施形態では、ステップＳ１３０２において、回転対称性の対称回数をＮ＝３６０／Δθ、並進対称性の対称回数をＭ＝Ｌ／ΔＬで近似して設定したが、それ以外の方法を用いても良い。例えば、対称回数の設定を上記の式で求めたＮ及びＭよりも大きな値に設定しておく。次に、算出したハンドの把持位置姿勢のうち、回転角度をＮ通り、並進位置をＭ通りだけ選択すると、Ｎ×Ｍ通りの位置姿勢が把持可否判定の対象として選択されることになる。その後、選択された位置姿勢についてのみ把持可否判定を実施する。具体的には、ステップＳ１３０５においてハンドの把持位置姿勢を算出後、自由度情報提示部１０８で把持可否判定を実施する把持位置姿勢を選択し、選択された把持位置姿勢について把持可否判定部１０６で把持可否判定を実施する。
【００９８】
ここで、Ｎ通りの回転角度を選択する方法としては、例えば対称軸周りの回転角度が相対的にΔθずつ回転しているような回転角度を選択するのが望ましい。また、Ｍ通りの並進位置を選択する方法としては、例えば対称軸に沿った方向の並進位置が相対的にΔＬずつ並進しているような並進位置を選択するのが望ましい。
【００９９】
＜第５実施形態＞
第４実施形態では、同一の対称軸について異なる対称性を有するワークについてのハンドの把持可否判定結果及び把持位置姿勢を表示する方法を説明した。第５実施形態では、形状の対称性を２つもち、かつそれぞれの対称性が同一の対称形状座標系における異なる対称軸に紐づいているようなワークについてのハンドの把持可否判定結果及び把持位置姿勢を表示する方法について説明する。本実施形態では、例えば図１６に示すような正六角柱形状のように、同一の対称軸座標系のＸ’軸方向とＺ’軸方向について回転対称性をもつワーク１６０１を想定している。
【０１００】
以下、第４実施形態との相違点について重点的に説明し、第４実施形態と同様の部分については説明を省略する。本実施形態でも、図１に示した構成を有する情報処理装置１００を用いる。本実施形態における処理フローは、第４実施形態と同様に図１３を用いて説明する。ただし、本実施形態における処理内容のうち、ステップＳ１３０１、ステップＳ１３０３、ステップＳ１３０４、ステップＳ１３０６は第４実施形態と同様であるため、説明を省略する。
【０１０１】
（ステップＳ１３０２）
ステップ１３０２では対称性情報を設定するが、同一の対称形状座標系において複数の対称軸を指定する点で第４実施形態とは異なる。例えば図１６に示すようにワーク１６０１の対称形状座標系を設定し、Ｘ’軸とＺ’軸についてどちらも回転対称性をもつ対称軸として指定し、対称回数についてはそれぞれ２、６と設定する。
【０１０２】
（ステップＳ１３０５）
ステップＳ１３０５では、ステップＳ８０２において設定された２つの対称軸の回転対称性の情報に対応した把持位置姿勢が算出される。ここで、１つの把持位置姿勢を算出するためのパラメータとしては、回転対称性についてのパラメータである対称軸Ｘ’周りの回転角度の情報と、対称軸Ｚ’周りの回転角度の情報の両方が必要となる。対称軸Ｘ’周りに一度に回転させる角度は、対称回数が２なので１８０度である。一方、対称軸Ｚ’周りに一度に回転させる角度は、対称回数が６なので６０度である。対称軸Ｘ’周りに１８０×ｉ度、対称軸Ｚ’周りに６０×ｊ度だけ回転させたハンドの把持姿勢は、次のように表せる。
ＲＲＨ＿ｉｊ＝ＲＲＳＲｊＲｉＲＳＨ
ここで、Ｒiは対称軸Ｘ’軸周りに１８０×ｉ度だけ回転を行う３×３の回転行列であり、Ｒｊは対称軸Ｚ’軸周りに６０×ｊ度だけ回転を行う３×３の回転行列である。また、ｉは０もしくは１のいずれかであり、ｊは０から５までのいずれかの整数である。
【０１０３】
よって、対称軸Ｘ’周りに１８０×ｉ度、対称軸Ｚ’周りに６０×ｊ度だけ回転させたときのハンド把持位置姿勢は、以下のように表すことができる。
【０１０４】
【数１０】
2018176311.tif 000012
【０１０５】
このとき、ステップＳ１３０５で算出される把持位置姿勢の総通は基準把持位置姿勢を含めて１２となる。
【０１０６】
（ステップＳ１３０７）
ステップＳ１３０７では、ハンド位置姿勢指定部１０９は、ワーク形状の２つの対称性によって生じる把持位置姿勢の２つの自由度のうち、どちらか一方についてのパラメータを指定する。本実施形態においては、ステップＳ１３０７で指定可能なパラメータは、上述の対称軸Ｘ’周りの回転角度か対称軸Ｚ’周りの回転角度のいずれかである。本実施形態においては、図１７に示すような表示器１７０１において対称軸Ｘ’周りの回転角度を指定できるものとし、表示器１７０１では０度もしくは１８０度を指定できるものとする。この指定により、ステップＳ１３０８以降の処理で並進対称性に関する自由度情報を提示し、画面に表示する把持位置姿勢を指定することが可能となる。
【０１０７】
（ステップＳ１３０８）
ステップＳ１３０８では、自由度情報提示部１０８は、ステップＳ１３０７において指定されたパラメータに従属する、もう一方の自由度に関する情報を提示する。本実施形態においては、ステップＳ１３０７において指定された対称軸周りの回転角度に従属した、もう一方の対称軸周りにハンドがとりうる姿勢の範囲と、そのときの把持可否判定結果が提示される。本実施形態では、表示器１７０１で指定した対称軸Ｘ‘周りの回転角度に従属した対称軸Ｚ’周りの回転角度と、その角度における把持可否判定結果が表示器１７０２に表示される。表示器１７０３で表示される情報の内容は、表示器１７０１を用いて指定した対称軸周りの回転角度に従属しているため、表示器１７０１で指定する回転角度を変更した場合は、変更後の回転角度に従属した情報に表示が更新される。
【０１０８】
（ステップＳ１３０９）
ステップＳ１３０９では、ハンド位置姿勢指定部１０９は、自由度情報提示部１０８によって提示されたユーザに提示されたハンド姿勢のうち、モデル表示部１１０に表示するハンド姿勢を指定する。本実施形態においては、対称軸Ｚ’周りの回転角度を指定することで、表示するハンドの把持位置姿勢を指定することができる。図１７における表示器１７０３は、スライダー１７０４を操作することで、対称軸Ｚ’周りの回転角度を指定することができる表示器の例である。ここで、表示器１７０３を用いて指定できる対称軸Ｚ’周りの回転角度は、表示器１７０１を用いて指定した対称軸Ｘ’周りの回転角度に従属している。よって、表示器１７０１を用いて指定する対称軸Ｘ’周りの回転角度を変更した場合は、表示器１７０３で指定できる対称軸Ｚ’周りの回転角度も変更される。
【０１０９】
以上、第５実施形態においては、形状の対称性を２つもち、かつそれぞれの対称性が同一の対称形状座標系における異なる対称軸に紐づいているようなワークについて、ハンドの把持可否判定結果及び把持位置姿勢を表示する方法について説明した。本実施形態では、対称軸Ｘ’周りの回転角度に対称軸Ｚ’周りの回転角度を従属させて、把持位置姿勢の自由度情報と把持可否判定結果を提示し、表示するハンド姿勢を指定する場合を説明したが、２つのパラメータの従属関係は逆でもよい。つまり、対称軸Ｚ’周りの回転角度に対称軸Ｘ’周りの回転角度を従属させても構わない。さらに、従属させる回転角度が紐づく対称軸を切り替えられる仕組みを設けても構わない。
【０１１０】
（変形例）
第５実施形態では、第４実施形態と同様に、画面上に表示する可能性のあるハンド姿勢の全てについての把持可否判定を、ハンド位置姿勢指定部１０９によって自由度についてのパラメータを指定する前に実施した。この方法においては、把持可否判定結果をユーザが確認する必要のない姿勢までも事前に把持可否判定を実施していることになる。そこで、第５実施形態の変形例として、ハンド位置姿勢指定部１８で２つの自由度のうちのどちらか一方についてのパラメータを指定した後に、指定されたパラメータの値に従属するハンド姿勢のみについて把持可否判定を実施するような処理を実施しても良い。このときの処理フローは、第４実施形態の変形例と同様に図１５に示すようなフローチャートに従う。
【０１１１】
＜第６実施形態＞
第６実施形態では、１つのワークの中で形状の対称性を２つもち、かつそれぞれの対称性が異なる対称形状座標系に紐づいているようなワークについてのハンドの把持可否判定結果及び把持位置姿勢を表示する方法について説明する。図１８（ａ）に本実施形態で取り扱うワーク１８０１を示す。ワーク１８０１は、第１の対称形状座標系におけるＺ’軸周りに対称回数が無限大の回転対称性を有している。また、第１の対称座標系におけるＹ’軸の方向からワーク１８０１を見た場合に、ワーク１８０１の断面は正方向の形状をしている。図１８（ｂ）は、第１の対称形状座標系における−Ｙ’軸方向からワーク１８０１を見た場合に観測できるワーク１８０１の断面を示している。ここで、第１の対称形状座標系の原点をＸ’方向に並進させ、ワーク１８０１の断面の正方形の中心に第２の対称形状座標系を設定した場合、断面形状においては第２の対称形状座標系のＹ”軸周りに対称回数が４回の回転対称性をもつことになる。
【０１１２】
より一般化すると、第２の対称形状座標系は、第１の対称形状座標系との相対的な位置姿勢関係に基づいて定義される座標系である。具体的には、ワーク１８０１におけるＸ’Ｚ’平面をＺ’軸周りに回転させた平面によって形成される断面の法線方向をＹ”軸、Ｚ’と同じ軸をＺ”、Ｙ”軸及びＺ”に垂直な軸をＸ”軸とした座標系として定義することができる。ワーク１８０１は、第１の対称形状座標系のＺ’軸周りに対称回数が無限大の回転対称性を持つため、第２の対称形状座標系を定義できる数も無限大存在することになる。本実施形態では、第１の対称形状座標系における回転対称性の対称回数をＮ＝３６０／Δθと近似し、第２の対称形状座標をＮ通り算出した上で、第２の対称形状座標系に紐づく把持位置姿勢を算出する。ここで、Δθとは、対称軸周りの回転角について、回転角度の微小な差に起因する把持位置姿勢の違いが後述の把持可否判定結果に影響を及ぼさないような角度の差分である。
【０１１３】
以下、第４実施形態との相違点について重点的に説明し、第４実施形態と同様の部分については説明を省略する。本実施形態でも、図１に示した構成を有する情報処理装置１００を用いる。図１９は、本実施形態におけるワーク認識テスト用画面に必要な情報を算出する処理手順を示すフローチャートである。図１９に示した処理のうち、ステップＳ１９０１、Ｓ１９０４、Ｓ１９０５、Ｓ１９０７、Ｓ１９１１は、それぞれ第４実施形態におけるステップＳ１３０１、Ｓ１３０３、Ｓ１３０４、Ｓ１３０６、Ｓ１３１０と同じ処理であるため説明を省略する。
【０１１４】
（ステップＳ１９０２）
ステップＳ１９０２では、ワーク１８０１についての２つの回転対称性の情報を設定する。上述の第１の対称形状座標系に紐づく対称性情報の設定方法は、第４実施形態における設定方法と同様である。一方、第２の対称形状座標系を定義するには第１の対称形状座標系の対称性の情報が必要となる。本実施形態では、第１の対称形状座標系と第２の対称形状座標系を１つずつ設定した上で、第１の対称形状座標系と第２の対称形状座標系との相対的な位置姿勢情報を算出する。図２０に、第２の対称形状座標系に紐づく対称性情報を設定するＧＵＩの例を示す。図２０のＧＵＩ２０００では、これまで説明してきた対称性情報に加え、設定しようとしている対称性情報を従属させる対称性情報ＩＤを指定できる。本実施形態では、第２の対称形状座標系に紐づく対称性情報を、第１の対称形状座標系に紐づく対称性情報に従属させる必要がある。したがって、ＧＵＩ２０００を用いて、例えば従属させる対称性情報ＩＤを指定するフラグをチェックボックス等でＯＮにした上で、第１の対称形状座標系に紐づく対称性情報ＩＤをリスト中から指定する。従属させる対称性情報を指定した上で登録ボタンを押下すると、第１の対称形状座標系と第２の対称形状座標系との相対的な位置姿勢情報が算出される。
【０１１５】
（ステップＳ１９０３）
ステップＳ１９０３では、ステップＳ１９０２で設定した第２の対称形状座標系に紐づく対称性情報と、ステップＳ１９０２で算出した第１の対称形状座標系と第２の対称形状座標系との相対的な位置姿勢情報を用いて、新たな対称形状座標系を算出する。また、ステップＳ１９０２で設定した第２の対称形状座標系に紐づく対称性情報を、第１の対称形状座標系の対称軸周りの回転角度とともに新たに算出した対称形状座標系に紐づけて、固有の対称性情報ＩＤを割り振って登録する。
【０１１６】
ステップＳ１９０３において算出される座標系は、第２の対称形状座標系を、第１の対称形状座標系における対称軸周りに回転させた座標系である。例えばワーク１８０１の場合は、第２の対称形状座標系を第１の対称形状座標系における対称軸周りにΔθ×ｉだけ回転させた座標系を算出する。ただし、ｉは１からＮ−１までの値をとる整数である。新たに算出された座標系については、第１の対称形状座標系における対称軸周りの回転角度と、第２の対称形状座標系に紐づけて設定していた対称性情報を新たに紐づけ、固有の対称性情報ＩＤを割り振って登録する。第２の対称形状座標系に紐づけて設定していた対称性情報とは、従属させる対称性情報ＩＤと、対称性属性と、対称軸と、対称回数と、対称形状の範囲である。ステップＳ１９０３までの処理が完了した段階では、第１の対称形状座標系に紐づく対称性情報に対し、合計Ｎ通りの対称形状座標系及び対称性情報が従属して登録されている状態となる。
【０１１７】
（ステップＳ１９０６）
ステップＳ１９０６では、ステップＳ１９０５までに設定した対称軸について、それぞれの対称軸のもつ回転対称性の情報に対応した把持位置姿勢が算出される。まず第１の対称形状座標系について、対称軸周りにΔθずつ回転させた把持位置姿勢がＮ通り算出される。このとき算出されるＮ通りの把持位置姿勢は、対称軸周りの回転角度によって、第１の対称形状座標系に従属しているＮ通りの対称形状座標系にそれぞれ対応付けられる。次に、対応付けられた把持位置姿勢について、対応する対称形状座標系の対称軸周りに９０度（３６０／４）ずつ回転させた把持位置姿勢が４通り算出される。このとき算出される把持位置姿勢は、対応する対称形状座標系が紐づけられているものと同じ対称性情報ＩＤに紐づけられて登録される。ステップＳ１９０６においては、合計で４×Ｎ通りの把持位置姿勢が算出されることになる。
【０１１８】
（ステップＳ１９０８）
ステップＳ１９０８では、ハンド位置姿勢指定部１０９は、第１の対称形状座標系の対称軸周りの回転角度を指定する。本実施形態においては、図２１の表示器２１０１を用いて、スライダー２１０２の操作によって回転角度を指定する。ステップＳ１９０８で回転角度を指定することにより、ステップＳ１９０９以降で第１の対称形状座標系に従属する対称形状座標系及び対称性情報に関する自由度情報を提示し、画面に表示するハンド把持位置姿勢を指定することが可能となる。
【０１１９】
（ステップＳ１９０９）
ステップＳ１９０９では、自由度情報提示部１０８は、ステップＳ１９０８において指定された第１の対称形状座標系の対称軸周りの回転角度に対応する対称形状座標系及び対称性情報を選択する。そして、選択された対称性情報における対称軸周りでハンドが取り得る位置姿勢の範囲と、そのときの把持可否判定結果が提示される。図２１における表示器２１０３は、表示器２１０１で指定された回転角度に対応する対称性情報における対称軸周りの回転角度と、その角度における把持可否判定結果を示している。表示器２１０３で表示される情報の内容は、表示器２１０１を用いて指定した第１の対称形状座標系における対称軸周りの回転角度に従属している。そのため、表示器２１０１で指定する回転角度を変更した場合は、変更後の回転角度に従属した情報に表示が更新される。
【０１２０】
（ステップＳ１９１０）
ステップＳ１９１０では、ハンド位置姿勢指定部１０９は、自由度情報提示部１０８によってユーザに提示された把持位置姿勢のうち、モデル表示部１１０に表示する把持位置姿勢を指定する。本実施形態においては、図２１における表示器２１０４中のスライダー２１０５を操作することで、表示器２１０１で指定された第１の対称形状座標系の対称軸周りの回転角度に従属する対称軸の回転角度を指定することができる。ここで、表示器２１０１を用いて指定する第１の対称形状座標系の対称軸周りの回転角度を変更した場合は、従属する対称軸が変更されるため、表示器２１０４で指定できる把持位置姿勢も変更される。
【０１２１】
（変形例）
第６実施形態では、第４実施形態、第５実施形態と同様に、画面上に表示する可能性のあるハンドの把持位置姿勢の全てについての把持可否判定を、ハンド位置姿勢指定部１０９によって自由度についてのパラメータを指定する前に実施した。この方法においては、把持可否判定結果をユーザが確認する必要のない姿勢までも事前に把持可否判定を実施していることになる。そこで、第６実施形態の変形例として、ハンド位置姿勢指定部１０９で第１の対称形状座標系の対称軸周りの回転角度を指定した後に、従属する対称形状座標系の対称軸周りの把持位置姿勢のみについて把持可否判定を実施するような処理を実施しても良い。このときの処理フローは、図１９のフローチャートにおいてステップＳ１９０７とステップＳ１９０８を入れ替えたフローとなる。
【０１２２】
＜第７実施形態＞
第７実施形態では、１つのワークの中で形状の対称性を３つもつようなワークについてのハンドの把持可否判定結果及びハンド把持位置姿勢を表示する方法について説明する。図２２（ａ）に本実施形態で取り扱うワーク２２０１を示す。ワーク２２０１は、第１の対称形状座標系におけるＺ’軸周りに対称回数が４の回転対称性を有している。また、第１の対称座標系におけるＹ’軸の方向からワーク２２０１を見た場合には、ワーク２２０１のＸ’Ｚ’断面は円形状をしている。また、この円形状はＹ’方向に高さ方向をもつ円柱形状の断面である。図１８（ｂ）は、第１の対称形状座標系における−Ｙ’軸方向からワーク２２０１のＸ’Ｚ’断面を見た場合に観測できるワーク２２０１の断面を示している。ここで、第１の対称形状座標系の原点をＸ’方向に並進させ、ワーク２２０１のＸ’Ｚ’断面の正方形の中心に第２の対称形状座標系を設定した場合、断面形状においては第２の対称形状座標系のＹ”軸周りに対称回数が無限大の回転対称性をもつことになる。さらに、第２の対称形状座標系においては、Ｙ”軸方向に対称回数が無限大の並進対称性を同時にもつことになる。
【０１２３】
より一般化すると、第２の対称形状座標系は、第１の対称形状座標系との相対的な位置姿勢関係に基づいて定義される座標系である。具体的には、ワーク２２０１におけるＸ’Ｚ’平面をＺ’軸周りに回転させた平面によって形成される断面の法線方向をＹ”軸、Ｚ’と同じ軸をＺ”、Ｙ”軸及びＺ”に垂直な軸をＸ”軸とした座標系として定義することができる。ワーク２２０１は、第１の対称形状座標系のＺ’軸周りに対称回数が４の回転対称性を持つため、第２の対称形状座標系を定義できる数も４通り存在することになる。本実施形態では、第２の対称形状座標を４通り算出した上で、第２の対称形状座標系に紐づく把持位置姿勢を算出する。ここで、第２の対称形状座標系における回転対称性の対称形状の範囲が対称軸周りに３６０度で、並進対称性の対称形状の範囲が対称軸に沿った方向にＬであるとすると、対称回数と並進対称性の対称回数はそれぞれＮ＝３６０／Δθ、Ｍ＝Ｌ／ΔＬと近似できる。ただし、Δθとは、対称軸周りの回転角について、回転角度の微小な差に起因する把持位置姿勢の違いが後述の把持可否判定結果に影響を及ぼさないような角度の差分のことを指す。また、ΔＬとは、対称軸に沿った方向の微小な並進距離に起因するハンド位置姿勢の違いが把持可否判定結果に影響を及ぼさないような並進距離のことを指す。
【０１２４】
以下、第６実施形態との相違点について重点的に説明し、第６実施形態と同様の部分については説明を省略する。本実施形態でも、図１に示した構成を有する情報処理装置１００を用いる。図２３は、本実施形態におけるワーク認識テスト用画面に必要な情報を算出する処理手順を示すフローチャートである。図２３に示した処理のうち、ステップＳ２３０１、Ｓ２３０４、Ｓ２３０５、Ｓ２３０７、Ｓ２３１２は、それぞれ第４実施形態におけるステップＳ１９０１、Ｓ１９０４、Ｓ１９０５、Ｓ１９０７、Ｓ１９１１と同じ処理であるため説明を省略する。
【０１２５】
（ステップＳ２３０２）
ステップＳ２３０２では、ワーク２２０１についての３つの対称性情報を設定する。上述の第１の対称形状座標系に紐づく対称性情報の設定方法は、第６実施形態における設定方法と同様である。第２の対称形状座標系に紐づく対称性情報についてもほぼ第６実施形態と同様であるが、第２の対称形状座標系に紐づく対称性情報として、対称軸周りの回転対称性に加えて、対称軸に沿った方向の並進対称性についても設定する点が第６実施形態と異なる。つまり、第２の対称形状座標系に紐づく対称性情報が２つ設定されることになるので、これらの２つの対称性情報を設定する際には、ともに従属させる対称性情報として第１の対称形状座標系に紐づく対称性情報を指定する。ステップＳ２３０２で第２の対称形状座標系に紐づく対称性情報を設定することにより、第１の対称形状座標系と第２の対称形状座標系との相対的な位置姿勢情報が算出される。なお、本実施形態において設定される対称回数や、対称形状の範囲の情報は上述のとおりである。
【０１２６】
（ステップＳ２３０３）
ステップＳ２３０３では、ステップＳ２３０２で設定した第２の対称形状座標系に紐づく対称性情報と、ステップＳ２３０２で算出した第１の対称形状座標系と第２の対称形状座標系との相対的な位置姿勢情報を用いて、新たな対称形状座標系を算出する。ステップＳ２３０２で設定した第２の対称形状座標系に紐づく対称性情報は、第１の対称形状座標系の対称軸周りの回転角度とともに新たに算出した対称形状座標系に紐づけて、固有の対称性情報ＩＤを割り振って登録する。ここで、第２の対称形状座標系に紐づく対称性情報は、回転対称性に関する情報と並進対称性に関する情報の２つの対称性情報を指している。つまり、ステップＳ２３０３では、第６実施形態のステップ１９０３で１つの対称性情報のみについて実施した処理を、回転対称性と並進対称性の２つの対称性情報について実施することになる。
【０１２７】
（ステップＳ２３０６）
ステップＳ２３０６では、ステップＳ２３０５までに設定した対称軸について、それぞれの対称軸のもつ対称性情報に対応した把持位置姿勢が算出される。まず第１の対称形状座標系について、対称軸周りに９０度ずつ回転させた把持位置姿勢が基準把持位置姿勢を合わせて計４通り算出される。このとき算出される４通りの把持位置姿勢は、対称軸周りの回転角度によって、第１の対称形状座標系に従属している４通りの対称形状座標系にそれぞれ対応付けられる。次に、対応付けられた把持位置姿勢について、対応する対称形状座標系の対称軸周りに回転させた把持位置姿勢と、対称軸に沿った方向に並進させた把持位置姿勢をそれぞれ算出する。対称軸周りの回転角度はΔθ×iとし、対称軸に沿った方向の並進距離はΔＬ×ｊとする。このとき算出される把持位置姿勢は、対称軸周りにはＮ通り、対称軸に沿った方向にはＭ通りの姿勢が算出され、対応する対称形状座標系が紐づけられているものと同じ対称性情報ＩＤに紐づけられて登録される。ステップＳ２３０６においては、合計で４×Ｎ×Ｍ通りの把持位置姿勢が算出されることになる。
【０１２８】
（ステップＳ２３０８）
ステップＳ２３０８では、ハンド位置姿勢指定部１０９は、第１の対称形状座標系の対称軸周りの回転角度を指定する。本実施形態においては、図２４の表示器２４０１を用いて、スライダー２４０２の操作によって回転角度を指定する。
【０１２９】
（ステップＳ２３０９）
ステップＳ２３０９では、自由度情報提示部１０８は、ステップＳ１９０８において指定された第１の対称形状座標系の対称軸周りの回転角度に対応する対称形状座標系及び対称性情報を選択する。そして、さらにその対称性情報に紐づけられている対称軸周りの回転角、もしくは対称軸に沿った方向の並進位置を指定する。本実施形態においては、ハンドの把持位置姿勢は３つの自由度をもつため、表示するハンドの位置姿勢を決定するためには３つのパラメータを指定する必要がある。ステップＳ２３０８、ステップＳ２３０９はそのうちの２つのパラメータをそれぞれ指定している。本実施形態においては、図２４の表示器２４０３を用い、スライダー２４０４の操作によって第１の対称形状座標系の対称軸周りの回転角度に対応する対称形状座標系の対称軸周りの回転角度を指定する。
【０１３０】
（ステップＳ２３１０）
ステップＳ２３１０では、自由度情報提示部１０８は、ステップＳ２３０８とステップＳ２３０９で指定されたパラメータに従属する対称性について、ハンドが取り得る位置姿勢の範囲と、そのときの把持可否判定結果が提示される。図２４における表示器２４０５は、第１の対称形状座標系の対称軸周りの回転角度に対応する対称形状座標系の対称軸に沿った方向の並進位置と、その位置における把持可否判定結果を示している。
【０１３１】
（ステップＳ２３１１）
ステップＳ２３１１では、ハンド位置姿勢指定部１０９は、自由度情報提示部１０８によってユーザに提示された把持位置姿勢のうち、モデル表示部１１０に表示する把持位置姿勢を指定する。本実施形態においては、図２４における表示器２４０６中のスライダー２４０７を操作することで、表示するハンドの把持位置姿勢を指定することができる。ここで、表示器２４０１、表示器２４０３を用いて指定するパラメータを変更した場合は、従属する対称軸及びパラメータが変更されるため、表示器２４０６で指定できる把持位置姿勢も変更される。
【０１３２】
以上、第７実施形態においては、１つのワークの中で形状の対称性を３つもつようなワークについてのハンドの把持可否判定結果及びハンド把持位置姿勢を表示する方法について説明した。本実施形態では、第１の対称形状座標系における対称軸周りの回転角度に対応した対称形状座標系について設定された対称軸について、回転対称性のパラメータ（回転角度）に並進対称性のパラメータ（並進位置）従属させた例を示した。しかし、両者の従属関係は逆でもよい。つまり、並進位置に回転角度を従属させても構わない。さらに、従属させる対称性を切り替えられる仕組みを設けても構わない。
【０１３３】
（変形例１）
第７実施形態では、第６実施形態と同様に、画面上に表示する可能性のあるハンドの把持位置姿勢の全てについての把持可否判定を、ハンド位置姿勢指定部１０９によって自由度についてのパラメータを指定する前に実施した。この方法においては、把持可否判定結果をユーザが確認する必要のない姿勢までも事前に把持可否判定を実施していることになる。そこで、第７実施形態の変形例として、ハンド位置姿勢指定部１０９で第１の対称形状座標系の対称軸周りの回転角度を指定した後に、従属する対称形状座標系の対称軸周りの把持位置姿勢のみについて把持可否判定を実施するような処理を実施しても良い。このときの処理フローは、図２３のフローチャートにおいてステップＳ２３０７とステップＳ２３０８を入れ替えたフローとしても良いが、次のようにしてもよい。即ち、ステップＳ２３０６の次にステップＳ２３０８とステップＳ２３０９を実施し、その後にステップＳ２３０７を実施しても構わない。
【０１３４】
（変形例２）
第７実施形態では、ステップＳ２３０２において、第１の対称形状座標系に従属する対称形状座標系における回転対称性の対称回数をＮ＝３６０／Δθ、並進対称性の対称回数をＭ＝Ｌ／ΔＬで近似して設定したが、それ以外の方法を用いても良い。例えば、対称回数の設定を上記の式で求めたＮ及びＭよりも大きな値に設定しておく。次に、算出したハンドの把持位置姿勢のうち、回転角度をＮ通り、並進位置をＭ通りだけ選択すると、第１の対称座標系における対称軸周りの対称回数が４であることから、合計で４×Ｎ×Ｍ通りの位置姿勢が把持可否判定の対象として選択されることになる。その後、選択された位置姿勢についてのみ把持可否判定を実施する。具体的には、ステップＳ２３０６においてハンドの把持位置姿勢を算出後、自由度情報提示部１０８で把持可否判定を実施する把持位置姿勢を選択し、選択された把持位置姿勢について把持可否判定部１０６で把持可否判定を実施する。ここで、Ｎ通りの回転角度を選択する方法としては、例えば対称軸周りの回転角度が相対的にΔθずつ回転しているような回転角度を選択するのが望ましい。また、Ｍ通りの並進位置を選択する方法としては、例えば対称軸に沿った方向の並進位置が相対的にΔＬずつ並進しているような並進位置を選択するのが望ましい。
【０１３５】
＜第８実施形態＞
上述の情報処理装置は、ロボットアームと連携した状態で使用されうる。本実施形態では、一例として、図２６のようにロボットアーム２６１０（把持装置）に備え付けられて使用される制御システムについて説明する。計測装置２６００は、支持台２６９０に置かれた被計測物（物体ないしワーク）２６０５にパターン光を投影して撮像し、画像を取得する。そして、計測装置２６００の制御部が、又は、計測装置２６００の制御部から画像データを取得した制御部２６７０が、被計測物２６０５の位置及び姿勢を求め、計測結果である位置及び姿勢の情報を制御部２６７０が取得する。制御部２６７０は、上述した本発明の情報処理装置を備えており、これにより操作者は、各場合についてハンド把持可否を確認でき、これに基づいて、どのワークを如何なる把持姿勢のハンドで把持するかを決定する。或いは、情報処理装置は外部に設けられており、これから制御部２６７０に指令を出力する様にしてもよい。
【０１３６】
その後、制御部２６７０は、上記決定された位置及び姿勢の情報に基づいて、ロボットアーム２６１０に駆動指令を送ってロボットアーム２６１０を制御する。ロボットアーム２６１０は先端のロボットハンド（把持部）で被計測物２６０５を保持して、並進や回転などの移動をさせる。さらに、ロボットアーム２６１０によって被計測物２６０５を他の部品に組み付けることにより、複数の部品で構成された物品、例えば電子回路基板や機械などを製造することができる。また、移動された被計測物２６０５を加工することにより、物品製造を行うことができる。制御部２６７０は、ＣＰＵなどの演算装置やメモリなどの記憶装置を有する。なお、ロボットを制御する制御部を制御部２６７０の外部に設けても良い。また、計測装置２６００により計測された計測データや得られた画像をディスプレイなどの表示部２６８０に表示してもよい。この表示部２６８０は、上記ハンド把持可否の確認及び把持の決定を行う際にも用いることができる。
【０１３７】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１３８】
１００  情報処理装置
１０６  処理部（把持可否判定部）
２０１  物体（ワーク）
２０２  把持部（ハンド）
【図１】
2018176311.tif 000013
【図２】
2018176311.tif 000014
【図３】
2018176311.tif 000015
【図４】
2018176311.tif 000016
【図５】
2018176311.tif 000017
【図６】
2018176311.tif 000018
【図７】
2018176311.tif 000019
【図８】
2018176311.tif 000020
【図９】
2018176311.tif 000021
【図１０】
2018176311.tif 000022
【図１１】
2018176311.tif 000023
【図１２】
2018176311.tif 000024
【図１３】
2018176311.tif 000025
【図１４】
2018176311.tif 000026
【図１５】
2018176311.tif 000027
【図１６】
2018176311.tif 000028
【図１７】
2018176311.tif 000029
【図１８】
2018176311.tif 000030
【図１９】
2018176311.tif 000031
【図２０】
2018176311.tif 000032
【図２１】
2018176311.tif 000033
【図２２】
2018176311.tif 000034
【図２３】
2018176311.tif 000035
【図２４】
2018176311.tif 000036
【図２５】
2018176311.tif 000037
【図２６】
2018176311.tif 000038
【図２７】
2018176311.tif 000039
【図２８】
2018176311.tif 000040