(57)【要約】【課題】  より小型な三次元計測装置により対象物の位置の検出を可能にすること。【解決手段】  本発明は、撮像素子上の受光部が２以上の受光素子によって構成され、対象物を含む空間を撮像する撮像手段と、前記撮像手段から出力された第１の情報を入力する入力手段と、前記対象物に関する第２の情報を保持する保持手段と、前記第１、第２の情報に基づき、前記対象物の位置を検出する検出手段と、前記対象物を把持する把持手段と、前記検出した前記対象物の位置に基づいて、前記把持手段の動作を制御する制御手段と、を有することを特徴とする。【選択図】  図１
2019125056.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子上の受光部が２以上の受光素子によって構成され、対象物を含む空間を撮像する撮像手段と、
前記撮像手段から出力された第１の情報を入力する入力手段と、
前記対象物に関する第２の情報を保持する保持手段と、
前記第１、第２の情報に基づき、前記対象物の位置を検出する検出手段と、
前記対象物を把持する把持手段と、
前記検出した前記対象物の位置に基づいて、前記把持手段の動作を制御する制御手段と、
を有することを特徴とする情報処理システム。
【請求項２】
前記対象物を含む空間に対して所定のパターンを投影する投影手段を更に有することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第１の情報は、前記２以上の受光素子それぞれの出力に基づいて生成された２以上の画像に基づいて前記撮像手段により求められた前記対象物の三次元座標を含むことを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記対象物の三次元座標を算出する算出手段を更に有し、
前記第１の情報は、前記２以上の受光素子それぞれの出力に基づいて２以上の画像もしくは当該２以上の画像に基づいて生成された視差画像と、視差と、焦点距離と、基線長とを含み、
前記算出手段は、前記第１の情報に基づいて、前記対象物の三次元座標を算出することを特徴とする請求項１または２に記載の情報処理システム。
【請求項５】
前記撮像手段は、光学系の焦点距離または画角を変更する機能を有することを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記撮像手段は、前記光学系の駆動量に基づいて前記焦点距離を算出することを特徴とする請求項５に記載の情報処理システム。
【請求項７】
前記算出手段は、前記空間に配置された指標の既知の幾何情報に基づき、前記空間の三次元座標を算出することを特徴とする請求項５または６に記載の情報処理システム。
【請求項８】
前記第１の情報は、焦点距離が異なる複数の画像と前記複数の画像それぞれの焦点距離とが対応付けられた情報を含み、
前記算出手段は、前記焦点距離が異なる複数の画像と前記複数の画像それぞれの焦点距離とが対応付けられた情報に基づき、前記空間の三次元座標を算出することを特徴とする請求項５から７のいずれか１項に記載の情報処理システム。
【請求項９】
前記制御手段は、前記把持手段の動作に係る情報を生成することにより前記把持手段を制御することを特徴とする請求項１から８のいずれか１項に記載の情報処理システム。
【請求項１０】
前記制御手段は、前記把持手段を目標の位置に移動させる処理と、前記把持手段を含む画像に基づいて前記把持手段の位置を検出する処理とを繰り返し実行することにより、前記把持手段の動作を制御することを特徴とする請求項１から８のいずれか１項に記載の情報処理システム。
【請求項１１】
前記第１の情報は、前記２以上の受光素子の両方の出力に基づいて生成された画像を含み、
前記検出手段は、前記２以上の受光素子の両方の出力に基づいて生成された画像と、前記第２の情報とを、Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋに入力することにより、前記対象物の位置を検出することを特徴とする請求項１から１０のいずれか１項に記載の情報処理システム。
【請求項１２】
前記検出手段は、更に、前記第１、第２の情報に基づき、前記対象物の姿勢を検出し、
前記制御手段は、前記検出した前記対象物の位置と姿勢とに基づいて、前記把持手段の動作を制御することを特徴とする請求項１から１１のいずれか１項に記載の情報処理システム。
【請求項１３】
前記制御手段の制御に対するユーザの指示を、前記ユーザの操作によって受け付ける操作手段を更に有することを特徴とする請求項１から１２のいずれか１項に記載の情報処理システム。
【請求項１４】
前記制御手段は、前記操作手段に対するユーザの操作に基づいて、前記撮像手段の焦点距離を変更することを特徴とする請求項１３に記載の情報処理システム。
【請求項１５】
前記制御手段は、前記操作手段に対するユーザの操作に基づいて、前記撮像手段の画角を変更することを特徴とする請求項１３または１４に記載の情報処理システム。
【請求項１６】
前記検出手段は、前記操作手段に対するユーザの操作に基づいて、複数の対象物のうちの少なくとも１つの対象物に関し、当該対象物の位置を検出し、
前記制御手段は、前記検出手段が検出した対象物の位置に基づいて、前記把持手段の動作を制御することを特徴とする請求項１３から１５のいずれか１項に記載の情報処理システム。
【請求項１７】
前記第１の情報、前記第２の情報、前記対象物の位置、前記撮像手段の状態、前記把持手段の状態のうちの少なくとも１つを表示する表示手段を更に有することを特徴とする請求項１から１６のいずれか１項に記載の情報処理システム。
【請求項１８】
撮像素子上の受光部が２以上の受光素子によって構成され、対象物を撮像するための撮像手段から出力された第１の情報を入力する入力手段と、
前記対象物に関する第２の情報を保持する保持手段と、
前記第１、第２の情報に基づき、前記対象物の位置を検出する検出手段と、
前記検出した前記対象物の位置に基づいて、前記対象物を把持するための把持手段の動作を制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項１９】
撮像素子上の受光部が２以上の受光素子によって構成された撮像手段を用いて、対象物を含む空間を撮像するステップと、
前記撮像手段から出力された第１の情報を入力するステップと、
前記対象物に関する第２の情報を保持するステップと、
前記第１、第２の情報に基づき、前記対象物の位置を検出するステップと、
前記検出した前記対象物の位置に基づいて、前記対象物を把持する把持手段の動作を制御するステップと、
を有することを特徴とする情報処理方法。
【請求項２０】
コンピュータを請求項１８に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物の位置を検出し、把持手段により対象物を把持するための技術に関する。
【背景技術】
【０００２】
無作為に配置された部品等の対象物に対して三次元計測を行い、対象物の位置を精度よく計測し、ロボットアームに取り付けられたエンドエフェクタによって対象物を把持する装置が提案されている。特許文献１には、ロボットアームに搭載した三次元視覚センサ（三次元計測装置）によって対象物の位置を計測し、ロボットアームに取り付けられたエンドエフェクタによって対象物を取り出す技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１８８５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示される三次元計測装置は、ロボットアーム上に搭載する必要があるため、ロボットの可動域を損なわないよう小型であることが求められている。本発明は、より小型な三次元計測装置により対象物の位置の検出を可能にすることにある。
【課題を解決するための手段】
【０００５】
本発明は、撮像素子上の受光部が２以上の受光素子によって構成され、対象物を含む空間を撮像する撮像手段と、前記撮像手段から出力された第１の情報を入力する入力手段と、前記対象物に関する第２の情報を保持する保持手段と、前記第１、第２の情報に基づき、前記対象物の位置を検出する検出手段と、前記対象物を把持する把持手段と、前記検出した前記対象物の位置に基づいて、前記把持手段の動作を制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、より小型な三次元計測装置により対象物の位置の検出を可能になる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る情報処理システムの全体構成を示す概要図。
【図２】第１の実施形態に係る情報処理システムの全体構成を示すブロック図。
【図３】第１の実施形態において撮像部が備える撮像素子を説明する図。
【図４】第１の実施形態において撮像部が撮像する画像１５４ａ、１５４ｂの例を示す図。
【図５】第１の実施形態に係る情報処理システムによる処理の流れを示すフローチャート。
【図６】第２の実施形態に係る情報処理システムの全体構成を示すブロック図。
【図７】第２の実施形態に係る情報処理システムによる処理の流れを示すフローチャート。
【図８】第３の実施形態に係る情報処理システムの全体構成を示すブロック図。
【図９】第３実施形態において投影部が投影するパターンおよびその撮影画像の例を示す図。
【図１０】第３の実施形態に係る情報処理システムの全体構成を示す概要図。
【図１１】第４の実施形態に係る情報処理システムの全体構成を示す概要図。
【図１２】第４の実施形態において撮像部が撮像した画像１５４ｃの例を示す図。
【図１３】第５の実施形態に係る情報処理システムによる処理の流れを示すフローチャート。
【図１４】第５の実施形態において撮像部が撮像する画像１５４ａ、１５４ｂの例を示す図。
【図１５】第６の実施形態に係る情報処理システムの全体構成を示すブロック図。
【図１６】第６の実施形態において表示部に表示される画面の例を示す図。
【発明を実施するための形態】
【０００８】
［第１の実施形態］
本実施形態では、ランダムな位置に配置された複数の対象物について、撮像部を用いて三次元位置を検出し、ロボットアーム等に取り付けられたエンドエフェクタ（把持手段）を用いて把持を行う場合に適用できるシステムについて説明する。本実施形態では、撮像素子上の各々の受光部が２以上の受光素子によって構成される撮像部が把持対象物の画像を撮像し、各画素における三次元座標を算出する。検出部は撮像した画像と三次元座標に基づいて把持対象物の位置を検出する。制御部は、検出された把持対象物を把持部が把持および載置するための制御命令を生成し、把持部は生成された制御命令に基づき把持および載置動作を行う。これにより、より小型に構成された撮像部を用いたシステムにおいても、無作為に配置された対象物に対して、対象物の位置を高精度に検出することができ、把持部によって対象物を正確かつ安定的に把持することが可能となる。本実施形態において、把持は、把握（例えば複数のフィンガーで掴んだり挟持すること）や、保持（例えば真空吸着パッドや電磁力を利用して吸着すること）という概念を含む。以下、本発明の第１の実施形態の詳細について図面を参照しつつ説明する。
【０００９】
図１は本実施形態における情報処理システムの全体構成を示す概要図であり、撮像部１０１、把持部１０２と把持対象物３０１との関係を示している。把持部１０２を構成するロボットアーム３０２の先には撮像部１０１およびエンドエフェクタ３０３が取りつけられており、撮像部１０１は供給トレイ３０４に入った複数の把持対象物３０１が積載された環境を撮像する。把持部１０２は、情報処理装置２００内部に備える制御部２０４からの制御に基づき、ロボットアーム３０２とエンドエフェクタ３０３を駆動し、複数の把持対象物３０１からいずれか１つを把持する。ロボットアーム３０２は把持している把持対象物３０１を排出トレイ３０５内の所定の位置まで移動させた後、エンドエフェクタ３０３は把持状態にある把持対象物３０１を解放し、排出トレイ３０５内に載置する。
【００１０】
図２は本実施形態に係る情報処理システムの全体構成を示す図である。図１における長方形の枠は本実施形態の各処理を行う機能モジュールを、矢印はデータの流れを示している。本実施形態に係る情報処理システムは、情報処理装置２００とそれに接続する撮像部１０１、把持部１０２からなる。図１は、本実施形態に係る情報処理システムを実現する一例であり図示されるものに限定されない。
【００１１】
撮像部１０１は、把持対象物３０１が供給トレイ３０４内部に複数配置された環境を撮影した画像（以下撮影画像）と三次元座標を含む視覚情報（第１の情報）を取得する。撮像部１０１は本装置に接続して用いられ、視覚情報が入力部２０１に入力される。
【００１２】
図３は、撮像部１０１が備える撮像素子１５０を説明するための図である。本実施形態において、撮像部１０１は、内部に撮像素子１５０を備えている。図３（ａ）に示すように、撮像素子１５０にはその内部に受光部１５１が格子状に多数配置されている。各々の受光部１５１には、その上面にマイクロレンズ１５３が設けられ、効率的に集光できるようになっている。従来の撮像素子は１つの受光部１５１に対して１つの受光素子を備えているが、本実施形態における撮像部１０１が備える撮像素子１５０では、各々の受光部１５１は内部に複数の受光素子１５２を備えている。
【００１３】
図３（ｂ）は、１つの受光部１５１に着目し、側面から見た様子を示すものである。図３（ｂ）に示すように、１つの受光部１５１の内部に２つの受光素子１５２ａおよび１５２ｂが備えられている。個々の受光素子１５２は互いに独立しており、受光素子１５２ａに蓄積された電荷が受光素子１５２ｂに移動することはなく、また逆に受光素子１５２ｂに蓄積された電荷が受光素子１５２ａに移動することはない。そのため、図３（ｂ）において、受光素子１５２ａはマイクロレンズ１５３の右側から入射する光束を受光することになる。また逆に、受光素子１５２ｂはマイクロレンズ１５３の左側から入射する光束を受光することになる。
【００１４】
撮像部１０１は、受光素子１５２ａに蓄積されている電荷のみを選択して画像１５４ａを生成することができる。また同時に、撮像部１０１は受光素子１５２ｂに蓄積されている電荷のみを選択して画像１５４ｂを生成することができる。画像１５４ａはマイクロレンズ１５３の右側からの光束、画像１５４ｂはマイクロレンズ１５３の左側の光束のみを選択して生成されるため、図４に示すように、画像１５４ａと画像１５４ｂは、互いに異なる撮影視点から撮影された画像となる。
【００１５】
また、撮像部１０１が各受光部１５１から、受光素子１５２ａ、１５２ｂの両方に蓄積されている電荷を用いて画像を形成すると、従来の撮像素子を用いた場合と同じようにある視点から撮影した画像である画像１５４ｃ（不図示）が得られることになる。撮像部１０１は、以上説明した原理によって、撮影視点の異なる画像１５４ａ、１５４ｂと、従来の画像１５４ｃを同時に撮像することができる。
【００１６】
なお、各受光部１５１は、より多くの受光素子１５２を備えてもよく、任意の数の受光素子１５２を設定することができる。例えば、図４（ｃ）は、受光部１５１の内部に４つの受光素子１５２ａ〜１５２ｄを設けた例を示している。
【００１７】
撮像部１０１は、一対の画像１５４ａ、１５４ｂから、対応点探索を行って視差画像（不図示）を算出し、さらにその視差画像に基づいてステレオ法によって画像１５４ｃを構成する各画素の三次元座標を算出する機能を有する。対応点探索やステレオ法は公知の技術であり、様々な方法を適用可能である。対応点探索には、画像の輝度情報の勾配からエッジやコーナーの特徴点を抽出し、特徴点における特徴量が類似する点を探索する手法などを用いることができる。ステレオ法では、２つの画像の座標系の関係を導出し、射影変換行列を導出し、三次元形状を算出する。撮像部１０１は画像１５４ｃに加えて、画像１５４ａ、画像１５４ｂ、視差画像、ステレオ法によって求めたデプスマップ、三次元座標を出力する機能を有している。
【００１８】
なお、ここで言うデプスマップとは、画像１５４ｃを構成する各画素に対して、計測対象までの距離（奥行き）と相関のある値を保持する画像を指す。通常、計測対象までの距離と相関のある値は、通常の画像として構成可能な整数値であり、焦点距離から決定される所定の係数を乗ずることで、対象までの物理的な距離（例えばミリメートル）に変換することができる。この焦点距離は、先述のように撮像部１０１の固有情報に含まれる。
【００１９】
また、三次元座標は、上記のようにデプスマップから変換された計測対象までの物理的な距離に対して、別途設定される三次元空間中の直交座標系における原点（撮像部の光学中心）からの各軸（Ｘ，Ｙ，Ｚ）の値として設定される座標の集合である。
【００２０】
撮像部１０１は、単一の撮像素子１５０によって視点の異なる一対の画像１５４ａ、１５４ｂを取得することができるため、２つ以上の撮像部を必要とする従来のステレオ法と異なり、より小型な構成によって三次元計測を実現することが可能となる。
【００２１】
撮像部１０１は、さらに光学系の焦点距離を制御するオートフォーカス機構および画角を制御するズーム機構を備える。オートフォーカス機構は有効あるいは無効を切り替え可能であり、設定した焦点距離を固定することができる。撮像部１０１は、焦点および画角を制御するために設けられた光学系制御モーターの回転角あるいは移動量といった駆動量によって規定される制御値を読み取り、不図示のルックアップテーブルを参照して焦点距離を算出し、出力することができる。また撮像部１０１は、装着されたレンズから、焦点距離範囲、口径、ディストーションの係数、光学中心などのレンズの固有情報を読み取ることができる。読み取った固有情報は、後述する視差画像及びデプスマップのレンズ歪みの補正や、三次元座標の算出に用いられる。
【００２２】
撮像部１０１は、画像１５４ａ〜１５４ｃおよび視差画像、デプスマップのレンズ歪みを補正する機能、主点位置の画像座標（以下、画像中心と表記する）および画像１５４ａと画像１５４ｂの基線長を出力する機能を有している。また、生成された画像１５４ａ〜１５４ｃ、焦点距離、画像中心などの光学系データ、視差画像、基線長、デプスマップ、三次元座標などの三次元計測データを出力する機能を有している。本実施形態においては、これらのデータを総称して視覚情報と呼ぶ。撮像部１０１は、撮像部１０１が内部に備える記憶領域（不図示）に設定されたパラメータあるいは撮像部１０１外部から与えられる命令に応じて、視覚情報の全部あるいは一部を選択的に出力する。
【００２３】
把持部１０２は、供給トレイ３０４内に複数配置された把持対象物３０１のうち１つを把持し、排出トレイ３０５内に移動させ、載置する動作を行う。本実施形態において、把持部１０２はロボットアーム３０２とエンドエフェクタ３０３の組み合わせによって実現される。エンドエフェクタ３０３は様々なものが利用可能であるが、本実施形態では、真空圧により吸着力を得る方式の吸着パッドを使用するものとする。
【００２４】
次に、本実施形態に係る情報処理装置２００が備える各機能構成部について説明する。入力部２０１は、撮像部１０１から出力される視覚情報を情報処理装置２００内部に取り込む。本実施形態においては、視覚情報には撮像部１０１が撮像した画像１５４ｃと、先述の原理によって算出された三次元座標が含まれる。
【００２５】
検出部２０２は、入力部２０１が入力した画像１５４ｃ（以下、入力画像）と、保持部２０３が保持している把持対象物３０１に関する物体情報（第２の情報）をもとに、把持対象物３０１が存在する三次元空間における位置を検出する。本実施形態において、検出部２０２は、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）に上記入力画像を入力し、把持対象物３０１の中心の画像座標を得る。本実施形態において、ＣＮＮはカラー画像を入力として、コンボリューション層や結合層を経て、入力画像に対応する各画素が把持対象物３０１の中心である尤度を示す画像（以下、尤度画像と呼ぶ）を出力するように設計されている。
【００２６】
検出部２０２は、ＣＮＮが出力した尤度画像に対して尤度が高い領域を抽出し、その重心を把持対象物３０１の中心の画像座標として出力する。次に、検出部２０２は、取得した把持対象物３０１の中心の画像座標から入力部２０１が入力した三次元座標を参照し、把持対象物３０１の中心の三次元座標を得る。検出部２０２は、得られた把持対象物３０１の中心の三次元座標を、把持対象物３０１の位置として設定する。
【００２７】
保持部２０３は、検出部２０２が把持対象物３０１の位置を検出するために必要な把持対象物３０１に関する物体情報および撮像部１０１と把持部１０２との間の幾何変換パラメータを保持する。本実施形態において、物体情報は検出部２０２がＣＮＮを実行するために必要なＣＮＮモデル構造と重みパラメータを含む。本実施形態において、ＣＮＮモデル構造とは先述のコンボリューション層や結合層の構成を定義するデータである。重みパラメータは、コンボリューション層や結合層に設定される重み係数の集合である。ＣＮＮモデル構造と重みパラメータは把持対象物３０１の種別によって異なるため、保持部２０３は重みパラメータを把持対象物３０１の種別ごとに保持する。撮像部１０１と把持部１０２との間の幾何変換パラメータは、本情報処理装置の起動に先立ち、ハンドアイキャリブレーションと呼ばれる方法を用いて事前に算出して設定される。
【００２８】
制御部２０４は、検出部２０２が検出した把持対象物３０１の位置に基づき、把持対象物３０１を把持可能な位置および姿勢に把持部１０２を移動させ、把持対象物３０１を把持するための制御をする。そして、把持した把持対象物３０１を排出トレイ３０５へ搬送し、把持対象物３０１を解放して排出トレイ３０５に置載させるための制御を行う。制御部２０４は、把持部１０２を移動させるための軌道の生成と、ロボットアーム３０２やエンドエフェクタ３０３を動作させるための命令を発行する。
【００２９】
以上のような構成を備えた本実施形態の情報処理システムにおいて、対象物を把持する制御について以下説明する。図５は、本実施形態に係る情報処理システムによる処理の流れを示すフローチャートである。
【００３０】
（ステップＳ１０００）
本実施形態に係る情報処理システムの起動に際して、初期化処理が行われる。ステップＳ１０００の初期化処理には、撮像部１０１、把持部１０２の起動、保持部２０３が物体情報、幾何変換パラメータを装置外部から読み込み保持する処理や、検出部２０２がＣＮＮモデル構造や重みパラメータからＣＮＮを構成する処理が含まれる。
【００３１】
（ステップＳ１０１０）
撮像部１０１は、供給トレイ３０４内に複数積載された把持対象物３０１の画像を撮像し、画像中の各画素の三次元座標を算出して視覚情報を入力部２０１に送出する。入力部２０１は、撮像部１０１から視覚情報である画像１５４ｃと三次元座標を情報処理装置２００の内部に入力し、検出部２０２に送出する。
【００３２】
（ステップＳ１０２０）
検出部２０２は、ＣＮＮに画像１５４ｃを入力し、把持対象物３０１の中心の画像座標を抽出する。検出部２０２は、抽出した画像座標と入力部２０１が入力した三次元座標とを参照して、把持対象物３０１の三次元空間中での位置を検出する。検出された把持対象物３０１が複数存在する場合には、検出部２０２は最も表層に存在するもの、あるいは隠れが少なく、検出された把持対象物３０１の領域が最も大きいものを選択する。
【００３３】
（ステップＳ１０３０）
制御部２０４は、検出部２０２が検出した把持対象物３０１の位置に基づき、把持部１０２に対して把持動作を行うための命令を生成する。以下、本実施形態において制御部２０４が実行する具体的な処理の内容について説明する。
【００３４】
まず、制御部２０４は、保持部２０３から撮像部１０１と把持部１０２間の幾何変換パラメータを入力し、ステップＳ１０２０において算出した把持対象物３０１の撮像部１０１の座標系における位置を、把持部１０２の座標系における位置に変換する。
【００３５】
次に把持部１０２からエンドエフェクタ３０３の現在の位置姿勢を読み出し、エンドエフェクタ３０３の現在の位置から、把持対象物３０１の位置へと至る経路を算出する。本実施形態では、エンドエフェクタ３０３を把持対象物３０１の上部に移動させ、把持対象物３０１の上部から下降して把持対象物３０１の位置へと至る経路を算出する。制御部２０４は、算出した経路に従ってロボットアーム３０２を移動させるための一連の命令を生成する。
【００３６】
次に制御部２０４は、エンドエフェクタ３０３が把持対象物３０１の位置に至った時点で、エンドエフェクタ３０３が把持対象物３０１を把持するための命令を生成する。本実施形態において、エンドエフェクタ３０３が把持対象物３０１を把持するための命令として、制御部２０４は吸着パッドから吸引するエアーの流量を指定する。
【００３７】
次に制御部２０４は、エンドエフェクタ３０３を把持対象物３０１の把持位置から、排出トレイ３０５まで搬送する経路を算出する。
【００３８】
次に制御部２０４は、把持対象物３０１を把持しているエンドエフェクタ３０３に対して、排出トレイ３０５内で解放するための命令を生成する。本実施形態において、エンドエフェクタ３０３は把持を開始した時点から継続して吸引を行っているため、この時点で流量を０にして吸引を停止する。吸引を停止すると、エンドエフェクタ３０３と把持対象物３０１との間の真空圧が失われるため、把持対象物３０１はエンドエフェクタ３０３から開放される。
【００３９】
制御部２０４は、以上の手順で生成した命令群を把持部１０２に送出する。
【００４０】
（ステップＳ１０４０）
把持部１０２は、制御部２０４からの命令に従って、ロボットアーム３０２およびエンドエフェクタ３０３を動作させ、把持対象物３０１を把持および載置する。
【００４１】
（ステップＳ１０５０）
制御部２０４が、所定数の把持対象物３０１の把持および載置を完了したと判断した場合には、本実施形態における処理を終了する。そうでない場合には、ステップＳ１０１０の処理に戻る。
【００４２】
上述の説明では、把持部１０２は一組のロボットアーム３０２およびエンドエフェクタ３０３から構成される例について説明したが、複数の把持部１０２を備え、複数の把持対象物３０１を同時に把持できる構成にしてもよい。
【００４３】
また、本実施形態では、検出部２０２は把持対象物３０１の中心の画像座標を検出する例について説明したが、検出部２０２は、例えば窪みや突起部など、把持対象物３０１の特徴的な部位の画像座標を検出するようにしてもよい。いずれにしても、本実施形態は、把持対象物３０１の所定の位置を検出するという構成に広く適用できるものである。
【００４４】
また、本実施形態では、検出部２０２は把持対象物３０１の三次元空間における位置のみを算出したが、位置に加えて姿勢を算出するようにしてもよい。そして、制御部２０４は、検出部２０２が算出した姿勢に応じて、エンドエフェクタ３０３が把持対象物３０１を把持するための命令を生成することにより、より正確に把持できるようになる。なお、把持対象物３０１の姿勢は、例えば、入力部２０１が入力した三次元座標を参照して、把持対象物３０１の面の向きを求めることにより算出できる。
【００４５】
また、本実施形態では、制御部２０４は把持対象物３０１の上空から検出位置に至る軌道を生成する例について説明したが、軌道生成の方法はこれに限らず任意に定めることができる。移動経路に他の部品やトレイの壁などの障害物がある場合には、障害物を避ける軌道を生成するようにしてもよいし、位置のみでなく把持に適した姿勢を取るように、姿勢を変化させる軌道を生成してもよい。
【００４６】
また、本実施形態では、エンドエフェクタ３０３に真空圧により吸着力を得る方式の吸着パッドを用いる例について説明したが、電磁力による吸着パッド、グリッパーなど、他のものを用いてもよい。この場合、制御部２０４は、把持対象物３０１を把持および解放するために、エンドエフェクタ３０３の方式に適合する命令を生成する。例えば、電磁力による吸着パッドであれば、吸着あるいは解放の命令として所定の電流値を指定する。グリッパーであれば、トルク値などを指定する。
【００４７】
また、本実施形態のステップＳ１０４０では、制御部２０４は把持部１０２への命令群を一度に生成し、把持部１０２に送出する例について説明したが、これに限られない。制御部２０４は、把持部１０２への命令を生成するごとにその情報を逐次送出するようにしてもよい。
【００４８】
また、本実施形態のステップＳ１０５０では、制御部２０４が所定数の把持対象物の把持および載置を完了したと判断した場合に、本実施形態における処理を終了する例について説明したが、これに限られない。制御部２０４は、所定の時間が経過した後に処理を終了するようにしてもよいし、ユーザからの入力に従って処理を終了するようにしてもよい。また、エンドエフェクタ３０３が把持対象物３０１の把持に失敗した場合に処理を終了するようにしてもよい。
【００４９】
以上述べたように、本実施形態によれば、より小型に構成された撮像部を用いるシステムにおいても、無作為に配置された対象物に対して、対象物の位置を高精度に検出することができる。そのため、把持部によって対象物を正確かつ安定的に把持することが可能となる。
【００５０】
（変形例）
本実施形態では、検出部２０２が、ＣＮＮに入力画像を入力し、把持対象物３０１の画像上の位置を検出する構成について説明したが、入力画像に加えてデプスマップを入力するようにしてもよい。このとき、撮像部１０１が出力する視覚情報には、画像１５４ｃと三次元座標に加えて、デプスマップが含まれることになる。また同様に、入力部２０１は画像１５４ｃと三次元座標に加えて、撮像部１０１からデプスマップを入力する。保持部２０３が保持するＣＮＮモデル構造は、入力画像とデプスマップの両方を入力可能なものとする。この構成によって、検出部２０２は、把持対象物３０１の位置をより正確に検出することが可能になる。
【００５１】
［第２の実施形態］
第２の実施形態では、ランダムな位置に配置された複数の対象物について、撮像部を用いて三次元位置を検出し、ロボットアーム等の把持部を用いて把持を行う場合に適用できるシステムについて説明する。第１の実施形態では、撮像部によって対象物の三次元座標を算出する構成を説明した。これに対し、本実施形態においては、情報処理装置内部に備える三次元座標算出部によって対象物の三次元座標を算出することで、撮像部の処理負荷を軽減する。
【００５２】
本実施形態では、撮像素子上の各々の受光部が２以上の受光素子によって構成される撮像部が把持対象物を含む空間の画像と視差画像を取得する。三次元座標算出部は、入力した画像と視差画像に基づいて三次元座標を算出する。検出部は入力した画像と三次元座標に基づいて把持対象物の三次元位置を検出する。制御部は、検出された把持対象物を把持および載置する制御命令を生成し、把持部は制御命令に基づき把持および載置動作を行う。これにより、より小型に構成された撮像部を用いるシステムにおいても、無作為に配置された対象物に対して、対象物の位置を高精度に検出することができる。そのため、把持部によって対象物を正確かつ安定的に把持することが可能となる。
【００５３】
以下、本発明の第２の実施形態の詳細について図面を参照しつつ説明する。なお、第１の実施形態で既に説明をした構成については同一の符号を付し、その説明は省略する。
【００５４】
図６は、本実施形態に係る情報処理システムの全体構成を示すブロック図である。図２に示した第１の実施形態に係る全体構成と比較すると、本実施形態では、三次元情報算出部２０５が追加されている。ここでは、第１の実施形態との差異を中心に説明する。
【００５５】
図６において、本実施形態では、撮像部１０１が出力する視覚情報には画像１５４ｃ、視差画像、焦点距離、画像中心、基線長が含まれる。入力部２０１は、視覚情報として画像１５４ｃ、視差画像、焦点距離、画像中心、基線長を情報処理装置２００内部に取り込む。
【００５６】
三次元情報算出部２０５は、入力部２０１が入力した視覚情報のうち、視差画像、焦点距離、基線長を用いて三次元情報を算出する。本実施形態において、三次元情報には、視差画像の各画素における三次元座標が含まれる。三次元情報算出部２０５は、算出した三次元座標を検出部２０２に送出する。
【００５７】
以上のような構成を備えた本実施形態の情報処理システムにおいて、対象物を把持する制御について以下説明する。図７は、本実施形態に係る情報処理システムによる処理の流れを示すフローチャートである。
【００５８】
（ステップＳ１０１０）
撮像部１０１は、供給トレイ３０４内に複数積載された把持対象物３０１の画像を撮像し、視覚情報を入力部２０１に送出する。先述のように、撮像部１０１は画像１５４ａと画像１５４ｂから視差画像を算出する。入力部２０１は、撮像部１０１から、画像１５４ｃに加えて、視差画像、焦点距離、画像中心、基線長を情報処理装置２００の内部に入力し、検出部２０２に送出する。
【００５９】
（ステップＳ１０１５）
三次元情報算出部２０５は、入力部２０１が入力した視覚情報のうち、視差画像、焦点距離、画像中心、基線長を用いて、視差画像の各画素における三次元座標を算出する。以下、三次元座標算出処理について具体的に説明する。
【００６０】
三次元情報算出部２０５は、視差画像を構成する各画素Ｉ（ｕ，ｖ）について、数式１によって三次元座標Ｘ（ｕ，ｖ），Ｙ（ｕ，ｖ），Ｚ（ｕ，ｖ）を算出する。ｕ，ｖは画素の位置を表すインデックス、ｂは基線長、ｆは焦点距離、ｕ０，ｖ０は画像中心の座標を示す。
Ｚ（ｕ，ｖ）＝ｆ・ｂ／Ｉ（ｕ，ｖ）
Ｘ（ｕ，ｖ）＝（ｕ−ｕ０）・Ｚ（ｕ，ｖ）／ｆ                    …（数式１）
Ｙ（ｕ，ｖ）＝（ｖ−ｖ０）・Ｚ（ｕ，ｖ）／ｆ
三次元情報算出部２０５は、数式１を用いて算出した三次元座標Ｘ（ｕ，ｖ），Ｙ（ｕ，ｖ），Ｚ（ｕ，ｖ）を検出部２０２に送出する。
【００６１】
以上述べたように、本実施形態によれば、より小型に構成された撮像部を用いるシステムにおいても、無作為に配置された対象物に対して、対象物の位置を高精度に検出することができる。そのため、把持部によって対象物を正確かつ安定的に把持することが可能となる。また、本実施形態においては、情報処理装置内部に備える三次元座標算出部によって対象物の三次元座標を算出するため、撮像部の処理負荷を軽減することができる。
【００６２】
（変形例）
撮像部１０１は、視差画像に替えて画像１５４ａと画像１５４ｂを出力するようにしてもよい。入力部２０１は視差画像に替えて画像１５４ａと画像１５４ｂを入力し、三次元情報算出部２０５に送出する。ステップＳ１０１５において、三次元情報算出部２０５は、画像１５４ａと画像１５４ｂから視差画像を算出した後、数式１に基づいて三次元座標を算出する。一対の画像から視差画像を算出する方法は、従来から数多くの手法が提案されているが、要求に応じて適切な手法を選択すればよい。撮像部１０１に替えて三次元情報算出部２０５で視差画像を算出することにより、撮像部１０１の処理負荷をさらに軽減することが可能となる。また、撮像部１０１を改変することなく、視差画像を生成する精度や質を柔軟に制御することが可能となる。
【００６３】
［第３の実施形態］
本実施形態では、ランダムな位置に配置された複数の対象物について、撮像部を用いて三次元位置を検出し、ロボットアーム等の把持部を用いて把持を行う場合に適用できるシステムについて説明する。本実施形態は、さらにパターンを投影する投影部を備え、対象物の色や模様によらず、正確かつ安定的に対象物の三次元座標を算出できるものである。本実施形態では、撮像素子上の各々の受光部が２以上の受光素子によって構成される撮像部が把持対象物を含む空間の画像と視差画像を取得する。投影部はパターンを対象物に向けて投影する。三次元座標算出部は、入力した画像と視差画像に基づいて三次元座標を算出する。検出部は入力した画像と三次元座標に基づいて把持対象物の三次元位置を検出する。制御部は、検出された把持対象物を把持および載置する制御命令を生成し、把持部は制御命令に基づき把持および載置動作を行う。これにより、より小型に構成された撮像部を用いるシステムにおいても、無作為に配置された対象物に対して、対象物の位置を高精度に検出することができる。そのため、把持部によって対象物を正確かつ安定的に把持することが可能となる。
【００６４】
以下、本発明の第３の実施形態の詳細について図面を参照しつつ説明する。なお、第１、第２の実施形態で既に説明をした構成については同一の符号を付し、その説明は省略する。
【００６５】
図８は、本実施形態に係る情報処理システムの全体構成を示すブロック図である。図６に示した第２の実施形態に係る全体構成と比較すると、本実施形態では、投影部１０３が追加されている。ここでは、第２の実施形態との差異を中心に説明する。
【００６６】
投影部１０３は不図示の光源とスライドマスクを備え、把持対象物３０１が存在する領域（供給トレイ３０４の近傍）に向けて、スライドマスクによって決められる所定のパターンを投影する。図９は、本実施形態において投影部１０３が投影するパターンおよびその撮影画像の例を示す図であり、図９（ａ）は投影部１０３が投影するパターン１６０の例を示している。同図に示すように、パターン１６０は投影および非投影の領域がランダムに配置されている。
【００６７】
図１０は、第３の実施形態に係る情報処理システムの全体構成を示す概要図である。同図において、投影部１０３は撮像部１０１と共にロボットアーム３０２の先に取り付けられており、撮像部１０１の視野と略一致するように設置されている。
【００６８】
図９（ｂ）は、図１０に示す配置関係において、投影部１０３がパターン１６０を投影したときに、撮像部１０１によって撮像される画像１５４ａ（あるいは１５４ｂ）の例を示している。投影部１０３が投影するパターン１６０によって、把持対象物３０１にランダムな模様が付加されるため、把持対象物３０１の表面が一様である場合においても、ステレオ法による三次元計測が安定して行えるようになる。
【００６９】
以上のような構成を備えた本実施形態の情報処理システムにおいて、対象物を把持する制御について以下説明する。本実施形態に係る情報処理システムによる処理の流れを示すフローチャートは図７と同様であるが、一部のステップの処理の内容が第２の実施形態と異なる。
【００７０】
（ステップＳ１０１０）
制御部２０４は、投影部１０３に点灯の命令を送出する。投影部１０３はパターン１６０を把持対象物３０１が積載されている供給トレイ３０４に向けて投影する。
【００７１】
次に撮像部１０１は、１回目の撮像を行い、第１の視覚情報を入力部２０１に送出する。第１の視覚情報には、画像１５４ａと画像１５４ｂから生成される視差画像、焦点距離、画像中心、基線長が含まれる。撮像部１０１は、第１の視覚情報を入力部２０１に送出する。
【００７２】
次に制御部２０４は、投影部１０３に消灯の命令を送出する。投影部１０３はパターン１６０の投影を停止する。
【００７３】
次に撮像部１０１は、２回目の撮像を行い、第２の視覚情報を入力部２０１に送出する。第２の視覚情報には、画像１５４ｃが含まれる。撮像部１０１は、第２の視覚情報を入力部２０１に送出する。入力部２０１は、第１の視覚情報と第２の視覚情報を撮像部１０１より入力し、第１の視覚情報に含まれる視差画像、焦点距離、画像中心、基線長、第２の視覚情報に含まれる画像１５４ｃを検出部２０２に送出する。
【００７４】
このとき、検出部２０２は、パターン１６０が投影されない状態で撮像された画像１５４ｃと、パターン１６０が投影された状態で算出された視差画像とが入力されることになる。これにより、検出部２０２はパターン１６０を含まない入力画像をＣＮＮに入力して、把持対象物３０１の位置を検出することが可能となる。また、本実施形態では、パターン１６０が投影された状態で算出された三次元情報（第１の視覚情報）をもとに、高精度でノイズが少ない三次元座標を算出することも可能となる。
【００７５】
なお、上述の説明において、パターン１６０は投影および非投影の領域がランダムに配置されるように生成されるものとして説明したが、本実施形態はこれに限られない。例えば、パターン１６０は、特定の模様や色、所定の規則によって生成されるパターンであってもよい。
【００７６】
また、本実施形態において、投影部１０３は光源及びスライドマスクによって構成されるものとして説明したが、本実施形態はこれに限られない。例えば、レーザー光源と回折光学素子を組み合わせることによって、レーザービームを不規則に分岐させ、あたかもランダムパターンのような模様を投影することが可能である。また、データプロジェクターを用いて、所定の画像を投影するようにしてもよいし、時間経過に伴ってパターンを変更あるいは変形させるようにしてもよい。
【００７７】
また、本実施形態において、撮像部１０１と投影部１０３はロボットアーム３０２上に隣接するように設置するものとして説明したが、撮像部１０１と投影部１０３とを異なる場所に設置してもよい。例えば、投影部１０３をロボットアーム３０２上でなく、供給トレイ３０４の上方に設置するようにしてもよい。また、投影部１０３を可動式の雲台上などに設置し、ロボットアーム３０２の動きに合わせて雲台の姿勢を制御し、投影する方向を適応的に変更するようにしてもよい。
【００７８】
また、本実施形態のステップＳ１０１０において、撮像部１０１は投影部１０３が点灯および消灯された状態で２回の撮像を行う方法について説明したが、本実施形態はこれに限られない。投影部１０３を常に点灯させた状態で撮像を行い、検出部２０２はパターン１６０が投影された状態で撮影された画像１５４ｃをＣＮＮに入力し、把持対象物３０１を検出するようにしてもよい。この場合、パターン１６０が投影された状態で撮影した把持対象物３０１の画像に対して学習を行い、ＣＮＮの重みパラメータを設定する。
【００７９】
以上述べたように、本実施形態によれば、より小型に構成された撮像部を用いるシステムにおいても、無作為に配置された対象物に対して、対象物の位置を高精度に検出することができる。そのため、把持部によって対象物を正確かつ安定的に把持することが可能となる。また、本実施形態においては、対象物の色や模様によらず、正確かつ安定的に対象物の三次元座標を算出することが可能になる。
【００８０】
（変形例）
変形例では、本実施形態のステップＳ１０１０において、制御部２０４は投影部１０３に点灯命令を送出せず、撮像部１０１は第２の実施形態と同様に、パターン１６０を投影しない状態で画像を撮像する。ステップＳ１０１５において、三次元情報取得部２０５が三次元座標を適切に算出できない、あるいは、算出された三次元座標の精度が悪いと判断された場合のみ、ステップＳ１０１０に戻る。そして、ステップＳ１０１０において、本実施形態において説明したステップＳ１０１０の処理、すなわち、制御部２０４が投影部１０３に点灯命令を送出した後、撮像部１０１が撮像する。
【００８１】
この場合、把持対象物３０１が正しく計測できない場合のみパターン１６０が投影されるため、把持対象物３０１が正しく計測できる限りにおいては、撮像は一度のみとなり、処理時間の短縮が可能になる。
【００８２】
なお、算出した三次元座標は、例えば以下のようにして評価することができる。ステレオ法により対応点探索を行う際、左右の画像からサンプルされるパッチ（部分画像）に対して類似度を求める。そして、求めた類似度のうち、最も類似度が高い座標を対応点とする処理が行われる。なお、類似度としては、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）やＮＣＣ（Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ  Ｃｏｒｒｅｌａｔｉｏｎ）等を用いることができる。
【００８３】
このとき、対応点における類似度とその近傍での類似度の値とを比較する。対応点における類似度が、近傍での類似度に対して突出して高い場合には、三次元座標を適切に算出できている（あるいは精度が高い）と評価される。一方、対応点における類似度が近傍での類似度の値に近い場合には、ノイズなどの要因で対応点が変化しやすいため不安定であり、三次元座標が適切に算出されていないと評価される。
【００８４】
［第４の実施形態］
第４の実施形態では、ランダムな位置に配置された複数の対象物について、撮像部を用いて三次元位置を検出し、ロボットアーム等の把持部を用いて把持を行う場合に適用できるシステムについて説明する。本実施形態では、供給トレイの周囲に複数のマーカー（指標）を配置し、事前に算出したマーカー相互の距離を用いることで、撮像部が備えるオートフォーカス機構による焦点距離の変動がある場合においても、高精度に三次元座標を算出できる。
【００８５】
本実施形態では、撮像素子上の各々の受光部が２以上の受光素子によって構成される撮像部が把持対象物を含む空間の画像と視差画像を取得する。三次元座標算出部は、入力した画像と視差画像に基づいて三次元座標を算出した後、マーカー相互の距離を用いて、三次元座標を補正する。検出部は入力した画像と三次元座標に基づいて把持対象物の三次元位置を検出する。制御部は、検出された把持対象物を把持および載置する制御命令を生成し、把持部は制御命令に基づき把持および載置動作を行う。これにより、より小型に構成された撮像部を用いるシステムにおいても、無作為に配置された対象物に対して、対象物の位置を高精度に検出することができる。そのため、把持部によって対象物を正確かつ安定的に把持することが可能となる。
【００８６】
以下、本発明の第４の実施形態の詳細について図面を参照しつつ説明する。なお、第１〜第３の実施形態で既に説明をした構成については同一の符号を付し、その説明は省略する。
【００８７】
図１１は、本実施形態に係る情報処理システムの全体構成を示す概要図である。同図に示すように、本実施形態では、供給トレイ３０４の周囲にマーカー３０６が複数配置されている。
【００８８】
図１２は、図１１の状況において、撮像部１０１が撮像した画像１５４ｃの例を示している。本実施形態においてマーカー３０６は円形であり、形状、色、大きさ等の幾何情報は既知である。マーカー３０６が図１２のように画像１５４ｃ中に観測された場合、本実施形態の情報処理システムでは、画像処理によってその中心座標を高精度に特定できるように構成されている。なお、三次元空間における複数のマーカー３０６間の相互の距離は事前に精密に測定されている。また、本実施形態における距離とは、三次元空間中に存在する２点の間で定義されるユークリッド距離を意味する。
【００８９】
本実施形態において、撮像部１０１のオートフォーカス機構は有効化されている。撮像部１０１が出力する視覚情報には、第２実施形態と同じく画像１５４ｃ、視差画像、焦点距離、画像中心、基線長が含まれる。そのため、本実施形態において焦点距離は常時変化するものの、合焦後の焦点距離が撮像部１０１から出力され、入力部２０１によって情報処理装置２００に取り込まれる。
【００９０】
保持部２０３は、把持対象物３０１に関する物体情報、撮像部１０１と把持部１０２との間の幾何変換パラメータに加えて、基準サイズ情報を保持する。本実施形態における基準サイズ情報は、三次元空間中での複数のマーカー３０６間の距離を含む。
【００９１】
三次元情報算出部２０５は、入力部２０１が入力した視覚情報のうち、視差画像、焦点距離、基線長を用いて三次元情報を算出する。本実施形態において、三次元情報は、視差画像の各画素における三次元座標が含まれる。また、一度算出した三次元情報について、入力画像と保持部２０３が保持する基準サイズ情報を参照して、三次元情報を修正する。
【００９２】
以上のような構成を備えた本実施形態の情報処理システムにおいて、対象物を把持する制御について以下説明する。本実施形態に係る情報処理システムによる処理の流れを示すフローチャートは図７と同様であるが、一部のステップの処理の内容が第２の実施形態と異なる。
【００９３】
（ステップＳ１０００）
本実施形態に係る情報処理システムの起動に際して、初期化処理が行われる。保持部２０３は、物体情報、幾何変換パラメータに加えて、基準サイズ情報を読み込み保持する。
【００９４】
（ステップＳ１０１０）
撮像部１０１は、把持対象物３０１を含む環境の画像を撮像し、視覚情報を入力部２０１に送出する。本実施形態では、先述のように、撮像部１０１のオートフォーカス機構が有効化されており、合焦後の焦点距離が視覚情報に含まれる。
【００９５】
（ステップＳ１０１５）
三次元情報算出部２０５は、入力部２０１が入力した視覚情報のうち、視差画像、焦点距離、画像中心、基線長を用いて、視差画像の各画素における三次元座標を算出する。その後、三次元情報算出部２０５は、算出した三次元情報について、入力画像と保持部２０３が保持する基準サイズ情報を参照して、三次元情報を修正する。
【００９６】
数式１によって算出される三次元座標の精度は、撮像部１０１から出力される焦点距離ｆの精度に依存する。焦点距離は、光学系制御モーターの回転角あるいは移動量によって規定される制御値から、ルックアップテーブルを参照することで算出される。しかしながら、回転角（あるいは移動量）の読取り値に含まれる誤差や、ルックアップテーブル作成時に発生する誤差によって、三次元座標の算出精度が低下する場合がある。この誤差を、例えばモーターに付随するエンコーダーを高精度化するなど、撮像部１０１の変更によって低減させるのはコスト増につながる。本実施形態では、撮像部１０１の構成を変えることなく、マーカー３０６を用いて、三次元座標を修正して精度を向上させる。以下、三次元座標を修正する方法について説明する。
【００９７】
三次元情報算出部２０５は、三次元情報を算出した後、入力画像から複数のマーカー３０６の画像座標を検出する。図１２に示す画像から形状およびサイズが既知であるマーカー３０６を検出することは一般的な画像処理によって実現可能であり、各種手法を適用できる。
【００９８】
三次元情報算出部２０５は、検出した複数のマーカー３０６の画像座標から、既に算出した三次元座標を参照し、マーカー３０６相互の距離ｄｍを算出する。三次元情報算出部２０５は、保持部２０３から基準サイズ情報として、事前に計測して設定されたマーカー３０６相互の距離ｄｒを読み出す。三次元情報算出部２０５は、数式２により、ｄｍとｄｒを用いて三次元座標Ｘ（ｕ，ｖ），Ｙ（ｕ，ｖ），Ｚ（ｕ，ｖ）を補正し、補正後の三次元座標Ｘ’（ｕ，ｖ），Ｙ’（ｕ，ｖ），Ｚ’（ｕ，ｖ）を算出する。
Ｘ’（ｕ，ｖ）＝Ｘ（ｕ，ｖ）・ｄｒ／ｄｍ
Ｙ’（ｕ，ｖ）＝Ｙ（ｕ，ｖ）・ｄｒ／ｄｍ                          …（数式２）
Ｚ’（ｕ，ｖ）＝Ｚ（ｕ，ｖ）・ｄｒ／ｄｍ
三次元情報算出部２０５は、算出した補正後の三次元座標Ｘ’（ｕ，ｖ），Ｙ’（ｕ，ｖ），Ｚ’（ｕ，ｖ）を検出部２０２に送出する。
【００９９】
以上の本実施形態の説明では、マーカー３０６に円形のものを用いる方法について説明したが、これに限られない。マーカー３０６に矩形のものを用いてもよいし、マーカー３０６の内部に固有の模様を付加し、個々のマーカー３０６を識別し、特定できるように構成してもよい。
【０１００】
また、本実施形態において、三次元情報算出部２０５は、マーカー３０６相互の距離を用いて、一度算出した三次元情報を補正する方法について説明したが、これに限られない。数式１にｄｒ／ｄｍを乗じてＸ、Ｙ、Ｚを介さずに直接Ｘ’、Ｙ’、Ｚ’を算出してもよい。また、マーカー３０６相互の距離に替えて、複数のマーカー３０６の配置情報を用いることにより、マーカー３０６が配置されている平面（本実施例においては、供給トレイ３０４の底面）を定義するパラメータＰｍを算出することができる。一方、三次元情報算出部２０５が算出した三次元情報Ｘ、Ｙ、Ｚから、供給トレイ３０４の底面を構成する平面パラメータＰｒを求め、ＰｒをＰｍに一致させるように補正を行ってもよい。
【０１０１】
また、本実施形態において、基準サイズ情報は、新たに設けたマーカー３０６相互の距離を用いる方法について説明したが、これに限られない。マーカー３０６を設けずに、供給トレイ３０４の一辺の長さや、把持対象物３０１の特定の部位の長さを基準サイズ情報としてもよい。三次元情報算出部２０５は、画像１５４ｃから供給トレイ３０４や把持対象物３０１の特定の部位を検出してその距離を算出し、基準サイズ情報と比較して三次元情報の補正を行ってもよい。
【０１０２】
以上述べたように、本実施形態によれば、より小型に構成された撮像部を用いるシステムにおいても、無作為に配置された対象物に対して、対象物の位置を高精度に検出することができる。そのため、把持部によって対象物を正確かつ安定的に把持することが可能となる。また、本実施形態においては、撮像部が備えるオートフォーカス機構による焦点距離の変動がある場合においても、高精度に三次元座標を算出できる。
【０１０３】
（変形例）
本変形例では、撮像部１０１は、一回の撮像において、オートフォーカス機構によって光学系を合焦させるまでの間に、焦点距離を変更しながら複数回の撮像を行う。そして、この過程におけるすべての画像１５４ｃと焦点距離とを対応付けて保持しておき、これらを視覚情報に含めるようにする。すなわち、本変形例において、入力部２０１は、視覚情報として、視差画像、画像中心、基線長に加えて、さらにＮ枚の入力画像群と、対応するＮ個の合焦に至るまでの焦点距離を入力する。三次元情報算出部２０５は、Ｎ枚の入力画像群に対して、画素ごとに最もコントラストの高い画像番号Ｍ（０≦Ｍ≦Ｎ）に対応する焦点距離ｆｍ（ｕ，ｖ）を選択する。三次元情報算出部２０５は、数式１のｆに替えてｆｍ（ｕ，ｖ）を用いることで、より高精度な三次元座標を算出する。
【０１０４】
（第５の実施形態）
本発明の第５の実施形態では、ランダムな位置に配置された複数の対象物について、撮像部を用いて三次元位置を検出し、ロボットアーム等の把持部を用いて把持を行う場合に適用できるシステムについて説明する。本実施形態では、事前に撮像部と把持部との間の幾何変換パラメータを算出せず、撮像部の視野内に常に把持部が存在するようにシステムを構成し、ビジュアルサーボによって制御を行う。このような構成により、対象物を正確に把持する。
【０１０５】
本実施形態では、撮像素子上の各々の受光部が２以上の受光素子によって構成される撮像部が把持対象物を含む空間の画像を取得する。三次元座標算出部は、入力した画像に基づき三次元座標を算出する。検出部は入力した画像と三次元座標に基づき把持対象物の三次元位置を検出する。制御部は、入力画像中で検出される対象物と把持部の位置関係に基づき、把持部を対象物に接近させる制御命令を生成する。把持部は制御命令に基づき、対象物への接近動作を行う。撮像部は再び画像を取得する。以上の撮像部と把持部の制御を短時間に繰り返し実行する。これにより、小型かつ低コストに情報処理装置を構成しつつも、事前に撮像部と把持部との間の幾何変換パラメータを算出することなく、把持装置によって対象物を正確かつ安定的に把持することが可能となる。これにより、より小型に構成された撮像部を用いるシステムにおいても、無作為に配置された対象物に対して、対象物の位置を高精度に検出することができる。そのため、把持部によって対象物を正確かつ安定的に把持することが可能となる。
【０１０６】
以下、本発明の第５の実施形態の詳細について図面を参照しつつ説明する。なお、第１〜第４の実施形態で既に説明をした構成については同一の符号を付し、その説明は省略する。
【０１０７】
本実施形態に係る情報処理システムの全体構成を示すブロック図は、図２の第１実施形態と同様である。ここでは、第１実施形態との相違点を中心に説明し、同じ構成の部分についてはその説明を省略する。
【０１０８】
本実施形態において、撮像部１０１が出力する視覚情報には画像１５４ａ、１５４ｂ、画像中心が含まれる。入力部２０１は、視覚情報として画像１５４ａ、１５４ｂ、画像中心を情報処理装置２００内部に取り込む。本実施形態においては、撮像部１０１の視野内に常にエンドエフェクタ３０３が存在するように撮像部１０１の画角や、ロボットアーム３０２に対する撮像部１０１の取り付け位置が定められている。すなわち、撮像する画像１５４ａ、１５４ｂ中に、常にエンドエフェクタ３０３の像が写っていることになる。
【０１０９】
検出部２０２は、入力部２０１が入力した画像１５４ａ、１５４ｂ（以下、入力画像ａ、ｂ）と、保持部２０３が保持している把持対象物３０１に関する物体情報をもとに、入力画像ａ、ｂのそれぞれで把持対象物３０１の中心の画像座標を検出する。また、それぞれの入力画像において、エンドエフェクタ３０３の先端の画像座標についても検出する。本実施形態では、把持対象物３０１の三次元座標については算出しない。
【０１１０】
制御部２０４は、検出部２０２が検出した入力画像ａ、ｂにおける把持対象物３０１の位置に基づき、把持対象物３０１を把持できる位置（以下、目標位置）に把持部１０２を移動させる。制御部２０４は、把持部１０２が目標位置に達すると、把持対象物３０１を把持し、排出トレイ３０５へ搬送し、把持対象物３０１を解放して排出トレイ３０５に置載させるための制御を行う。制御部２０４は、把持部１０２を目標位置に接近させるための命令や、ロボットアーム３０２やエンドエフェクタ３０３を動作させるための命令を発行する。
【０１１１】
以上のような構成を備えた本実施形態の情報処理システムにおいて、対象物を把持する制御について以下説明する。図１３は、本実施形態に係る情報処理システムによる処理の流れを示すフローチャートである。本実施形態においては、ステップＳ１０１０からステップＳ１０２６までの処理を繰り返し反復実行する。
【０１１２】
（ステップＳ１０１０）
撮像部１０１は、把持対象物３０１を含む環境の画像を撮像し、視覚情報を入力部２０１に送出する。入力部２０１は、撮像部１０１から視覚情報である画像１５４ａ、１５４ｂ（入力画像ａ、ｂ）、画像中心を情報処理装置２００の内部に入力し、検出部２０２に送出する。
【０１１３】
（ステップＳ１０２０）
検出部２０２は、入力部２０１が入力した入力画像ａ、ｂをＣＮＮに入力し、ＣＮＮから出力された把持対象物３０１の尤度画像に基づき入力画像ａ、ｂ中から把持対象物３０１を検出する。そして、検出部２０２は、その画像座標をそれぞれ出力して、制御部２０４に送出する。
【０１１４】
（ステップＳ１０２２）
制御部２０４は、検出部２０２が検出した入力画像ａ、ｂに対する把持対象物３０１の画像座標に基づき、把持部１０２に対して把持動作を行うため、把持部１０２を把持対象物３０１に接近させる命令を生成する。
【０１１５】
図１４は、本実施形態における画像１５４ａおよび画像１５４ｂ（入力画像ａ、ｂ）の例を示している。制御部２０４は、ビジュアルサーボによって把持部１０２を把持対象物３０１に接近させる。図１４において、入力画像ａにおいて検出された把持対象物３０１の画像座標をｔａ、入力画像ｂにおいて検出された同一の把持対象物３０１の画像座標をｔｂとする。また、それぞれの入力画像において検出されたエンドエフェクタ３０３の先端の画像座標をそれぞれｅａ、ｅｂとする。
【０１１６】
制御部２０４は、把持対象物３０１の画像座標ｔａ、ｔｂを目標値として、エンドエフェクタ３０３先端の画像座標ｅａ、ｅｂを各々ｔａ、ｔｂに一致させる方向に、把持部１０２を把持対象物３０１に接近させるべく、把持部１０２への移動量を算出する。そして、制御部２０４は、算出した移動量に基づいて命令を発行する。本実施形態においては、ステップＳ１０１０からステップＳ１０２６までの処理を短時間に繰り返し実行する。そのため、微小時間内に把持部１０２の動作を完了させるべく、制御部２０４は現在のｅａ、ｅｂから目標値ｔａ、ｔｂに向けた方向へ、所定の微小時間での移動量を算出する。すなわち、一般的には、一度の移動でエンドエフェクタ３０３は目標値に到達しない。ステップＳ１０１０からステップＳ１０２６までの処理を繰り返すことによって、エンドエフェクタ３０３は把持対象物３０１の把持位置へと到達することになる。制御部２０４は、発行した命令を制御部１０２に送出する。
【０１１７】
なお、次のステップＳ１０２４では、ステップＳ１０２２において算出した移動量に従って把持部１０２が移動する。そのため、次回のステップＳ１０１０を実行する際には、撮像部１０１は前回のステップＳ１０１０の時点と異なる視点位置から撮像を行うことになる。この視点位置においては、エンドエフェクタ３０３は、前回よりも把持対象物３０１に接近している。そのため、次回のステップＳ１０２２実行時には、把持部１０２の目標値は、前回の目標値とは異なる値に更新される。ステップＳ１０１０からステップＳ１０２６までの処理を繰り返すごとに、エンドエフェクタ３０３は次第に把持対象物３０１に接近する。
【０１１８】
本実施形態においては、撮像部１０１も情報処理装置２００も明示的な三次元計測を行わない。しかしながら、ステレオの対をなす入力画像ａ、ｂについて、同時にエンドエフェクタ３０３先端の画像座標と把持対象物３０１の画像座標とを一致させるような制御を行うため、三次元計測を行うのと同様の効果を得ることができる。図１４において、初期段階では把持対象物３０１よりもエンドエフェクタ３０３が手前に存在するため、エンドエフェクタ３０３先端の視差｜ｅａ−ｅｂ｜と把持対象物３０１の視差｜ｔａ−ｔｂ｜を比較すると、｜ｅａ−ｅｂ｜＞｜ｔａ−ｔｂ｜となる。ステップＳ１０１０からステップＳ１０２６までの処理を繰り返し実行することにより、｜ｅａ−ｅｂ｜と｜ｔａ−ｔｂ｜の差は次第に縮小していく。すなわち、エンドエフェクタ３０３と把持対象物３０１の奥行きも次第に近づいていき、最終的にエンドエフェクタ３０３は把持対象物３０１に至ることになる。
【０１１９】
（ステップＳ１０２４）
把持部１０２は、制御部２０４からの命令に従って、ロボットアーム３０２を動作させる。
【０１２０】
（ステップＳ１０２６）
制御部２０４は、ロボットアーム３０２の移動量（あるいは移動速度）が十分小さくなった場合に、把持部１０２が把持対象物３０１の把持位置（目標値）に移動したと判断し、ステップＳ１０３０に進む。そうでない場合には、ステップＳ１０１０の処理に戻る。この場合、次回のステップＳ１０１０においては、ロボットアーム３０２が移動しているため、撮像部１０１は前回とは異なる視点位置から入力画像ａ、ｂを撮像することになる。
【０１２１】
（ステップＳ１０３０）
ステップＳ１０２６までの処理により、把持部１０２は把持対象物３０１の把持位置に到達しているため、本実施形態のステップＳ１０３０では、制御部２０２は把持対象物３０１の把持位置に至る経路を生成しない。制御部２０４は、エンドエフェクタ３０３が把持対象物３０１を把持するための命令、把持対象物３０１を排出トレイ２０５まで搬送する命令、把持対象物３０１を開放する命令をそれぞれ生成し、把持部１０２へ送出する。
【０１２２】
なお、本実施形態において、撮像部１０１のオートフォーカス機構を有効化してもよい。ステップＳ１０１０からステップＳ１０２６までの処理を反復実行することによって、エンドエフェクタ３０３は把持対象物３０１に順次接近していくことになる。この過程で撮像部１０１の視点も把持対象物３０１に接近するため、合焦を維持したまま画像中の把持対象物３０１の像が拡大していき、反復を繰り返すごとに目標値が精緻化される。結果として、対象物を正確かつ安定的に把持できるようになる。
【０１２３】
以上述べたように、本実施形態によれば、より小型に構成された撮像部を用いるシステムにおいても、無作為に配置された対象物に対して、対象物の位置を高精度に検出することができる。そのため、把持部によって対象物を正確かつ安定的に把持することが可能となる。
【０１２４】
（変形例）
本実施例の撮像部１０１では、画像１５４ａ、１５４ｂに替えて、画像１５４ｃと視差画像あるは三次元座標を出力する。本変形例の場合、第２実施形態と同様に三次元情報算出部２０５を設け、三次元情報算出部２０５によって、把持対象物３０１の三次元空間中の位置を算出する。ステップＳ１０２２において、制御部２０４は把持対象物３０１の位置を示す三次元座標を目標値とし、エンドエフェクタ３０２の三次元座標を目標値に近づけるための制御を行う。
【０１２５】
［第６の実施形態］
本発明の第６の実施形態では、ランダムな位置に配置された複数の対象物について、撮像部を用いて三次元位置を検出し、ロボットアーム等の把持部を用いて把持を行う場合に適用できるシステムについて説明する。本実施形態では、操作部と表示部を備え、ユーザからの操作を入力し、動作状況をユーザに提示する。これにより、ユーザが所望する条件やタイミングで、対象物の把持や載置を行うことが可能となる。以下、本発明の第６の実施形態の詳細について図面を参照しつつ説明する。なお、第１〜第５の実施形態で既に説明をした構成については同一の符号を付し、その説明は省略する。
【０１２６】
図１５は本実施形態に係る情報処理システムの全体構成を示すブロック図である。図６に示した第２実施形態と比較すると、操作部１０４および表示部１０５が追加されている。同図の説明では、第２実施形態との相違点を中心に説明し、第２の実施形態と同様の構成については説明を省略する。
【０１２７】
操作部１０４は、キーボード、マウス、ボタン、ダイヤルなどの装置によって実現され、ユーザの指示、意図を操作として受け付け、情報処理装置２００に伝達する。操作部１０４はユーザからの操作を入力し、入力した信号を入力部２０１に送出する。
【０１２８】
表示部１０５は、ディスプレイなどの装置によって実現され、検出部２０２、制御部２０４、三次元情報算出部２０５からの情報を可視化して表示し、ユーザに提示する役割を果たす。
【０１２９】
入力部２０１は、撮像部１０１からの入力に加えて、操作部１０４からの操作信号を情報処理装置２００の内部に入力し、検出部２０２、制御部２０４、三次元情報算出部２０５に送出する。
【０１３０】
制御部２０４は、把持部１０２の制御に加えて、操作部１０４からの操作信号に基づき、撮像部１０１の焦点距離または画角を変更する命令を撮像部１０１に送出する。
【０１３１】
以上のような構成を備えた本実施形態の情報処理システムにおいて、対象物を把持する制御について以下説明する。本実施形態に係る情報処理システムによる処理の流れを示すフローチャートは図７（第２の実施形態）と同様であるため、その説明は省略する。
【０１３２】
図１６は、本実施形態において表示部１０５に表示される画面の例を示している。表示部１０５にはウィンドウ１８０が表示される。ウィンドウ１８０内には、撮像部１０１が現在撮像している画像１５４ｃ、撮像部１０１の焦点距離および画角を操作するスライダ１８１ａ、１８１ｂ、カーソル１８２、操作ボタン１８３ａ〜１８３ｄが表示されている。画像１５４ｃには、供給トレイ３０４内に積載された把持対象物３０１が映っており、ユーザは表示部１０５内に表示されているウィンドウ１８０によって、情報処理システムの現在の稼働状態を確認することができる。
【０１３３】
スライダ１８１ａは、ユーザが左右に移動させることにより、撮像部１０１の焦点距離を随時変更することができる。スライダ１８１ｂは、ユーザが左右に移動させることにより、撮像部１０１の画角を随時変更することができる。
【０１３４】
カーソル１８２は、ユーザが画面上の任意の場所に移動させ、制御（把持）を行う対象物を選択するためのものである。例えば、供給トレイ３０４内に配置されている把持対象物３０１の一つの上にカーソル１８２を移動させ、ボタン１８３ａ（検出と表示されているボタン）を押すことによって、カーソル１８２が示す検出対象物３０１を明示的に検出する。より具体的には、操作部１０４は、カーソル１８２とボタン１８３ａの操作情報を入力部２０１に送出する。入力部２０１は、カーソル１８２とボタン１８３ａの操作情報を検出部２０２に送出する。検出部２０２は、カーソル１８２が選択している画像１５４ｃの座標を参照し、その最近傍に存在する把持対象物３０１を検出する。
【０１３５】
同様に、ボタン１８３ｂ、１８４ｃについても、制御部２０４が実行する処理の内容を制御し、ユーザが所望する特定の把持対象物３０１を把持させることや、実行するタイミングを変更することができるものである。また、ボタン１８３ｄは、ステップＳ１０５０の条件によらず、任意のタイミングで本実施形態における情報処理装置２００の制御を終了することができるものである。
【０１３６】
以上述べたように、本実施形態によれば、より小型に構成された撮像部を用いるシステムにおいて、ユーザが所望する条件やタイミングで、対象物の把持や載置を行うことが可能となる。
【０１３７】
（変形例）
第６の実施形態の図１６では、表示部１０５がウィンドウ１８０内に画像１５４ｃを表示する例について説明したが、これに限られない。画像１５４ｃに替えて画像１５３ａ、１５３ｂの片方あるいは両方を表示するようにしてもよいし、視差画像、デプスマップ、三次元座標を表示するようにしてもよい。また、画像１５４ｃ上に検出部２０２が検出した把持対象物３０１の概形や座標を重畳して表示するようにしてもよいし、ロボットアーム３０２やエンドエフェクタ３０３の稼働域や稼働状況を表示するようにしてもよい。この場合、検出部２０２や制御部２０４が表示部１０５に情報を送出し、表示部１０５が入力した情報に基づき、ウィンドウ１８０を描画して表示する。
【０１３８】
また、タッチパネル等の装置を用いて、ユーザが表示部１０５を直接操作できるようにしてもよい。この場合、タッチパネル等の装置が、操作部１０４と表示部１０５の両方の機能を実現していることになる。
【０１３９】
［その他の実施形態］
上述した各実施形態における入力部２０１は、撮像素子上の各々の受光部が２以上の受光素子によって構成される撮像部からの視覚情報を、情報処理装置に入力できる構成となっていれば特定の構成に限定されるものではない。また、入力部２０１が入力する、視覚情報に含まれる画像についても、ＲＧＢカラー画像、グレイスケール画像、白黒画像など、種々の種類の画像が適用可能である。
【０１４０】
上述した各実施形態における検出部２０２は、撮像部が撮像した画像から、把持する対象物とその位置を特定するものであれば特定の構成に限定されるものではない。なお、検出部２０１により検出された画像座標から三次元座標を参照し、把持対象物の三次元空間内での位置を算出してもよいし、第５の実施形態のように三次元座標は用いずに把持対象物の位置を特定し、把持する方法であってもよい。
【０１４１】
上述した各実施形態における保持部２０３は、検出部や制御部の動作に必要となる、静的な設定やパラメータを保持するものであれば、特定の構成に限定されるものではない。
【０１４２】
上述した各実施形態における制御部２０４は、検出部２０２が検出した対象物を把持するために、実際に把持部が把持動作を実行するためのコマンドを生成して把持部を駆動するものであれば特定の構成に限定されるものではない。
【０１４３】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１４４】
１０１  撮像部
１０２  把持部
２００  情報処理装置
２０１  入力部
２０２  検出部
２０３  保持部
２０４  制御部
【図１】
2019125056.tif 000003
【図２】
2019125056.tif 000004
【図３】
2019125056.tif 000005
【図４】
2019125056.tif 000006
【図５】
2019125056.tif 000007
【図６】
2019125056.tif 000008
【図７】
2019125056.tif 000009
【図８】
2019125056.tif 000010
【図９】
2019125056.tif 000011
【図１０】
2019125056.tif 000012
【図１１】
2019125056.tif 000013
【図１２】
2019125056.tif 000014
【図１３】
2019125056.tif 000015
【図１４】
2019125056.tif 000016
【図１５】
2019125056.tif 000017
【図１６】
2019125056.tif 000018