(57)【要約】本発明は、少なくとも１つの第１のセンサからの第１のセンサデータを受信し、第１のセンサデータから、空間における位置又はロボットアームのグリッパである対象の位置を求めてもよい装置における方法に関する。第１の命令は、グリッパを対象の位置へ移動するためにロボットアーム又はグリッパへ発せられる。フォースフィードバックセンサデータは、ロボットアーム又はグリッパのいずれかに関連付けられたフォースフィードバックセンサ、又は第１のセンサから受信される。第１の命令の実行が失敗かどうか判定される。第２のセンサデータは、少なくとも１つの第１のセンサから受信される。物体の把持の成功は、第２のセンサデータから求められる。検証センサデータは、把持の成功の判定に応じて、少なくとも１つの第２のセンサから受信され、第２の命令は、グリッパの把持をリリースする所定の位置へアームを移動するためにロボットへ発せられる。【選択図】図３
2013529554.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの第１のセンサからの第１のセンサデータを受信するステップと、
前記第１のセンサデータから、空間における少なくとも一つの位置及びロボットアームに関連するグリッパの向きを含む対象の位置を求めるステップと、
前記グリッパを前記対象の位置へ移動させるために、前記ロボットアーム及び前記グリッパの少なくとも一方への少なくとも１つの第１の命令を発することを開始するステップと、
前記少なくとも１つの第１の命令の実行が失敗かどうかを判定するために、前記ロボットアーム及び前記グリッパの少なくとも一方と関連付けられる前記少なくとも１つの第１のセンサ及び少なくとも１つのフォースフィードバックセンサの少なくとも一方からのフォースフィードバックセンサデータを受信するステップと、
前記少なくとも１つの第１のセンサからの第２のセンサデータを受信するステップと、
前記第２のセンサデータから物体の把持が成功かどうか判定するステップと、
前記把持の成功の判定に応じて、前記少なくとも１つの第１のセンサから検証センサデータを受信するステップと、
所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発するステップと、を含む方法。
【請求項２】
把持の成功及び前記第１のセンサデータを第１の学習エンティティに登録するステップをさらに含む請求項１に記載の方法。
【請求項３】
前記少なくとも１つの命令の少なくとも１つの実行が失敗したことの判定に応じて、把持の失敗及び前記第１のセンサデータを前記第１の学習エンティティに登録するステップをさらに含む請求項２に記載の方法。
【請求項４】
前記第１の学習エンティティに登録された情報を用いて前記第１のセンサデータから把持が成功する可能性を予測するステップと、前記可能性に応じて前記ロボットアームへ前記少なくとも１つの第１の命令を発するステップと、をさらに含む請求項２又は３に記載の方法。
【請求項５】
前記グリッパを検証位置へ移動するための少なくとも１つの第３の命令を前記ロボットアームへ発するステップをさらに含む請求項３に記載の方法。
【請求項６】
前記検証位置は、前記少なくとも１つの第２のセンサが物体に干渉されずに適用される検証環境に対応する請求項５に記載の方法。
【請求項７】
前記検証環境は、一定のバックグラウンドを有する請求項６に記載の方法。
【請求項８】
前記少なくとも１つの第２のセンサからの検証センサデータから物体のタイプを求めるステップをさらに含む請求項５に記載の方法。
【請求項９】
前記ロボットアームへの前記少なくとも１つの第１の命令を発することを開始するステップは、
前記ロボットアームへ第１の座標を提供するステップと、
前記少なくとも１つの第１のセンサから第１の中間センサデータを受信するステップと、
前記第１の中間センサデータを用いてセンサ座標系における前記グリッパの実際の位置を求めるステップと、をさらに含む請求項１に記載の方法。
【請求項１０】
前記ロボットアームへの前記少なくとも１つの第１の命令を発することを開始するステップは、
前記グリッパの前記実際の位置と前記第１の座標との誤差を求めるステップと、
前記ロボットアームに第２の座標を提供するステップと、
前記少なくとも１つの第１のセンサから第２の中間センサデータを受信するステップと、
前記第２の中間センサデータを用いてセンサ座標系における前記グリッパの第２の実際の位置を求めるステップと、
前記誤差が所定の閾値より小さいかどうかを検証するステップと、をさらに含む請求項９に記載の方法。
【請求項１１】
前記ロボットアームへの前記少なくとも１つの第１の命令を発することを開始するステップは、第２の学習エンティティの前記センサ座標系において求められた前記ロボットアームの座標と前記グリッパの位置との関係を登録するステップをさらに含む請求項９に記載の方法。
【請求項１２】
前記ロボットアームへの前記少なくとも１つの第１の命令を発することを開始するステップは、登録された前記関係を用いて、前記ロボットアームの座標と前記センサ座標系における座標との変換関数を作成するステップをさらに含む請求項１１に記載の方法。
【請求項１３】
前記第１のセンサデータから対象の位置を求めるステップは、
前記センサ座標系における初期対象位置を求めるステップと、
変換関数を用いて前記初期対象位置から前記対象の位置を計算するステップと、をさらに含む請求項１１に記載の方法。
【請求項１４】
少なくとも１つの第１のセンサからの第１のセンサデータを受信する手段と、
前記第１のセンサデータから、少なくとも１つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求める手段と、
前記グリッパを前記対象の位置へ移動するために、少なくとも１つの前記ロボットアーム及び前記グリッパへ少なくとも１つの第１の命令を発することを開始する手段と、
少なくとも１つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも１つのフォースフィードバックセンサ、及び少なくとも１つの第１のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも１つの第１の命令の実行が失敗かどうかを判定する手段と、
前記少なくとも１つ第１のセンサから第２のセンサデータを受信する手段と、
前記第２のセンサデータから物体の把持が成功かどうか判定する手段と、
前記把持の成功の判定に応じて、少なくとも１つの第２のセンサから検証センサデータを受信する手段と、
所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発する手段と、を含む装置。
【請求項１５】
コンピュータ読み取り可能な媒体に統合されるコンピュータプログラムであって、
前記コンピュータプログラムは、
少なくとも１つの第１のセンサからの第１のセンサデータを受信するステップと、
前記第１のセンサデータから、少なくとも１つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求めるステップと、
前記グリッパを前記対象の位置へ移動するために、少なくとも１つの前記ロボットアーム及び前記グリッパへ少なくとも１つの第１の命令を発することを開始するステップと、
少なくとも１つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも１つのフォースフィードバックセンサ、及び少なくとも１つの第１のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも１つの第１の命令の実行が失敗かどうかを判定するステップと、
前記少なくとも１つ第１のセンサから第２のセンサデータを受信するステップと、
前記第２のセンサデータから物体の把持が成功かどうか判定するステップと、
前記把持の成功の判定に応じて、少なくとも１つの第２のセンサから検証センサデータを受信するステップと、
所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発するステップと、
を含む方法を実行するためのプロセッサを制御するコードを含む、コンピュータプログラム。
【請求項１６】
前記コンピュータプログラムは、前記コンピュータ読み取り可能な媒体に記憶される請求項１５に記載のコンピュータプログラム。
【請求項１７】
前記コンピュータ読み取り可能な媒体は、リムーバブルメモリカード、ホログラフィックメモリ、磁気ディスク又は光ディスクである請求項１６に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理的な物体を操作するために用いられるシステム及び方法に関する。特に、本発明は、ロボットシステムにおける物理的な物体の選択のための方法に関する。
【背景技術】
【０００２】
ロボットシステムは、仮想的又は認識的に操作される物理的な物体を実際に形作るためにわずかな能力を必要とする、又は掴んで移動するためにわずかなスキルを必要とする反復性のある仕事を行うために多くの産業で広く用いられている。ロボットは、また、人間の作業員には適さない環境で働く、又は有毒、放射能材料、ごみ又は巨大な物体のような人間に有害な材料を扱って働くために建設されうる。このようなロボットシステムは、人間が介在することを必要とする量を最小化するためにできるだけ自立的にすることが望まれている。
【０００３】
物体を操作するためにロボットアームを有することを目的とする場合、ロボットアームは、一般に、対象となる物体を把持するのに適切なデバイスが装備される。このようなデバイスは、例えば、手、爪、クランプに似たものでありうる。ロボットに反復性のある仕事を行うようにプログラミングすることは比較的簡単であるが、自動的に物体を操作する、特に、変化する環境又は他の物体が混在している環境から物体を認識すること、及び他の物体中に存在する物体を操作することに関する困難な問題が存在する。すなわち、他の物体は、部分的又は全体的に物体を覆っており、よって、ロボットアームに移動するように命令するために物体の正確な位置を突き止めることが難しい、又は他の物体がロボットハンドの移動を妨害して、それにより、仕事のために適切でないプレ−プログラムされた移動をすることが難しい。
【０００４】
物体認識の課題は、一般に、デジタルカメラ画像のような知覚データの物体をサーチするパターン認識アルゴリズムにより扱われる。このようなアルゴリズムは、盛んに研究されている分野である。起伏のあるバックグラウンドに対して物体を認識しうる多くのアルゴリズムが存在するが、パターン認識アルゴリズムは、通常、バックグラウンドが均一かつ予め定められた場合に、最もうまく機能する。これまでは、予め定められたタイプの物体が整った動作領域からサーチされ、物体が認識された動作領域から選択されていた。一連のアクションは、既知のタイプの選択された物体上で行われうる。一連のアクションは、例えば、異なるビンのなかから異なる種類の物体を判別するような物体のタイプに基づいて選択されうる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、物体のタイプを判定することはエラーを生じる可能性がある。例えば、画像認識アルゴリズムは、誤ったタイプの物体を識別してしまい、誤った結果を生成する。さらに、物体が正確に認識されたとしても、グリッパは、例えば、意図した物体が、把持しようとした物体ではない他の物体により覆い隠された場合、又はグリッパが、把持する前に正しい位置へ移動せず、ロボットアームの制御に誤りが生じた場合、意図した物体を把持することを失敗する。例えば、物体が共に近接して配置されている、又は物体が互いに重なっている場合、いくつかの物体が、うっかり同時に把持されてしまう可能性もある。リサイクル及びごみ管理のような用途では、物体の分別されたグループの純度が高いことが重要である、つまり、物体の分別されたグループにおいて異なるタイプの物体が最終的にできるだけ少なくなることが重要である。
【課題を解決するための手段】
【０００６】
本発明は、少なくとも１つの第１のセンサからの第１のセンサデータを受信するステップと、第１のセンサデータから、空間における少なくとも一つの位置及びロボットアームに関連するグリッパの向きを含む対象の位置を求めるステップと、前記グリッパを前記対象の位置へ移動させるために、前記ロボットアーム及び前記グリッパの少なくとも一方への少なくとも１つの第１の命令を発することを開始するステップと、前記少なくとも１つの第１の命令の実行が失敗かどうかを判定するために、前記ロボットアーム及び前記グリッパの少なくとも一方と関連付けられる前記少なくとも１つの第１のセンサ及び前記少なくとも１つのフォースフィードバックセンサの少なくとも一方からのフォースフィードバックセンサデータを受信するステップと、前記少なくとも１つの第１のセンサからの第２のセンサデータを受信するステップと、前記第２のセンサデータから物体の把持が成功かどうか判定するステップと、前記把持の成功の判定に応じて、前記少なくとも１つの第１のセンサから検証センサデータを受信するステップと、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発するステップと、を含む方法に関する。
【０００７】
本発明は、また、少なくとも１つの第１のセンサからの第１のセンサデータを受信する手段と、前記第１のセンサデータから、少なくとも１つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求める手段と、前記グリッパを前記対象の位置へ移動するために、少なくとも１つの前記ロボットアーム及び前記グリッパへ少なくとも１つの第１の命令を発することを開始する手段と、少なくとも１つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも１つのフォースフィードバックセンサ、及び少なくとも１つの第１のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも１つの第１の命令の実行が失敗かどうかを判定する手段と、前記少なくとも１つ第１のセンサから第２のセンサデータを受信する手段と、前記第２のセンサデータから物体の把持が成功かどうか判定する手段と、前記把持の成功の判定に応じて、前記少なくとも１つの第１のセンサから検証センサデータを受信する手段と、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発する手段と、を含む装置に関する。
【０００８】
本発明は、また、コンピュータ読み取り可能な媒体に統合されるコンピュータプログラムであって、前記コンピュータプログラムは、少なくとも１つの第１のセンサからの第１のセンサデータを受信するステップと、前記第１のセンサデータから、少なくとも１つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求めるステップと、前記グリッパを前記対象の位置へ移動するために、少なくとも１つの前記ロボットアーム及び前記グリッパへ少なくとも１つの第１の命令を発することを開始するステップと、少なくとも１つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも１つのフォースフィードバックセンサ、及び少なくとも１つの第１のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも１つの第１の命令の実行が失敗かどうかを判定するステップと、前記少なくとも１つ第１のセンサから第２のセンサデータを受信するステップと、前記第２のセンサデータから物体の把持が成功かどうか判定するステップと、前記把持の成功の判定に応じて、少なくとも１つの第２のセンサから検証センサデータを受信するステップと、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発するステップと、を含む方法を実行するためのプロセッサを制御するコードを含む、コンピュータプログラムに関する。
【０００９】
本発明は、また、少なくとも１つの第１のセンサからの第１のセンサデータを受信するステップと、第１のセンサデータから、空間における少なくとも一つの位置及びロボットアームに関連するグリッパの向きを含む対象の位置を求めるステップと、前記グリッパを前記対象の位置へ移動させるために、前記ロボットアーム及び前記グリッパの少なくとも一方への少なくとも１つの第１の命令を発することを開始するステップと、前記少なくとも１つの第１の命令の実行が失敗かどうかを判定するために、前記ロボットアーム及び前記グリッパの少なくとも一方と関連付けられる前記少なくとも１つの第１のセンサ又は前記少なくとも１つのフォースフィードバックセンサからのフォースフィードバックセンサデータを受信するステップと、前記少なくとも１つの第１のセンサからの第２のセンサデータを受信するステップと、前記第２のセンサデータから物体の把持が成功かどうか判定するステップと、前記把持の成功の判定に応じて、前記少なくとも１つの第１のセンサから検証センサデータを受信するステップと、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発するステップと、を含む方法に関する。
【００１０】
本発明は、また、少なくとも１つの第１のセンサからの第１のセンサデータを受信する手段と、前記第１のセンサデータから、少なくとも１つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求める手段と、前記グリッパを前記対象の位置へ移動するために、少なくとも１つの前記ロボットアーム及び前記グリッパへ少なくとも１つの第１の命令を発することを開始する手段と、少なくとも１つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも１つのフォースフィードバックセンサ、又は少なくとも１つの第１のセンサからフォースフィードバックセンサデータを受信し、前記少なくとも１つの第１の命令の実行が失敗かどうかを判定する手段と、前記少なくとも１つ第１のセンサから第２のセンサデータを受信する手段と、前記第２のセンサデータから物体の把持が成功かどうか判定する手段と、前記把持の成功の判定に応じて、少なくとも１つの第２のセンサから検証センサデータを受信する手段と、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発する手段と、を含む装置。
【００１１】
本発明は、また、コンピュータ読み取り可能な媒体に統合されるコンピュータプログラムであって、前記コンピュータプログラムは、少なくとも１つの第１のセンサからの第１のセンサデータを受信するステップと、前記第１のセンサデータから、少なくとも１つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求めるステップと、前記グリッパを前記対象の位置へ移動するために、少なくとも１つの前記ロボットアーム及び前記グリッパへ少なくとも１つの第１の命令を発することを開始するステップと、少なくとも１つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも１つのフォースフィードバックセンサ、又は少なくとも１つの第１のセンサからフォースフィードバックセンサデータを受信し、前記少なくとも１つの第１の命令の実行が失敗かどうかを判定するステップと、前記少なくとも１つ第１のセンサから第２のセンサデータを受信するステップと、前記第２のセンサデータから物体の把持が成功かどうか判定するステップと、前記把持の成功の判定に応じて、少なくとも１つの第２のセンサから検証センサデータを受信するステップと、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発するステップと、を含む方法を実行するためのプロセッサを制御するコードを含む、コンピュータプログラム。
【００１２】
本発明は、また、少なくとも１つの第１のセンサからの第１のセンサデータを受信し、前記第１のセンサデータから、少なくとも１つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含み対象の位置を求め、前記グリッパを前記対象の位置へ移動するために、少なくとも１つの前記ロボットアーム及び前記グリッパへ少なくとも１つの第１の命令を発することを開始し、少なくとも１つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも１つのフォースフィードバックセンサ、及び少なくとも１つの第１のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも１つの第１の命令の実行が失敗かどうかを判定し、前記少なくとも１つ第１のセンサから第２のセンサデータを受信し、前記第２のセンサデータから物体の把持が成功かどうか判定し、前記把持の成功の判定に応じて、少なくとも１つの第２のセンサから検証センサデータを受信し、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発するように構成されるメモリ及び少なくとも１つのプロセッサを含む装置。
【００１３】
本発明の一実施形態では、前記少なくとも１つの命令は、ロボットアーム及び／又はグリッパに対する少なくとも１つの移動を示す信号を含む。本発明の一実施形態では、前記少なくとも１つの命令は、少なくとも１つの回転、上昇及び把持を制御するために印加される単一の駆動電圧である。
【００１４】
本発明の一実施形態では、前記装置内の第１の学習エンティティは、把持の成功及び前記第１のセンサデータを登録する。
【００１５】
本発明の一実施形態では、前記装置内の第１の学習エンティティは、前記少なくとも１つの命令の少なくとも１つの実行が失敗したことの判定に応じて、把持の失敗及び前記第１のセンサデータを前記第１の学習エンティティに登録する
【００１６】
本発明の一実施形態では、前記装置内のアーム移動制御エンティティ又は第１の学習エンティティは、前記第１の学習エンティティに登録された情報を用いて前記第１のセンサデータから把持が成功する可能性を予測する。前記アーム移動制御エンティティは、前記可能性に応じて前記ロボットアームへ前記少なくとも１つの第１の命令を発する。
【００１７】
本発明の一実施形態では、前記アーム移動制御エンティティは、前記グリッパを検証位置へ移動するための少なくとも１つの第３の命令を前記ロボットアームへ発する。
【００１８】
本発明の一実施形態では、前記検証位置は、前記少なくとも１つの第２のセンサが物体に干渉されずに適用される検証環境に対応する。本発明の一実施形態では、前記検証環境は、一定のバックグラウンドを有する。
【００１９】
本発明の一実施形態では、前記装置は、前記少なくとも１つの第２のセンサからの検証センサデータから物体のタイプを求めるように構成される。
【００２０】
本発明の一実施形態では、前記ロボットアームへの前記少なくとも１つの第１の命令を発することを開始するステップ、又は前記方法は、一般に、前記ロボットアームへ第１の座標を提供するステップと、前記少なくとも１つの第１のセンサから第１の中間センサデータを受信するステップと、前記第１の中間センサデータを用いてセンサ座標系における前記グリッパの実際の位置を求めるステップと、をさらに含む。これらのステップは、前記装置内の前記アーム制御エンティティにより実行されてもよい。
【００２１】
本発明の一実施形態では、前記ロボットアームへの前記少なくとも１つの第１の命令を発することを開始するステップ、又は前記方法は、一般に、前記グリッパの前記実際の位置と前記第１の座標との誤差を求めるステップと、前記ロボットアームに第２の座標を提供するステップと、前記少なくとも１つの第１のセンサから第２の中間センサデータを受信するステップと、前記第２の中間センサデータを用いてセンサ座標系における前記グリッパの第２の実際の位置を求めるステップと、前記誤差が所定の閾値より小さいかどうかを検証するステップと、さらに含む前記誤差が前記閾値より大きい場合には、前記方法は、前記誤差を再度求めるステップと、前記第２の座標を提供するステップと、前記第２の実際の位置を求めるステップとを継続してもよい。
【００２２】
本発明の一実施形態では、前記ロボットアームへの前記少なくとも１つの第１の命令を発することを開始するステップ、又は前記方法は、一般に、第２の学習エンティティの前記センサ座標系において求められた前記ロボットアームの座標と前記グリッパの位置との関係を登録するステップをさらに含む。
【００２３】
本発明の一実施形態では、前記ロボットアームへの前記少なくとも１つの第１の命令を発することを開始するステップ、又は前記方法は、一般に、登録された前記関係を用いて、前記ロボットアームの座標と前記センサ座標系における座標との変換関数を作成するステップをさらに含む。
【００２４】
本発明の一実施形態では、前記第１のセンサデータから対象の位置を求めるステップは、前記センサ座標系における初期対象位置を求めるステップと、前記変換関数を用いて前記初期対象位置から前記対象の位置を計算するステップと、をさらに含む。
【００２５】
本発明の一実施形態では、前記変換関数は、前記センサ座標系において求められた前記ロボットアームの座標と前記グリッパの位置との少なくとも登録された関係を用いて算出された変換行例である。同様に、他の同様の関係は、前記変換行列を算出するために用いられる。
【００２６】
本発明の一実施形態では、対象となる物体は、非構造化領域、すなわち、背景色又は形状のような一又はいくつかのその特性が予め設定されず、かつ対象となる物体に加えて未知の特性の他の物体を含みうる環境又は通常の三次元空間に配置される。例えば、ごみの山は、非構造化領域、すなわち、ロボットの動作空間を構成しうる。非構造化領域は、時間の経過と共に変化しうる。例えば、ごみの破片がごみの山から除去されると、ごみの破片は、シャッフル、移動又は崩壊しうる。新たなごみもまた前記ごみの山へ加えられうる。
【００２７】
本発明の一実施形態では、本発明は、制御ユニットにより制御され、かつロボットアームが非構造化領域に存在する物体に到達しうるように実装されるロボットアームを含む。
【００２８】
本発明の一実施形態では、前記システムは、前記ロボットアームに取り付けられ、かつ前記制御ユニットにより制御されるグリッパをさらに含む。前記グリッパは、例えば、手又は爪に類似する手法で、当該グリッパを閉じることにより物体を把持するデバイスでありうる。
【００２９】
本発明の一実施形態では、前記システムは、前記非構造化領域の周囲の知覚データを生成するために用いられうる少なくとも１つのセンサデバイスをさらに含む。一つのこのようなセンサデバイスは、例えば、前記非構造化領域を見るように方向付けられたデジタルカメラでありうる。
【００３０】
本発明の一実施形態では、前記グリッパは、前記グリッパが前記非構造化領域において前記物体に接触したかどうか、例えば、前記グリッパが移動して、当該グリッパが物体に対して衝突した、又は物体が把持されたかを測定するために用いられうるセンサを含む。
【００３１】
本発明の一実施形態では、前記システムは、前記ロボットアームのために、物体を把持するロボットアームが、少なくとも１つのセンサがその後この領域に対する物体を見ることができるような手法で移動及び方向付けられうるような手法で位置及び方向付けられる所定の検証位置をさらに含む。このような領域は、例えば、把持された物体が、このバックグランドにより判別され得、さらにセンサによってより正確に見られるように、又は把持された物体が、センサが用いられることにより物体のタイプの検証のために適切な他の種類のセットアップからなりうるような既知及び一定色の平坦な面を含みうる。
【００３２】
本発明の一実施形態では、前記システムは、前記センサからデータを受信し、把持動作の成功の可能性が適切な高さである前記非構造化領域の位置を前記制御ユニットに出力するように構成される第１の学習システムをさらに含む。
【００３３】
本発明の一実施形態では、前記システムは、前記センサからデータを受信し、この位置で行われる把持動作が所望のタイプの物体の把持を得る可能性を出力するように構成される第２の学習システムをさらに含む。
【００３４】
本発明の一実施形態では、前記制御ユニットは、グリッパが前記非構造化領域の以前に求められた位置に位置するように前記ロボットアームを移動し、その後、当該位置での物体を把持するように構成される。
【００３５】
本発明の一実施形態では、前記把持動作の成功は、その後、センサからのデータを用いて求められる。前記把持が失敗した場合、前記ロボットアームは、その後、別の実行のために異なる位置へ移動される。把持が成功すると、前記制御ユニットは、その後、物体を予め定義した検証位置へ移動するように構成され、前記物体のタイプは、検証動作を行うことにより求められる。前記検証動作は、当該検証動作の入力センサデータとして受信され、前記物体の求められたタイプを出力する。
【００３６】
本発明の一実施形態では、前記システムは、前記装置で動く学習システムを用いることによりさらに向上する。
【００３７】
本発明の一実施形態では、第１の学習システム又は第１の学習エンティティとして呼ばれてもよい学習システムが存在する。各把持の実行のために、前記アームの移動を予測する前記センサデータ及び前記把持動作の評価の結果は、前記第１の学習システムに適用される。前記第１の学習システムは、把持動作の成功が成功し、それにより、把持した物体での新たな実行がなされたときに、前記システムの動作が向上する非構造化領域での位置を算出するように構成される。
【００３８】
本発明の一実施形態では、第２の学習システム又は第２の学習エンティティとして呼ばれてもよい学習システムが存在する。前記ロボットアームの移動の前後で、前記第２の学習システムにも前記アームの移動並びに前記ロボットアームの位置及び方向を予測する前記センサデータは、また、前記第２の学習システムに適用され、これは、前記ロボットアームを求められた対象の位置へ移動するための効果的な手法を算出するように構成され、よって、前記ロボットアームの新たな動きがなされたときに、前記ロボットシステムの動作の速度が上がる。
【００３９】
本発明の一実施形態では、前記コンピュータプログラムは、コンピュータ読み取り可能な媒体に記憶される。前記コンピュータ読み取り可能な媒体は、リムーバブルメモリカード、リムーバブルメモリモジュール、磁気ディスク、光ディスク、ホログラフィックメモリ又は磁気テープであってもよい。リムーバブルメモリモジュールは、例えば、ＵＳＢメモリスティック、ＰＣＭＣＩＡカード又はスマートメモリカードであってもよい。
【００４０】
上述された本発明の実施形態は、互いに組み合わせて用いられてもよい。いくつかの実施形態は、共に組み合わせられることにより本発明の別の実施形態を形成してもよい。本発明に関する方法、システム、装置、コンピュータプログラム又はコンピュータプログラム製品は、上述された発明の少なくとも１つの実施形態を含む。
【００４１】
本発明の利益は、ロボットの動作スペースから物体の選択の質を向上させることに関する。
【図面の簡単な説明】
【００４２】
添付の図面は、本発明のさらなる理解を提供し、この明細書の一部を構成し、本発明の実施形態を図示し、明細書と共に本発明の概念の説明を補助する。
【図１】図１は、本発明の一実施形態における物理的な物体の選択のためのロボットシステムを示すブロック図である。
【図２】図２は、ロボットシステムにおける物理的な物体の選択を示すフローチャートである。
【図３】図３は、本発明の一実施形態における二つの学習システムを含むコンピュータを示すブロック図である。
【発明を実施するための形態】
【００４３】
本発明の実施形態の詳細が添付の図面で示される例と共に示される。
【００４４】
図１は、本発明の一実施形態における物理的な物体の選択のためのロボットシステムを示すブロック図である。図１では、データ処理装置１００、簡潔にいうと装置は、中央処理ユニット（ＣＰ）１１０と、メモリ１５０と、を含む。本発明のいくつかの実施形態は、マルチプルプロセッサＣＰ１からＣＰｎに加えて、マルチプルプロセッサの付加を分散する負荷分散ユニットを採用する。一又はそれ以上のプロセッサは、一又はそれ以上のメモリ１５０に記憶されるプログラム１５２を実行することによりロボットアームを制御する。実行時に、プログラム１５２は、メモリ１５０内の各種パラメータ及び変数１５４をセットアップし、アップデートする。いくつかのパラメータは、例えば、テーブル、アレイ、リスト、スパース又はデンス行列、又は他のデータ構造で表されてもよい。
【００４５】
また、データ処理装置１００は、データ処理装置のユーザインターフェースを構成する外部入出力回路１２０を含む又は用いる。入出力回路１２０は、入力回路１２２と、出力回路１２４と、を含む。キーボードインターフェース及びディスプレイインターフェースは、実例となるが、このような入力回路１２２及び出力回路１２４の例に制限されない。
【００４６】
外部装置と通信するために、データ処理装置１００は、通常、送信回路（“ＴＸｎ”）１３２、受信回路（“ＲＸｎ”）１３４及び内部又は外部アンテナ１３６を含む外部送受信回路１３０を含む又は使用する。ＴＸｎ及びＲＸｎに関連する“ｎ”は、データ処理装置が、物理的世界と通信するためのいくつかの異なるインターフェース技術を用いてもよいことを示し、本例は、ロボットアーム、及び付加的に別個の検証環境を含む。
【００４７】
Ｗｉｒｅｌｅｓｓ  ｌｏｃａｌ−ａｒｅａ  ｎｅｔｗｏｒｋｓ  （ＷＬＡＮ）及び赤外線、無線又はＢｌｕｅｔｏｏｔｈ（登録商標）のような近距離無線インターフェースが実例であるが、このような無線送受信回路に制限されない。このような無線通信技術に代えて、又はこれらに追加して、データ処理装置は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、任意のパラレル又はシリアルインターフェース、又は他の型の業界標準インターフェース、又は専売のインターフェースのような有線接続１３８を使用してもよい。標準化の先行するレベルでは、全ての要素１１０から１３８は、適切な技術で用いられるような従来技術でありうる。
【００４８】
従来のセクションに加えて、データ処理装置１００のメモリ１５０は、独創的なユーザエントリー方法を実装するプログラム１５２の一群を含む。プログラム１５２は、参照番号１５４により集合的に示される各種のデータ構造、変数及びパラメータを用いる。
【００４９】
参照番号１６０は、一般的に、少なくともいくつかの部分がデータ処理装置１００により制御されるロボットシステムを示す。ロボットシステム１６０は、参照番号１７０により示される少なくとも１つのロボットを含むが、ロボットシステム１６０は、追加のロボット、コンベヤーベルトのような一又はそれ以上のコンベヤー、固定センサ、照明装置、アナライザ等を含みうる。本例では、ロボット１７０は、回転部材を有するアームのようである概略的な図で示されるが、他の実装の型が同じように可能である。図１に示すように、ロボットアーム１７０は、手又は爪にやや類似しているグリッパ１７１を含む。ロボットアーム１７０は、動作領域１７２内でグリッパ１７１を移動可能である。ロボットアーム１７０及びグリッパ１７１の各種動作は、参照番号１７３により集合的に示されるアクチュエータによりもたらされる。例として、アクチュエータは、電気式、空気圧式、水圧式又はこれらの任意の組み合わせでありうる。アクチュエータは、図１の直線及び曲線の両矢印により示されるように、ロボットアーム１７０の各種要素を移動又は回転してもよい。
【００５０】
ロボットの動作領域１７２は、非構造化領域１８０と呼ばれる部分を含む。非構造化領域１８０は、参照番号１８１により集合的に示される各種物体を含む。制限されないが、一例として、非構造化領域１８０は、ロボットの動作領域１７２と交差するコンベヤーベルト又はコンベヤーベルトの一部である。データ処理装置は、対象となる物体の大きさ、形状及び／又は色のような、非構造化領域１８０内の物体１８１上の先験的情報をほとんど又は全く有していない。本発明のいくつかの実施形態では、データ処理１００装置は、対象となる物体の先験的情報をいくつか有してもよく、学習により物体の得られた情報を有していてもよいが、対象となる物体の少なくとも背景（他の物体）、位置及び向きは、通常、先験的に不明である。すなわち、物体１８１は、非構造化領域１８０においてランダムな位置及び方向であってもよく、物体１８１は、互いに重複してもよい。したがって、ロボットの動作領域１７２の一部を、グリッパ１７１及び相対的に一定の状況下かつ既知のバックグラウンドに対するグリッパ１７１により把持された物体が観察されうる構造化領域１８２へ専念させることは有益である。本明細書では、相対的に一定の状況及びバックグラウンドとは、グリッパ１７１及び把持された物体の観察を周期的に行いかつ記憶することにより補償されうるようにゆっくりと、非構造化領域１８２における変化が生じることを意味する。
【００５１】
本発明の一実施形態では、構造化領域１８２は、また、センサ１７６のうちの少なくとも１つの第２のセンサ又は少なくとも１つの第２の別のセンサデバイス１７６ｄを用いて検査されてもよく、これは、特に構造化領域１８２でも適用可能である。構造化された領域は、単に、ロボットアーム１７０の特定の位置及び／又はグリッパ１７１であってもよく、これは、少なくとも１つの第２のセンサが、非構造化領域１８１の要素を妨げずに用いられることができる。別の認識は、追加の装置、つまり、少なくとも１つの第２のセンサデバイス１７６ｄによりグリッパの内容物を検査又は解析することを含んでもよい。このような追加の装置の実例となるが包括的でないリストは、１）配列されたカメラとは異なる方向及び／又は異なる周波数及び／又は高い解像度からのグリッパの内容物を観察する追加の撮像装置；２）非構造化領域に存在するものから異なる波長及び／又はエネルギーレベルでのグリッパの内容物を照らす又は照射する追加の照明装置；３）ガスアナライザー；４）レーザースキャナーを含む。
【００５２】
一連のドライバ１７４は、データ処理信号すなわち、アクチュエータを制御するための電圧及び電力レベルを割り当てるためにデータ処理装置１００からの命令を変換する、データ処理装置１００からの制御信号１７５に応じて、アクチュエータは、動作領域１７２内の特定位置にグリッパを位置づけること、グリッパを下降又は上昇させること、及びグリッパを開閉することを含む各種の機械的な機能を行うが、必ずしもこれに限定されない。いくつかの実施形態では、アクチュエータは、カメラが既知のバックグラウンドに対してグリッパをモニタするようにグリッパ１７１及び配列されたカメラ１７６ｃを傾けるアクチュエータを含む。よって、このような実施形態では、構造化領域１８２は、グリッパ１７１及びカメラ１７６ｃを傾けることにより実装されうる。この場合、異なる位置への移動は必要とされない。
【００５３】
データ処理装置１００は、ロボットシステム１６０と通信するために、インターフェース１３６を介した無線接続及び／又はインターフェース１３８を介した有線接続を用いてもよい。
【００５４】
一般にロボットシステム１６０、特にロボット１７０は、集合で参照番号１７６により示される各種のセンサを含む。例により、センサ１７６は、ロボットアーム１７０及びグリッパ１７１の位置と共に、グリッパ１７１の開閉状態を示す各種の位置センサ１７６ａを含む。グリッパの開閉状態は、単なるｙｅｓ／ｎｏビットに限定されない。本発明の一実施形態では、グリッパ１７１は、グリッパの指のそれぞれに対するマルチビットの開閉状態を示してもよく、ここで、グリッパの物体の大きさ及び／又は形状の表示が得られてもよい。
【００５５】
位置センサに加えて、一連のセンサは、歪ゲージ又はフォースフィードバックセンサとしても知られる歪センサ１７６ｂを含んでもよく、歪センサ１７６ｂは、ロボットアーム１７０及びグリッパ１７１の各種の構成要素により経験される歪を示す。例示であるが包括的でない実装の例では、歪センサは、抵抗が歪センサに加えられる圧迫の力に応じて変化する可変抵抗を含む。抵抗の変化が抵抗の絶対値と比べて小さいため、可変抵抗は、通常、ホイートストーンブリッジの構成で測定される。
【００５６】
本発明の一実施形態では、歪センサ１７６ｂは、把持動作の失敗の原因を示すフォースフィードバックセンサとして機能する。失敗は、グリッパ１７１の外側に及ぼされる力により示されてもよく、これは、グリッパがアームの示された対象配置での完全に開く位置で開かないこと、又は所定の閾値を超える任意の側の力を示す。
【００５７】
さらに、一連のセンサは、ロボットアームに配置される少なくとも一つのイメージセンサ又はカメラ１７６ｃを含んでもよい。この前後関係では、配置されたカメラ１７６ｃは、グリッパ１７１の下の領域を常にモニタするカメラ１７６ｃをいう。
【００５８】
各種のセンサ１７６からの位置データ信号は、参照番号１７７により集合的に示されるドライバにより適切なレベル及びフォーマットに変換される。変換されたデータ信号は、入力信号１７８としてデータ処理装置１００に送信される。
【００５９】
データ処理システムのメモリ１５０内のソフトウェア又は一連のプログラム１５２は、各種のプログラムを含む。本明細書で使用されるように、“プログラム”とは、一又はそれ以上のプロセッサＣＰ１  ．．．  ＣＰｎによる実行が、明確に定義されたハイレベル動作を行うためのロボットシステム１６０をデータ処理装置１００が指示するという効果を有する一連のコンピュータプログラム命令をいう。ハイレベル動作の一例は、特定された位置へロボットアームを移動することである。対応するプログラムは、ハイレベル動作を一連のローレベル動作へ変換するために、ドライバ１７４を介して出力信号の適切なシーケンス１７５をロボットシステム１６０のアクチュエータ１７３へ出力するような各種ソフトウェアドライバ、ルーティン、又はダイナミックリンクライブラリを用いてもよい。それに替えて、又は追加して、プログラム１５２の一部又は全部は、ロボットシステム１６０からのセンサデータ１７８を受信し、センサデータで一又はそれ以上の分析を行ってもよい。
【００６０】
少なくとも、一連のプログラム１５２は、参照サインＡＭにより示されるアームの動作のためのプログラムを含み、このプログラムは、ロボットアーム１７０を特定された位置へ移動するように命令し、追加で、グリッパの内容物が既知のバックグラウンドに対して観察されうるようにグリッパ１７１を傾かせるように命令する。一連のプログラム１５２は、また、把持シーケンス制御プログラムＧＳＣ及び把持シーケンス評価プログラムＧＳＥを含む。把持シーケンス制御プログラムＧＳＣの実行は、データ処理装置１００が、把持動作を試みるようにロボットアーム１７０及びグリッパ１７１を命令させ、これは、グリッパ１７１により、把持された候補物体を含む位置に近づくこと、及びグリッパ１７１を閉じることを含む。本発明の一部分は、実行されようとした把持動作が成功かどうか判定可能な方法、データ処理システム及びプログラム製品を提供することである。この判定は、把持シーケンス評価プログラムＧＳＥにより行われる。
【００６１】
１つの特定の実装では、把持シーケンス評価プログラムＧＳＥは、グリッパ１７１の位置センサ１７６ａ及び／又は歪センサ１７１を用いて、グリッパ１７１が実際に何らかを把持しているかどうかを判定する。すなわち、判定は、把持するように命令されたときにグリッパが完全に閉じたかどうかを検知することに基づいてもよく、又はグリッパが完全に閉じたことを妨げる何かをグリッパが保持しているかどうかを検知することに基づいてもよい。把持シーケンス制御プログラムＧＳＣは、把持した物体及び／又はグリッパ自体を損傷しないように、加えられた把持力での上限値に設定するために歪センサ１７６ｃを用いてもよい。
【００６２】
別の実装では、把持シーケンス評価プログラムＧＳＥは、代わりに又は追加で、カメラの視野が、グリッパと共に動き、その結果、グリッパの移動がカメラ１７６ｃの視野のバックグラウンドを変化させる場合でさえも実質的に一定を維持する物を含むかどうか、モニタするために配列されたカメラ１７６ｃを使用してもよい。例えば、アーム移動プログラムＡＭは、グリッパ１７１、グリッパの内容物及び配列されたカメラ１７６ｃを構造化領域１８２へ移動及び／又は傾けてもよい。配列されたカメラは、グリッパ及びその内容物の画像を形成してもよい。グリッパ及びその内容物の現在の画像は、その後、既知の、以前に記憶したグリッパの画像と比較される。比較において、現在の画像と以前に記憶した画像との差は、グリッパの内容物、グリッパの汚れ、又はバックグラウンド若しくは照明の変化により生じてもよい。現在の画像と以前に記憶した画像との差がグリッパの実際の内容物を反映することを確実にするために、空になったときに予め記憶されたグリッパの画像を周期的に更新することが有益であってもよく、ここで、バックグラウンド又は照明の汚れ又は変化は、補償されうる。
【００６３】
グリッパが完全に閉じたか仮想的に検査したかを機械的に検知することに代えて、又はこのような技術に加えて、ロボットアームは、グリッパ１７１及びその内容物を計量するように構成された歪ゲージを含んでもよい。グリッパの現在の重さから既知のグリッパの正味の重さを減算することにより、グリッパ内容物の重さが得られる。この情報自体又は他の二つの情報の組み合わせは、把持動作が成功かどうかの判定のために寄与しうる。全てのこのような技術は、把持動作の成功が、グリッパからの現在のステータス情報をグリッパからの既知のステータス情報と比較することにより求められうることにより集約されうる。用語“既知のステータス情報”とは、グリッパが空であることがわかっている、又はグリッパの内容物が既知のステータス情報が得られたときにわかっていることをいう。
【００６４】
本発明の一実施形態では、プログラムＡＭ、ＯＲ、ＧＳＣ、ＧＳＥ、ＶＯ、Ｌ１及びＬ２は、例えば、サブルーティン、プロセス、スレッド、モジュール及びプログラムコードシーケンスのような別のソフトウェアエンティティとして実装されてもよい。
【００６５】
図２は、ロボットシステムにおける物理的な物体の選択のための方法を示すフローチャートである。ロボットシステムは、制御する装置を含む。
【００６６】
ステップ２００において、第１のセンサデータは、少なくとも１つの第１のセンサから前記装置で受信される。
【００６７】
ステップ２０２において、前記装置により、対象の位置が第１のセンサデータから求められる。
【００６８】
ステップ２０４において、前記装置は、ロボットアーム内のグリッパを対象の位置へ移動させるために、ロボットアームへ少なくとも１つの第１の命令を発することを開始する。少なくとも１つの第１の命令は、前記装置がフォースフィードバックセンサデータを受信するステップ２０６と並行して発せられてもよい。
【００６９】
ステップ２０６において、前記装置は、少なくとも１つの第１の命令の実行が失敗かどうかを判定するために、ロボットアーム及びグリッパの少なくとも一方と関連付けられる少なくとも１つのフォースフィードバックセンサからのフォースフィードバックセンサデータを受信する。
【００７０】
ステップ２０８において、前記装置は、少なくとも１つの第１のセンサから第２のセンサデータを受信する。
【００７１】
ステップ２１０において、前記装置は、第２のセンサデータから物体の把持が成功かどうか判定する。
【００７２】
ステップ２１２において、前記装置は、把持の成功の判定に応じて、少なくとも１つの第２のセンサから検証センサデータを受信する。
【００７３】
ステップ２１４において、前記装置は、所定の位置へアームを移動して、グリッパの把持をリリースするために、ロボットアームへ少なくとも１つの第２の命令を発する。そして、本方法は終了する。
【００７４】
本発明の一実施形態では、図１に示すデータ処理装置１００のようなデータ処理装置は、例えば、配置されたカメラのような少なくとも１つのセンサからの入力データを受信する。データ処理装置は、物体認識プログラムによる物体認識のためのセンサデータのサブセットを抽出する。物体認識プログラムは、対象となる物体に対応するセンサデータフィーチャーからの抽出に用いられ、センサデータフィーチャーは、その後、学習システムの入力として用いられるデータセットを形成する。本発明は、仮想的な任意の種類の物体認識システムが使用されることを考慮し、よって、このようなシステムは、非構造化領域の状態及び本発明の特定の用途に充分適合しうる。本発明の理解を助けるために、配置されたカメラを用いることによる赤い物体を認識するように構成される物体認識システムの一例をここでは説明する。
【００７５】
本発明の一実施形態では、配置されたカメラから受信される入力データは、画素の二次元アレイからなるデジタル画像であり、各画素は、赤、緑及び青色成分に対する数値を有し、以下、それぞれ、Ｒ−、Ｇ−及びＢ−値として指定される。この例のために、カメラにより生成された画像は、対象となる物体の１つを正確に含むものと仮定する。
【００７６】
データの画素の数は、カメラの解像度に対応する。計算量を低減するために、カメラから受信された画像データは、解析のために適切に求められた解像度にダウンサンプルされる。適切にダウンサンプルされた解像度は、経験的（ｅｍｐｉｒｉｃａｌｌｙ）に求められうる。
【００７７】
得られたダウンサンプルされた画像は、その後、ライトニングコンディションにおける変化を構成するように正規化される。正規化は、ダウンサンプルされた画像の各画素とは別に行われてもよい。正規化の後、フィーチャーの一部は、対象となる物体の位置及び方向のような画像から計算され、これらのフィーチャーは、第１の学習システムに対する入力として用いられる。簡素化のために、ここでは、ｘ及びｙが画像の座標系における座標値である、対象となる物体の位置（ｘ，ｙ）の算出のみがこのようなフィーチャーの一例として考慮されるが、本発明はこのフィーチャーに限定されるものではなく、学習システムＬ１に対する入力として用いられ、取得可能ないくつかの異なるフィーチャーからも利益を得うる。
【００７８】
本発明の一実施形態では、対象となる物体の位置（ｘ，ｙ）の算出は、以下のような手法で進められる。まず、ダウンサンプルされ、かつ正規化された画像における対象となる物体に対応する画素が求められる。このタスクのために多くの適切なアルゴリズムが文献から知られている。この例では、物体に対応する画素は、色値に基づいて認識される、つまり、物体は、赤と推定され、すなわち、画像における赤の画素は、画像における対象となる物体に対応する。対象となる物体に対応する画素が求められると、物体の位置（ｘ，ｙ）は、求められた画素が位置する領域の重心を計算することにより求められうる。多くの適切なアルゴリズムの良好かつフリーな実装は、取得可能であり、例えば、画素を取り囲む曲線を形成する一連の点（ｘｉ，ｙｉ）を求めるために、ＯｐｅｎＣＶライブラリ内のｃｖＦｉｎｄ−Ｃｏｎｔｏｕｒｓ（）関数を用い、その後、画像内の物体の中心の座標に対応する曲線点座標の平均値を算出することにより、簡易に実現される。
【００７９】
本発明の一実施形態では、物体認識プログラムがデータセット、つまりこの例では対象となる物体の位置（ｘ，ｙ）、を求めたとき、データ処理装置のアーム移動プログラムは、認識された物体の画像座標の位置（ｘ，ｙ）に対応する世界座標の位置へロボットアームを移動するように命令する。アーム移動プログラムによる画像座標系から世界座標系への変換を容易にするために、２×２変換行列Ｍを座標ベクトル（ｘ，ｙ）に掛けることである既知の方法があり、ここで、許容可能な精度及びカメラセットアップに依存するこのような選択によりこの変換を行うようにＭが選択される。ロボットアームが求められた位置へ移動したとき、把持シーケンス制御プログラムは、グリッピングを行い、これは、ロボットアームに、グリッパを認識された物体へ下ろし、グリッパを閉じるように命令することを含む。
【００８０】
本発明の一実施形態では、把持を行っている間に、ロボットアーム、特にグリッパからのセンサデータは、データ処理装置により受信される。本発明の一実施形態では、センサデータは、グリッパが物体に衝突することを示してもよい。より詳細には、センサデータは、移動のための命令に応じてロボットアーム又はグリッパが移動に失敗、又は移動のための命令により、歪ゲージにより測定されるようなロボットシステムのいくつかの要素の歪の基準から外れたレベルを生じることを示してもよい。このような場合、把持の実行は中止される。中止された把持の実行は、その後の評価段階において失敗であるとみなされる。
【００８１】
本発明の一実施形態では、把持が行われた後、把持シーケンス評価プログラムは、センサデータ、特に、グリッパの内容を反映しているセンサデータを抽出する。把持の成功は、この抽出されたデータから求められる。図１に関して述べたように、把持の成功は、以下のいずれかに基づき求められうる：１）グリッパが最小サイズの物体の付近で閉じたことを示す、２）グリッパと内容物の現在の画像を既知の内容物を有するグリッパの予め記憶された画像と比較すること、３）グリッパ及び現在の内容物の重さとグリッパ及び既知の内容物との重さの差。
【００８２】
本発明の一実施形態では、衝突の検出又はグリッパの内容物の分析の任意の組み合わせが、把持を実行しようとした結果、失敗したことを示す場合には、他の把持の実行がロボットアームの移動を伴って行われる。
【００８３】
本発明の一実施形態では、把持の成功の判定に続いて、データ処理装置は、ロボットアームを、把持した物体に一連の所定の動作を行うように命令する。このような動作は、例えば、本システムが異なるビンのうちの異なる種類の物体をソートするために用いられる場合、物体のタイプに応じて選択されうる。物体の位置がセンサデータに基づいて求められるため、物体のタイプが既知又はこの地点で既知であるとみなされ、既知のタイプは、物体で行われる一連の動作を選択するために使用されうる。例えば、ごみ分別用途において、各種の物体のタイプは、再利用ビン、リサイクルプラスチック、金属、可燃物、堆肥にできるもの、有害廃棄物等のリサイクルチャネルに対応しうる。
【００８４】
しかし、この段階では、物体のタイプは、誤って求められてもよい。先進的な方法のいくつかの意欲的な実施形態は、グリッパ中の物体又は物体の種類を追加で検証するための別の検証を含んでもよい。把持の実行が成功だとみなされた場合、検証動作プログラムは、ロボットアーム、特にグリッパが、所定の検証した位置へ移動するように指示されるように、アーム移動プログラムを呼び出す。別の検証は、この検証位置で行われる。いくつかの実装では、別の検証は、構造化領域におけるグリッパの内容物を検査することを含む。他の実装では、別の検証は、追加の装置によるグリッパの内容物を検査又は分析することを含んでもよい。追加の装置の例示的であるが包括的でないリストは、１）配列されたカメラとは異なる方向及び／又は異なる波長及び／又は高い解像度からのグリッパの内容物を観察する追加の撮像装置；２）非構造化領域に存在するものから異なる波長及び／又はエネルギーレベルでのグリッパの内容物を照らす又は照射する追加の照明装置；３）ガスアナライザーを含む。
【００８５】
別の検証の利益は、向上した信頼水準により物体のタイプがわかることであり、これは、把持した物体上で適切な動作を選択する可能性が増加する。
【００８６】
本発明の一実施形態では、上述した例示的な実施形態は、動作の異なるステップにおける少なくとも１つの機械学習システムを用いることによる本発明によりさらに向上される。
【００８７】
本発明の一実施形態では、システムの動作は、二つの学習問題を仮定し、これは、センサデータからの各種パラメータを算出することに関する。これは、一連の所定の演算を用いることにより達成されうるが、このようなシステムは、フレキシブルではなく、一連の動作状態を特定し、そのため、非構造化領域での動作のために最適ではなく、その状況は、定義によってその時点で知ることができず、所定の計算が定義される。
【００８８】
本発明の一実施形態では、第１の学習課題は、システムから受信されたデータセットから、実行が試みられる把持動作のための一連のパラメータを求めることに関する。
【００８９】
本発明の一実施形態では、第２の学習課題は、対象となる物体を把持するためにロボットアームを動かすパラメータを求めることに関する。
【００９０】
図２についてこれまで説明された本発明の実施形態は、互いに組み合わせて使用してもよい。いくつかの実施形態は、互いに組み合わせることにより本発明のさらなる実施形態を形成してもよい。本発明に関する方法、システム、装置、コンピュータプログラム又はコンピュータプログラム製品は、これまでに説明された本発明の実施形態の少なくとも１つを含んでもよい。
【００９１】
図３は、本発明の一実施形態における二つの学習システムを含むコンピュータを示すブロック図である。図３には、ランダムアクセスメモリ、少なくとも１つのプロセッサ及び二次メモリ（図示せず）を含むコンピュータ３００が示される。コンピュータ３００内の内部機能は、ボックス３０２により示される。コンピュータ３００は、第１の学習エンティティ３１４、第２の学習エンティティ３１２、検証エンティティ３１０、アーム移動制御エンティティ３２０、把持シーケンス制御エンティティ３１８及び物体認識３２２を実行する。第１の学習エンティティ３１４及び第２の学習エンティティ３１２の双方は、学習システムの例である。なお、図３のシステムは、番号が付された別々のパーツ３１０，３１２，３１４，３１６，３１８，３２０及び３２２を含むものとして図示されているが、これらのパーツの分割は、本発明の説明としての機能であり、パーツの数は、実装の方法に応じて異なりうる。異なるパーツは、単一のコンピュータシステムで実行されるコンピュータプログラムの一部として実装されうる。この説明では、制御しているユニットは、図３のパーツを含むように理解される。本発明の一実施形態では、コンピュータ３００は、図１に示されるデータ処理装置１００に対応する。
【００９２】
第１の学習エンティティ３１４は、センサ３０４及びセンサ３０６のような複数のセンサから得られたセンサデータから抽出された入力フィーチャーとして受け取る。このフィーチャーは、矢印３４２により図示されるセンサデータから物体認識エンティティ３２２により抽出される。第１の学習エンティティ３１４は、把持操作を行うために用いられる矢印３３０により図示されるフィーチャーを用いて、アーム移動制御エンティティ３２０のための一連のパラメータ３３２を算出し、その目的は、これらのパラメータを用いる把持操作が成功する可能性が相対的に高いことである。このようなパラメータは、例えば、把持操作が行われる前の、対象物体の位置又はグリッパの方向を含みうる。非構造化領域における対象となる物体のとりうる位置を算出する第１の学習エンティティ３１４を用いる一例は、ここで、第１の学習エンティティ３１４の操作の一例として与えられる。簡略化のために、この例は、取り得る位置（ｘ，ｙ）の算出のみを表すが、本発明はこれに限定されない。
【００９３】
物体認識エンティティ３２２から第１の学習エンティティ３１４により受信された座標（ｘ，ｙ）は、カメラの座標系における登録された物体の位置に対応する。カメラは、ロボットアームに固定されることが好ましく、そのため、カメラ画像は、いかなるときでもロボットアームの位置及び方向に対応する。物体を把持するために、ロボットアームは、グリッパが物体を把持するために良好である位置及び方向へ移動する必要があり、当該位置は、ロボットアームが動作する領域における物体の特性、グリッパ及び他の物体、並びに他の取り得る要素に依存する。第１の学習エンティティ３１４は、前回の把持の実行、すなわち、把持動作がほぼ成功する画像座標系の位置に基づいて算出するように用いられる。
【００９４】
第１の学習エンティティ３１４は、成功評価エンティティ３１６から前回の実行のパラメータを含む入力データアイテム３３８として受け取り、これは、把持シーケンス制御エンティティ３１８から得られた把持シーケンス情報３４０の成功を判定する。この例では、データアイテム３３８は、（ｘ，ｙ）で認識された物体の重心を有する把持の実行に対応し、かつ把持が成功か失敗かについての（ｘ，ｙ）での把持の実行の評価に対応する座標（ｘ，ｙ）からなる。これらのデータアイテムは、その後、第１の学習エンティティ３１４の出力３３２を算出するために用いられる。第１の学習エンティティ３１４からアーム移動制御エンティティ３２０への出力３３２は、単一の点でないことが好ましく、点の分布でもよい。この分布の算出のために適切な、多くの回帰又は分類アルゴリズムは、文献から既知であり、例えば、最尤法又はサポートベクターマシンがこれを実現するために用いられうる。この例では、出力３３２は、例えば、中心（ｘ０，ｙ０）及び座標ｘ及びｙの両方に対する標準偏差σｘ及びσｙによりパラメータ化された二変数正規分布であってもよく、これは、広く知られた最尤法を用いて算出される。
【００９５】
学習エンティティ３１４において説明した学習システムを用いることにより、物体の位置を求めるための物体認識システムを単に用いる場合と比較して、いくつかの利益が提供される。出力が単に１つの点ではなく、分布であるため、動作時に、この例では分布の中心（ｘ０，ｙ０）となる最適な点を用いること、又はそれらの傾向に基づく分布から異なる点を選択することのいずれかが可能である。これは、システムが、学習システムに適用される新たな把持の実行のデータを有することにより連続的に学習することを可能にし、よって、非構造化領域の状態に適合可能となる。たとえ、システムへの実装前に、動作環境の不十分なデータが収集されたとしても、このシステムは、動作時に学習可能であり、新たなデータは、結果をさらに向上させることができる。他の利益は、状態が変化した場合、つまり、衝突でグリッパが変形した、又はカメラマウントが移動し、その結果、カメラ画像の物体の位置に対する最適な把持位置が変化した場合、システムは、これらの変化を補償するために学習する。
【００９６】
アーム移動制御エンティティ３２０は、その後、ロボットアームを所定の把持位置へ移動する。ロボットアームを物体に向かって動かすために、物体認識エンティティ３２２により求められた物体の位置の差、及び第１の学習エンティティ３１４により求められた最も成功しやすい把持の位置が算出される。この差は、その後、ロボットアームを制御するために用いられる物理的な世界座標の差に変換される。この変換は、完全ではないと推測され得、よって、アルゴリズムは、接近中にリアルタイムで補償しなければならない。各ステップにおいて、画像中の物体の位置は、上述したように算出され、最も成功しやすい把持の位置と比較される。カメラ座標系の座標のベクトルであるこの二つの差は、座標ベクトルに変換行例Ｍを掛けることにより世界座標へ変換され、それによって、ロボットアームは、移動する。また、移動をスムースにするために、層変換において少量のローパスフィルタが適用されることが好ましい。このアルゴリズムの効果は、座標系間でのおおよそ正確な変換のみが対応する変換行例Ｍでさえも、各ステップは、ロボットアームを意図した位置の近傍へ移動することである。この方向は、物体へ向かって正確ではなく、よって、次のステップにおいて、物体認識エンティティ３２２により新たなグリッパ位置に対応するカメラ画像から抽出された物体の新たな位置が取得された場合、移動の方向は変化される。これは、進入路に対する螺旋形状を招き、最終的にはカメラにより見られるように物体の位置が最も把持しやすい位置と一致するように収束する。
【００９７】
第２の学習エンティティ３１２は、所定の把持位置へのロボットアームの移動のより効果的な手法を求めるために用いられる。第２の学習エンティティ３１２は、矢印３４４で示すように、ロボットアーム及び／又はロボットアーム３０８からグリッパの位置での情報を受信する。第２の学習エンティティ３１２も過去の把持シーケンスでのその入力データとして受け取る。第２の学習システムの動作を示すために、前述の例に対応する座標（ｘ，ｙ）のみにより簡素な例が与えられる。この例では、第２の学習システムに適用されるデータは、カメラ座標における把持シーケンスの開始時での物体の位置と最も把持しやすい位置との差（ｘｃ，ｙｃ）、及び把持シーケンスの開始時でのロボットアームの世界座標と把持シーケンスが完了した後の世界座標との差（ｘｄ，ｙｄ）を含む。
【００９８】
把持シーケンス制御エンティティ３１８への出力３３４として、第２の学習エンティティ３１２は、ＭＬがベクトル（ｘｃ，ｙｃ，１）に掛けられたとき、対応する差（ｘｄ，ｙｄ）の良好な接近が得られる変換行例ＭＬを計算する。ＭＬは、例えば、リッジ回帰として文献で知られる方向を用いて過去の把持の実行から算出されうるが、他の適切な方法が本発明の範囲内で同様に可能である。なお、この例では算出は、二次元空間での座標のみを含むが、上述した方法は、ロボットアームのより複雑な動きにも同様に適用可能であり、例えば、三次元空間又はロボットアームの異なる部品の回転を含む動きにも適用可能である。
【００９９】
第２の学習エンティティ３１２を用いることは、１つの動きにおけるロボットアームの動きに対する対象を算出するために、第２の学習エンティティ３１２を行列Ｍとして用い、その後、上述した移動アルゴリズムによる残りの誤差を補正することにより、出力行列ＭＬがロボットアームの移動アルゴリズムをショートカットするために用いられうるため、有益である。
【０１００】
ロボットアームが移動した後、把持動作が行われ、把持が成功したかどうかを判定するために評価ステップが行われる。把持が成功しなかったことを評価結果が示す場合、アームを他の位置へ移動する処理へ戻る。把持が成功したことを評価結果が示す場合、矢印３３６に示すように、物体のタイプが検証エンティティ３１０により検証される。
【０１０１】
少なくとも１つのプロセッサが本発明に関連づけられた機能的なエンティティを実行するとき、メモリは、成功評価エンティティ３１６、学習システムエンティティ３１４、学習システムエンティティ３１２、検証エンティティ３１０、アーム移動制御エンティティ３２０及び把持シーケンスエンティティ３１８のようなエンティティを含む。図３に示されるようなコンピュータ３００内の機能的なエンティティは、各種の手法で実装されてもよい。これらは、ネットワークノードのネイディブオペレーティングシステム下で実行されるプロセスとして実装されてもよい。エンティティは、別のプロセス又はスレッド又は多数の異なるエンティティが一のプロセス又はスレッドにより実装されるように実装されてもよい。プロセス又はスレッドは、多数のルーティン、つまり、例えば、工程（ｐｒｏｃｅｄｕｒｅｓ）及び機能（ｆｕｎｃｔｉｏｎｓ）を含むプログラムブロックのインスタンスであってもよい。機能的なエンティティは、別のコンピュータプログラムとして、又はエンティティを実装するいくつかのルーティン又は機能を含む単一のコンピュータプログラムとして実装されてもよい。プログラムブロックは、例えば、メモリ回路、メモリカード、磁気又は光ディスクのような少なくとも１つのコンピュータ読み取り可能な媒体に記憶される。いくつかの機能的なエンティティは、他の機能的なエンティティにリンクしたプログラムモジュールとして実装されてもよい。図３の機能的なエンティティは、また、別のメモリに記憶されてもよく、例えば、メッセージバス又はネットワークノード内の内部ネットワークを通じて通信する別のプロセッサにより実行されてもよい。このようなメッセージバスの一例は、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  （ＰＣＩ）バスである。
【０１０２】
本発明の例示的な実施形態は、任意の適切なサーバ、ワークステーション、ＰＣ、ラップトップコンピュータ、ＰＤＡ、インターネット家電、ハンドヘルド装置、携帯電話、無線装置、他の装置等の例示的な実施形態のプロセスを実行可能な任意の適切なデバイスを含み得、例えば、インターネットアクセス、任意の適切な形式（例えば、音声、モデム等）での電話、無線通信媒体、一又はそれ以上の無線通信ネットワーク、携帯通話ネットワーク、３Ｇ通信ネットワーク、４Ｇ通信ネットワーク、公衆交換電話網（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋ  （ＰＳＴＮｓ））、パケットデータネットワーク（ＰＤＮｓ）、インターネット、イントラネット、それらの組み合わせ等を含む一又はそれ以上のインターフェース機構を通じて通信可能である。
【０１０３】
ハードウェア分野の当業者には理解できるように、例示的な実施形態は、例示的なプロセスのためのものであり、例示的な実施形態を実装するために特定のハードウェアの多くのバリエーションが可能であることがわかる。例えば、例示的な実施形態の一又はそれ以上の構成要素の機能性は、一又はそれ以上のハードウェアデバイスにより実装されうる。
【０１０４】
例示的な実施形態は、本明細書で説明された各種のプロセスに関する情報を記憶しうる。この情報は、ハードディスク、光ディスク、磁気−光ディスク、ＲＡＭ等のような一又はそれ以上のメモリに記憶されうる。一又はそれ以上のデータベースは、本発明の例示的な実施形態を実装するために用いられる情報を記憶しうる。データベースは、本明細書に挙げた一又はそれ以上のメモリ又はストレージに含まれるデータ構造（例えば、レコード、テーブル、アレイ、フィールド、グラフ、ツリー、リスト等）を用いて構成されうる。例示的な実施形態について説明されたプロセスは、一又はそれ以上のデータベースにおける例示的な実施形態のデバイス及びサブシステムのプロセスにより収集及び／又は生成されたデータを記憶するために適切なデータ構造を含みうる。
【０１０５】
電気分野の当業者には理解できるように、例示的な実施形態の全部又は一部は、特定用途集積回路の作成により、又は従来のコンポーネント回路の適切なネットワークを相互接続することにより実装されてもよい。
【０１０６】
上述したように、例示的な実施形態の構成要素は、本発明の教示に係り、データ構造、テーブル、レコード、及び／又は本明細書に記載された他のデータを保持するためのコンピュータで読み取り可能な媒体又はメモリを含みうる。コンピュータで読み取り可能な媒体は、実行のためのプロセッサへの命令の提供を共有する任意の媒体を含みうる。このような媒体は、多くの形態をとり得、不揮発性媒体、揮発性媒体、伝送媒体等を含むが、これに限定されない。不揮発性媒体は、例えば、光又は磁気ディスク、磁気−光ディスク等を含みうる。揮発性媒体は、ダイナミックメモリ等を含みうる。伝送媒体は、同軸ケーブル、銅線、光ファイバー等を含みうる。伝送媒体は、また、無線周波数（ＲＦ）通信、赤外線（ＩＲ）データ通信等の間に生成される音響、光、電磁波等の形態をとりうる。コンピュータで読み取り可能な媒体の一般的な形態は、フロッピーディスク（登録商標）、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、ＣＤ−ＲＯＭ，ＣＤＲＷ，ＤＶＤ，任意の他の適切な光学媒体、パンチカード、ペーパーテープ、光学マークシート、穴のパターンを有する任意の他の適切な物理媒体、任意の他の光学的に識別可能な印、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、任意の他の適切なメモリチップ又はカートリッジ、搬送波又はコンピュータが読み取ることができる任意の他の適切な媒体を含みうる。
【０１０７】
本発明は、多くの例示的な実施形態及び実装に関して説明してきたが、本発明はこれに限定されず、予期される特許請求の範囲内に含まれる各種の変更及び均等物が含まれる。
【０１０８】
当業者には本発明の基本概念が各種の手法で実装されてもよいことが自明である。よって、本発明及びその実施形態は、上述した実施例に限定されず、特許請求の範囲内で変更されてもよい。
【図１】
2013529554.tif 000003
【図２】
2013529554.tif 000004
【図３】
2013529554.tif 000005
【手続補正書】
【提出日】平成25年2月25日(2013.2.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つの第１のセンサからの第１のセンサデータを受信するステップと、
前記第１のセンサデータから、空間における少なくとも一つの位置及びロボットアームに関連するグリッパの向きを含む対象の位置を求めるステップと、
前記グリッパを前記対象の位置へ移動させるために、前記ロボットアーム及び前記グリッパの少なくとも一方への少なくとも１つの第１の命令を発することを開始するステップと、
前記少なくとも１つの第１の命令の実行が失敗かどうかを判定するために、前記ロボットアーム及び前記グリッパの少なくとも一方と関連付けられる前記少なくとも１つの第１のセンサ及び少なくとも１つのフォースフィードバックセンサの少なくとも一方からのフォースフィードバックセンサデータを受信するステップと、
前記少なくとも１つの第１のセンサからの第２のセンサデータを受信するステップと、
前記第２のセンサデータから物体の把持が成功かどうか判定するステップと、
前記把持の成功の判定に応じて、前記少なくとも１つの第１のセンサから検証センサデータを受信するステップと、
所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発するステップと、を含む方法。
【請求項２】
把持の成功及び前記第１のセンサデータを第１の学習エンティティに登録するステップをさらに含む請求項１に記載の方法。
【請求項３】
前記少なくとも１つの命令の少なくとも１つの実行が失敗したことの判定に応じて、把持の失敗及び前記第１のセンサデータを前記第１の学習エンティティに登録するステップをさらに含む請求項２に記載の方法。
【請求項４】
前記第１の学習エンティティに登録された情報を用いて前記第１のセンサデータから把持が成功する可能性を予測するステップと、前記可能性に応じて前記ロボットアームへ前記少なくとも１つの第１の命令を発するステップと、をさらに含む請求項２又は３に記載の方法。
【請求項５】
前記グリッパを検証位置へ移動するための少なくとも１つの第３の命令を前記ロボットアームへ発するステップをさらに含む請求項３に記載の方法。
【請求項６】
前記検証位置は、前記少なくとも１つの第２のセンサが物体に干渉されずに適用される検証環境に対応する請求項５に記載の方法。
【請求項７】
前記検証環境は、一定のバックグラウンドを有する請求項６に記載の方法。
【請求項８】
前記少なくとも１つの第２のセンサからの検証センサデータから物体のタイプを求めるステップをさらに含む請求項５に記載の方法。
【請求項９】
前記ロボットアームへの前記少なくとも１つの第１の命令を発することを開始するステップは、
前記ロボットアームへ第１の座標を提供するステップと、
前記少なくとも１つの第１のセンサから第１の中間センサデータを受信するステップと、
前記第１の中間センサデータを用いてセンサ座標系における前記グリッパの実際の位置を求めるステップと、をさらに含む請求項１に記載の方法。
【請求項１０】
前記ロボットアームへの前記少なくとも１つの第１の命令を発することを開始するステップは、
前記グリッパの前記実際の位置と前記第１の座標との誤差を求めるステップと、
前記ロボットアームに第２の座標を提供するステップと、
前記少なくとも１つの第１のセンサから第２の中間センサデータを受信するステップと、
前記第２の中間センサデータを用いてセンサ座標系における前記グリッパの第２の実際の位置を求めるステップと、
前記誤差が所定の閾値より小さいかどうかを検証するステップと、をさらに含む請求項９に記載の方法。
【請求項１１】
前記ロボットアームへの前記少なくとも１つの第１の命令を発することを開始するステップは、第２の学習エンティティの前記センサ座標系において求められた前記ロボットアームの座標と前記グリッパの位置との関係を登録するステップをさらに含む請求項９に記載の方法。
【請求項１２】
前記ロボットアームへの前記少なくとも１つの第１の命令を発することを開始するステップは、登録された前記関係を用いて、前記ロボットアームの座標と前記センサ座標系における座標との変換関数を作成するステップをさらに含む請求項１１に記載の方法。
【請求項１３】
前記第１のセンサデータから対象の位置を求めるステップは、
前記センサ座標系における初期対象位置を求めるステップと、
変換関数を用いて前記初期対象位置から前記対象の位置を計算するステップと、をさらに含む請求項１１に記載の方法。
【請求項１４】
コンピュータプログラムコードを有する少なくとも１つのプロセッサ及び少なくとも１つのメモリを含む装置であって、前記少なくとも１つのメモリ及び前記コンピュータプログラムコードは、前記少なくとも１つのプロセッサにより、前記装置が、
少なくとも１つの第１のセンサからの第１のセンサデータを受信し、
前記第１のセンサデータから、少なくとも１つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求め、
前記グリッパを前記対象の位置へ移動するために、少なくとも１つの前記ロボットアーム及び前記グリッパへ少なくとも１つの第１の命令を発することを開始し、
少なくとも１つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも１つのフォースフィードバックセンサ、及び少なくとも１つの第１のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも１つの第１の命令の実行が失敗かどうかを判定し、
前記少なくとも１つ第１のセンサから第２のセンサデータを受信し、
前記第２のセンサデータから物体の把持が成功かどうか判定し、
前記把持の成功の判定に応じて、少なくとも１つの第２のセンサから検証センサデータを受信し、
所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発する
ことを少なくとも行うように構成される、装置。
【請求項１５】
少なくとも１つの第１のセンサからの第１のセンサデータを受信する手段と、
前記第１のセンサデータから、少なくとも１つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求める手段と、
前記グリッパを前記対象の位置へ移動するために、少なくとも１つの前記ロボットアーム及び前記グリッパへ少なくとも１つの第１の命令を発することを開始する手段と、
少なくとも１つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも１つのフォースフィードバックセンサ、及び少なくとも１つの第１のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも１つの第１の命令の実行が失敗かどうかを判定する手段と、
前記少なくとも１つ第１のセンサから第２のセンサデータを受信する手段と、
前記第２のセンサデータから物体の把持が成功かどうか判定する手段と、
前記把持の成功の判定に応じて、少なくとも１つの第２のセンサから検証センサデータを受信する手段と、
所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発する手段と、を含む装置。
【請求項１６】
コンピュータ読み取り可能な媒体に統合されるコンピュータプログラムであって、
前記コンピュータプログラムは、
少なくとも１つの第１のセンサからの第１のセンサデータを受信するステップと、
前記第１のセンサデータから、少なくとも１つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求めるステップと、
前記グリッパを前記対象の位置へ移動するために、少なくとも１つの前記ロボットアーム及び前記グリッパへ少なくとも１つの第１の命令を発することを開始するステップと、
少なくとも１つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも１つのフォースフィードバックセンサ、及び少なくとも１つの第１のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも１つの第１の命令の実行が失敗かどうかを判定するステップと、
前記少なくとも１つ第１のセンサから第２のセンサデータを受信するステップと、
前記第２のセンサデータから物体の把持が成功かどうか判定するステップと、
前記把持の成功の判定に応じて、少なくとも１つの第２のセンサから検証センサデータを受信するステップと、
所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも１つの第２の命令を発するステップと、
を含む方法を実行するためのプロセッサを制御するコードを含む、コンピュータプログラム。
【請求項１７】
前記コンピュータプログラムは、前記コンピュータ読み取り可能な媒体に記憶される請求項１６に記載のコンピュータプログラム。
【請求項１８】
前記コンピュータ読み取り可能な媒体は、リムーバブルメモリカード、ホログラフィックメモリ、磁気ディスク又は光ディスクである請求項１７に記載のコンピュータプログラム。
【国際調査報告】
2013529554.tif 000006
2013529554.tif 000007
2013529554.tif 000008
2013529554.tif 000009