"少なくとも1つの第1のセンサからの第1のセンサデータを受信するステップと、前記第1のセンサデータから、空間における少なくとも一つの位置及びロボットアームに関連するグリッパの向きを含む対象の位置を求めるステップと、前記グリッパを前記対象の位置へ移動させるために、前記ロボットアーム及び前記グリッパの少なくとも一方への少なくとも1つの第1の命令を発することを開始するステップと、前記少なくとも1つの第1の命令の実行が失敗かどうかを判定するために、前記ロボットアーム及び前記グリッパの少なくとも一方と関連付けられる前記少なくとも1つの第1のセンサ及び少なくとも1つのフォースフィードバックセンサの少なくとも一方からのフォースフィードバックセンサデータを受信するステップと、前記少なくとも1つの第1のセンサからの第2のセンサデータを受信するステップと、前記第2のセンサデータから物体の把持が成功かどうか判定するステップと、前記把持の成功の判定に応じて、前記少なくとも1つの第1のセンサから検証センサデータを受信するステップと、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも1つの第2の命令を発するステップと、を含む方法。把持の成功及び前記第1のセンサデータを第1の学習エンティティに登録するステップをさらに含む請求項1に記載の方法。前記少なくとも1つの命令の少なくとも1つの実行が失敗したことの判定に応じて、把持の失敗及び前記第1のセンサデータを前記第1の学習エンティティに登録するステップをさらに含む請求項2に記載の方法。前記第1の学習エンティティに登録された情報を用いて前記第1のセンサデータから把持が成功する可能性を予測するステップと、前記可能性に応じて前記ロボットアームへ前記少なくとも1つの第1の命令を発するステップと、をさらに含む請求項2又は3に記載の方法。前記グリッパを検証位置へ移動するための少なくとも1つの第3の命令を前記ロボットアームへ発するステップをさらに含む請求項3に記載の方法。前記検証位置は、前記少なくとも1つの第2のセンサが物体に干渉されずに適用される検証環境に対応する請求項5に記載の方法。前記検証環境は、一定のバックグラウンドを有する請求項6に記載の方法。前記少なくとも1つの第2のセンサからの検証センサデータから物体のタイプを求めるステップをさらに含む請求項5に記載の方法。前記ロボットアームへの前記少なくとも1つの第1の命令を発することを開始するステップは、前記ロボットアームへ第1の座標を提供するステップと、前記少なくとも1つの第1のセンサから第1の中間センサデータを受信するステップと、前記第1の中間センサデータを用いてセンサ座標系における前記グリッパの実際の位置を求めるステップと、をさらに含む請求項1に記載の方法。前記ロボットアームへの前記少なくとも1つの第1の命令を発することを開始するステップは、前記グリッパの前記実際の位置と前記第1の座標との誤差を求めるステップと、前記ロボットアームに第2の座標を提供するステップと、前記少なくとも1つの第1のセンサから第2の中間センサデータを受信するステップと、前記第2の中間センサデータを用いてセンサ座標系における前記グリッパの第2の実際の位置を求めるステップと、前記誤差が所定の閾値より小さいかどうかを検証するステップと、をさらに含む請求項9に記載の方法。前記ロボットアームへの前記少なくとも1つの第1の命令を発することを開始するステップは、第2の学習エンティティの前記センサ座標系において求められた前記ロボットアームの座標と前記グリッパの位置との関係を登録するステップをさらに含む請求項9に記載の方法。前記ロボットアームへの前記少なくとも1つの第1の命令を発することを開始するステップは、登録された前記関係を用いて、前記ロボットアームの座標と前記センサ座標系における座標との変換関数を作成するステップをさらに含む請求項11に記載の方法。前記第1のセンサデータから対象の位置を求めるステップは、前記センサ座標系における初期対象位置を求めるステップと、変換関数を用いて前記初期対象位置から前記対象の位置を計算するステップと、をさらに含む請求項11に記載の方法。少なくとも1つの第1のセンサからの第1のセンサデータを受信する手段と、前記第1のセンサデータから、少なくとも1つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求める手段と、前記グリッパを前記対象の位置へ移動するために、少なくとも1つの前記ロボットアーム及び前記グリッパへ少なくとも1つの第1の命令を発することを開始する手段と、少なくとも1つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも1つのフォースフィードバックセンサ、及び少なくとも1つの第1のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも1つの第1の命令の実行が失敗かどうかを判定する手段と、前記少なくとも1つ第1のセンサから第2のセンサデータを受信する手段と、前記第2のセンサデータから物体の把持が成功かどうか判定する手段と、前記把持の成功の判定に応じて、少なくとも1つの第2のセンサから検証センサデータを受信する手段と、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも1つの第2の命令を発する手段と、を含む装置。コンピュータ読み取り可能な媒体に統合されるコンピュータプログラムであって、前記コンピュータプログラムは、少なくとも1つの第1のセンサからの第1のセンサデータを受信するステップと、前記第1のセンサデータから、少なくとも1つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求めるステップと、前記グリッパを前記対象の位置へ移動するために、少なくとも1つの前記ロボットアーム及び前記グリッパへ少なくとも1つの第1の命令を発することを開始するステップと、少なくとも1つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも1つのフォースフィードバックセンサ、及び少なくとも1つの第1のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも1つの第1の命令の実行が失敗かどうかを判定するステップと、前記少なくとも1つ第1のセンサから第2のセンサデータを受信するステップと、前記第2のセンサデータから物体の把持が成功かどうか判定するステップと、前記把持の成功の判定に応じて、少なくとも1つの第2のセンサから検証センサデータを受信するステップと、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも1つの第2の命令を発するステップと、を含む方法を実行するためのプロセッサを制御するコードを含む、コンピュータプログラム。前記コンピュータプログラムは、前記コンピュータ読み取り可能な媒体に記憶される請求項15に記載のコンピュータプログラム。前記コンピュータ読み取り可能な媒体は、リムーバブルメモリカード、ホログラフィックメモリ、磁気ディスク又は光ディスクである請求項16に記載のコンピュータプログラム。しかしながら、物体のタイプを判定することはエラーを生じる可能性がある。例えば、画像認識アルゴリズムは、誤ったタイプの物体を識別してしまい、誤った結果を生成する。さらに、物体が正確に認識されたとしても、グリッパは、例えば、意図した物体が、把持しようとした物体ではない他の物体により覆い隠された場合、又はグリッパが、把持する前に正しい位置へ移動せず、ロボットアームの制御に誤りが生じた場合、意図した物体を把持することを失敗する。例えば、物体が共に近接して配置されている、又は物体が互いに重なっている場合、いくつかの物体が、うっかり同時に把持されてしまう可能性もある。リサイクル及びごみ管理のような用途では、物体の分別されたグループの純度が高いことが重要である、つまり、物体の分別されたグループにおいて異なるタイプの物体が最終的にできるだけ少なくなることが重要である。本発明は、少なくとも1つの第1のセンサからの第1のセンサデータを受信するステップと、第1のセンサデータから、空間における少なくとも一つの位置及びロボットアームに関連するグリッパの向きを含む対象の位置を求めるステップと、前記グリッパを前記対象の位置へ移動させるために、前記ロボットアーム及び前記グリッパの少なくとも一方への少なくとも1つの第1の命令を発することを開始するステップと、前記少なくとも1つの第1の命令の実行が失敗かどうかを判定するために、前記ロボットアーム及び前記グリッパの少なくとも一方と関連付けられる前記少なくとも1つの第1のセンサ及び前記少なくとも1つのフォースフィードバックセンサの少なくとも一方からのフォースフィードバックセンサデータを受信するステップと、前記少なくとも1つの第1のセンサからの第2のセンサデータを受信するステップと、前記第2のセンサデータから物体の把持が成功かどうか判定するステップと、前記把持の成功の判定に応じて、前記少なくとも1つの第1のセンサから検証センサデータを受信するステップと、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも1つの第2の命令を発するステップと、を含む方法に関する。本発明は、また、少なくとも1つの第1のセンサからの第1のセンサデータを受信する手段と、前記第1のセンサデータから、少なくとも1つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求める手段と、前記グリッパを前記対象の位置へ移動するために、少なくとも1つの前記ロボットアーム及び前記グリッパへ少なくとも1つの第1の命令を発することを開始する手段と、少なくとも1つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも1つのフォースフィードバックセンサ、及び少なくとも1つの第1のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも1つの第1の命令の実行が失敗かどうかを判定する手段と、前記少なくとも1つ第1のセンサから第2のセンサデータを受信する手段と、前記第2のセンサデータから物体の把持が成功かどうか判定する手段と、前記把持の成功の判定に応じて、前記少なくとも1つの第1のセンサから検証センサデータを受信する手段と、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも1つの第2の命令を発する手段と、を含む装置に関する。本発明は、また、コンピュータ読み取り可能な媒体に統合されるコンピュータプログラムであって、前記コンピュータプログラムは、少なくとも1つの第1のセンサからの第1のセンサデータを受信するステップと、前記第1のセンサデータから、少なくとも1つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求めるステップと、前記グリッパを前記対象の位置へ移動するために、少なくとも1つの前記ロボットアーム及び前記グリッパへ少なくとも1つの第1の命令を発することを開始するステップと、少なくとも1つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも1つのフォースフィードバックセンサ、及び少なくとも1つの第1のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも1つの第1の命令の実行が失敗かどうかを判定するステップと、前記少なくとも1つ第1のセンサから第2のセンサデータを受信するステップと、前記第2のセンサデータから物体の把持が成功かどうか判定するステップと、前記把持の成功の判定に応じて、少なくとも1つの第2のセンサから検証センサデータを受信するステップと、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも1つの第2の命令を発するステップと、を含む方法を実行するためのプロセッサを制御するコードを含む、コンピュータプログラムに関する。本発明は、また、少なくとも1つの第1のセンサからの第1のセンサデータを受信するステップと、第1のセンサデータから、空間における少なくとも一つの位置及びロボットアームに関連するグリッパの向きを含む対象の位置を求めるステップと、前記グリッパを前記対象の位置へ移動させるために、前記ロボットアーム及び前記グリッパの少なくとも一方への少なくとも1つの第1の命令を発することを開始するステップと、前記少なくとも1つの第1の命令の実行が失敗かどうかを判定するために、前記ロボットアーム及び前記グリッパの少なくとも一方と関連付けられる前記少なくとも1つの第1のセンサ又は前記少なくとも1つのフォースフィードバックセンサからのフォースフィードバックセンサデータを受信するステップと、前記少なくとも1つの第1のセンサからの第2のセンサデータを受信するステップと、前記第2のセンサデータから物体の把持が成功かどうか判定するステップと、前記把持の成功の判定に応じて、前記少なくとも1つの第1のセンサから検証センサデータを受信するステップと、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも1つの第2の命令を発するステップと、を含む方法に関する。本発明は、また、少なくとも1つの第1のセンサからの第1のセンサデータを受信する手段と、前記第1のセンサデータから、少なくとも1つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求める手段と、前記グリッパを前記対象の位置へ移動するために、少なくとも1つの前記ロボットアーム及び前記グリッパへ少なくとも1つの第1の命令を発することを開始する手段と、少なくとも1つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも1つのフォースフィードバックセンサ、又は少なくとも1つの第1のセンサからフォースフィードバックセンサデータを受信し、前記少なくとも1つの第1の命令の実行が失敗かどうかを判定する手段と、前記少なくとも1つ第1のセンサから第2のセンサデータを受信する手段と、前記第2のセンサデータから物体の把持が成功かどうか判定する手段と、前記把持の成功の判定に応じて、少なくとも1つの第2のセンサから検証センサデータを受信する手段と、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも1つの第2の命令を発する手段と、を含む装置。本発明は、また、コンピュータ読み取り可能な媒体に統合されるコンピュータプログラムであって、前記コンピュータプログラムは、少なくとも1つの第1のセンサからの第1のセンサデータを受信するステップと、前記第1のセンサデータから、少なくとも1つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含む対象の位置を求めるステップと、前記グリッパを前記対象の位置へ移動するために、少なくとも1つの前記ロボットアーム及び前記グリッパへ少なくとも1つの第1の命令を発することを開始するステップと、少なくとも1つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも1つのフォースフィードバックセンサ、又は少なくとも1つの第1のセンサからフォースフィードバックセンサデータを受信し、前記少なくとも1つの第1の命令の実行が失敗かどうかを判定するステップと、前記少なくとも1つ第1のセンサから第2のセンサデータを受信するステップと、前記第2のセンサデータから物体の把持が成功かどうか判定するステップと、前記把持の成功の判定に応じて、少なくとも1つの第2のセンサから検証センサデータを受信するステップと、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも1つの第2の命令を発するステップと、を含む方法を実行するためのプロセッサを制御するコードを含む、コンピュータプログラム。本発明は、また、少なくとも1つの第1のセンサからの第1のセンサデータを受信し、前記第1のセンサデータから、少なくとも1つの空間における位置及びロボットアームに関連付けられるグリッパに対する方向を含み対象の位置を求め、前記グリッパを前記対象の位置へ移動するために、少なくとも1つの前記ロボットアーム及び前記グリッパへ少なくとも1つの第1の命令を発することを開始し、少なくとも1つの前記ロボットアーム及び前記グリッパと関連付けられる少なくとも1つのフォースフィードバックセンサ、及び少なくとも1つの第1のセンサの少なくとも一方からフォースフィードバックセンサデータを受信し、前記少なくとも1つの第1の命令の実行が失敗かどうかを判定し、前記少なくとも1つ第1のセンサから第2のセンサデータを受信し、前記第2のセンサデータから物体の把持が成功かどうか判定し、前記把持の成功の判定に応じて、少なくとも1つの第2のセンサから検証センサデータを受信し、所定の位置へ前記ロボットアームを移動して、前記グリッパの把持をリリースするために、前記ロボットアームへ少なくとも1つの第2の命令を発するように構成されるメモリ及び少なくとも1つのプロセッサを含む装置。本発明の一実施形態では、前記少なくとも1つの命令は、ロボットアーム及び/又はグリッパに対する少なくとも1つの移動を示す信号を含む。本発明の一実施形態では、前記少なくとも1つの命令は、少なくとも1つの回転、上昇及び把持を制御するために印加される単一の駆動電圧である。本発明の一実施形態では、前記装置内の第1の学習エンティティは、把持の成功及び前記第1のセンサデータを登録する。本発明の一実施形態では、前記装置内の第1の学習エンティティは、前記少なくとも1つの命令の少なくとも1つの実行が失敗したことの判定に応じて、把持の失敗及び前記第1のセンサデータを前記第1の学習エンティティに登録する本発明の一実施形態では、前記装置内のアーム移動制御エンティティ又は第1の学習エンティティは、前記第1の学習エンティティに登録された情報を用いて前記第1のセンサデータから把持が成功する可能性を予測する。前記アーム移動制御エンティティは、前記可能性に応じて前記ロボットアームへ前記少なくとも1つの第1の命令を発する。本発明の一実施形態では、前記アーム移動制御エンティティは、前記グリッパを検証位置へ移動するための少なくとも1つの第3の命令を前記ロボットアームへ発する。本発明の一実施形態では、前記検証位置は、前記少なくとも1つの第2のセンサが物体に干渉されずに適用される検証環境に対応する。本発明の一実施形態では、前記検証環境は、一定のバックグラウンドを有する。本発明の一実施形態では、前記装置は、前記少なくとも1つの第2のセンサからの検証センサデータから物体のタイプを求めるように構成される。本発明の一実施形態では、前記ロボットアームへの前記少なくとも1つの第1の命令を発することを開始するステップ、又は前記方法は、一般に、前記ロボットアームへ第1の座標を提供するステップと、前記少なくとも1つの第1のセンサから第1の中間センサデータを受信するステップと、前記第1の中間センサデータを用いてセンサ座標系における前記グリッパの実際の位置を求めるステップと、をさらに含む。これらのステップは、前記装置内の前記アーム制御エンティティにより実行されてもよい。本発明の一実施形態では、前記ロボットアームへの前記少なくとも1つの第1の命令を発することを開始するステップ、又は前記方法は、一般に、前記グリッパの前記実際の位置と前記第1の座標との誤差を求めるステップと、前記ロボットアームに第2の座標を提供するステップと、前記少なくとも1つの第1のセンサから第2の中間センサデータを受信するステップと、前記第2の中間センサデータを用いてセンサ座標系における前記グリッパの第2の実際の位置を求めるステップと、前記誤差が所定の閾値より小さいかどうかを検証するステップと、さらに含む前記誤差が前記閾値より大きい場合には、前記方法は、前記誤差を再度求めるステップと、前記第2の座標を提供するステップと、前記第2の実際の位置を求めるステップとを継続してもよい。本発明の一実施形態では、前記ロボットアームへの前記少なくとも1つの第1の命令を発することを開始するステップ、又は前記方法は、一般に、第2の学習エンティティの前記センサ座標系において求められた前記ロボットアームの座標と前記グリッパの位置との関係を登録するステップをさらに含む。本発明の一実施形態では、前記ロボットアームへの前記少なくとも1つの第1の命令を発することを開始するステップ、又は前記方法は、一般に、登録された前記関係を用いて、前記ロボットアームの座標と前記センサ座標系における座標との変換関数を作成するステップをさらに含む。本発明の一実施形態では、前記第1のセンサデータから対象の位置を求めるステップは、前記センサ座標系における初期対象位置を求めるステップと、前記変換関数を用いて前記初期対象位置から前記対象の位置を計算するステップと、をさらに含む。本発明の一実施形態では、前記変換関数は、前記センサ座標系において求められた前記ロボットアームの座標と前記グリッパの位置との少なくとも登録された関係を用いて算出された変換行例である。同様に、他の同様の関係は、前記変換行列を算出するために用いられる。本発明の一実施形態では、対象となる物体は、非構造化領域、すなわち、背景色又は形状のような一又はいくつかのその特性が予め設定されず、かつ対象となる物体に加えて未知の特性の他の物体を含みうる環境又は通常の三次元空間に配置される。例えば、ごみの山は、非構造化領域、すなわち、ロボットの動作空間を構成しうる。非構造化領域は、時間の経過と共に変化しうる。例えば、ごみの破片がごみの山から除去されると、ごみの破片は、シャッフル、移動又は崩壊しうる。新たなごみもまた前記ごみの山へ加えられうる。本発明の一実施形態では、本発明は、制御ユニットにより制御され、かつロボットアームが非構造化領域に存在する物体に到達しうるように実装されるロボットアームを含む。本発明の一実施形態では、前記システムは、前記ロボットアームに取り付けられ、かつ前記制御ユニットにより制御されるグリッパをさらに含む。前記グリッパは、例えば、手又は爪に類似する手法で、当該グリッパを閉じることにより物体を把持するデバイスでありうる。本発明の一実施形態では、前記システムは、前記非構造化領域の周囲の知覚データを生成するために用いられうる少なくとも1つのセンサデバイスをさらに含む。一つのこのようなセンサデバイスは、例えば、前記非構造化領域を見るように方向付けられたデジタルカメラでありうる。本発明の一実施形態では、前記グリッパは、前記グリッパが前記非構造化領域において前記物体に接触したかどうか、例えば、前記グリッパが移動して、当該グリッパが物体に対して衝突した、又は物体が把持されたかを測定するために用いられうるセンサを含む。本発明の一実施形態では、前記システムは、前記ロボットアームのために、物体を把持するロボットアームが、少なくとも1つのセンサがその後この領域に対する物体を見ることができるような手法で移動及び方向付けられうるような手法で位置及び方向付けられる所定の検証位置をさらに含む。このような領域は、例えば、把持された物体が、このバックグランドにより判別され得、さらにセンサによってより正確に見られるように、又は把持された物体が、センサが用いられることにより物体のタイプの検証のために適切な他の種類のセットアップからなりうるような既知及び一定色の平坦な面を含みうる。本発明の一実施形態では、前記システムは、前記センサからデータを受信し、把持動作の成功の可能性が適切な高さである前記非構造化領域の位置を前記制御ユニットに出力するように構成される第1の学習システムをさらに含む。本発明の一実施形態では、前記システムは、前記センサからデータを受信し、この位置で行われる把持動作が所望のタイプの物体の把持を得る可能性を出力するように構成される第2の学習システムをさらに含む。本発明の一実施形態では、前記制御ユニットは、グリッパが前記非構造化領域の以前に求められた位置に位置するように前記ロボットアームを移動し、その後、当該位置での物体を把持するように構成される。本発明の一実施形態では、前記把持動作の成功は、その後、センサからのデータを用いて求められる。前記把持が失敗した場合、前記ロボットアームは、その後、別の実行のために異なる位置へ移動される。把持が成功すると、前記制御ユニットは、その後、物体を予め定義した検証位置へ移動するように構成され、前記物体のタイプは、検証動作を行うことにより求められる。前記検証動作は、当該検証動作の入力センサデータとして受信され、前記物体の求められたタイプを出力する。本発明の一実施形態では、前記システムは、前記装置で動く学習システムを用いることによりさらに向上する。本発明の一実施形態では、第1の学習システム又は第1の学習エンティティとして呼ばれてもよい学習システムが存在する。各把持の実行のために、前記アームの移動を予測する前記センサデータ及び前記把持動作の評価の結果は、前記第1の学習システムに適用される。前記第1の学習システムは、把持動作の成功が成功し、それにより、把持した物体での新たな実行がなされたときに、前記システムの動作が向上する非構造化領域での位置を算出するように構成される。本発明の一実施形態では、第2の学習システム又は第2の学習エンティティとして呼ばれてもよい学習システムが存在する。前記ロボットアームの移動の前後で、前記第2の学習システムにも前記アームの移動並びに前記ロボットアームの位置及び方向を予測する前記センサデータは、また、前記第2の学習システムに適用され、これは、前記ロボットアームを求められた対象の位置へ移動するための効果的な手法を算出するように構成され、よって、前記ロボットアームの新たな動きがなされたときに、前記ロボットシステムの動作の速度が上がる。本発明の一実施形態では、前記コンピュータプログラムは、コンピュータ読み取り可能な媒体に記憶される。前記コンピュータ読み取り可能な媒体は、リムーバブルメモリカード、リムーバブルメモリモジュール、磁気ディスク、光ディスク、ホログラフィックメモリ又は磁気テープであってもよい。リムーバブルメモリモジュールは、例えば、USBメモリスティック、PCMCIAカード又はスマートメモリカードであってもよい。上述された本発明の実施形態は、互いに組み合わせて用いられてもよい。いくつかの実施形態は、共に組み合わせられることにより本発明の別の実施形態を形成してもよい。本発明に関する方法、システム、装置、コンピュータプログラム又はコンピュータプログラム製品は、上述された発明の少なくとも1つの実施形態を含む。本発明の利益は、ロボットの動作スペースから物体の選択の質を向上させることに関する。本発明の実施形態の詳細が添付の図面で示される例と共に示される。図1は、本発明の一実施形態における物理的な物体の選択のためのロボットシステムを示すブロック図である。図1では、データ処理装置100、簡潔にいうと装置は、中央処理ユニットCP110と、メモリ150と、を含む。本発明のいくつかの実施形態は、マルチプルプロセッサCP1からCPnに加えて、マルチプルプロセッサの付加を分散する負荷分散ユニットを採用する。一又はそれ以上のプロセッサは、一又はそれ以上のメモリ150に記憶されるプログラム152を実行することによりロボットアームを制御する。実行時に、プログラム152は、メモリ150内の各種パラメータ及び変数154をセットアップし、アップデートする。いくつかのパラメータは、例えば、テーブル、アレイ、リスト、スパース又はデンス行列、又は他のデータ構造で表されてもよい。また、データ処理装置100は、データ処理装置のユーザインターフェースを構成する外部入出力回路120を含む又は用いる。入出力回路120は、入力回路122と、出力回路124と、を含む。キーボードインターフェース及びディスプレイインターフェースは、実例となるが、このような入力回路122及び出力回路124の例に制限されない。外部装置と通信するために、データ処理装置100は、通常、送信回路TXn132、受信回路RXn134及び内部又は外部アンテナ136を含む外部送受信回路130を含む又は使用する。TXn及びRXnに関連するnは、データ処理装置が、物理的世界と通信するためのいくつかの異なるインターフェース技術を用いてもよいことを示し、本例は、ロボットアーム、及び付加的に別個の検証環境を含む。Wirelesslocal-areanetworksWLAN及び赤外線、無線又はBluetooth登録商標のような近距離無線インターフェースが実例であるが、このような無線送受信回路に制限されない。このような無線通信技術に代えて、又はこれらに追加して、データ処理装置は、USBUniversalSerialBus、任意のパラレル又はシリアルインターフェース、又は他の型の業界標準インターフェース、又は専売のインターフェースのような有線接続138を使用してもよい。標準化の先行するレベルでは、全ての要素110から138は、適切な技術で用いられるような従来技術でありうる。従来のセクションに加えて、データ処理装置100のメモリ150は、独創的なユーザエントリー方法を実装するプログラム152の一群を含む。プログラム152は、参照番号154により集合的に示される各種のデータ構造、変数及びパラメータを用いる。参照番号160は、一般的に、少なくともいくつかの部分がデータ処理装置100により制御されるロボットシステムを示す。ロボットシステム160は、参照番号170により示される少なくとも1つのロボットを含むが、ロボットシステム160は、追加のロボット、コンベヤーベルトのような一又はそれ以上のコンベヤー、固定センサ、照明装置、アナライザ等を含みうる。本例では、ロボット170は、回転部材を有するアームのようである概略的な図で示されるが、他の実装の型が同じように可能である。図1に示すように、ロボットアーム170は、手又は爪にやや類似しているグリッパ171を含む。ロボットアーム170は、動作領域172内でグリッパ171を移動可能である。ロボットアーム170及びグリッパ171の各種動作は、参照番号173により集合的に示されるアクチュエータによりもたらされる。例として、アクチュエータは、電気式、空気圧式、水圧式又はこれらの任意の組み合わせでありうる。アクチュエータは、図1の直線及び曲線の両矢印により示されるように、ロボットアーム170の各種要素を移動又は回転してもよい。ロボットの動作領域172は、非構造化領域180と呼ばれる部分を含む。非構造化領域180は、参照番号181により集合的に示される各種物体を含む。制限されないが、一例として、非構造化領域180は、ロボットの動作領域172と交差するコンベヤーベルト又はコンベヤーベルトの一部である。データ処理装置は、対象となる物体の大きさ、形状及び/又は色のような、非構造化領域180内の物体181上の先験的情報をほとんど又は全く有していない。本発明のいくつかの実施形態では、データ処理100装置は、対象となる物体の先験的情報をいくつか有してもよく、学習により物体の得られた情報を有していてもよいが、対象となる物体の少なくとも背景他の物体、位置及び向きは、通常、先験的に不明である。すなわち、物体181は、非構造化領域180においてランダムな位置及び方向であってもよく、物体181は、互いに重複してもよい。したがって、ロボットの動作領域172の一部を、グリッパ171及び相対的に一定の状況下かつ既知のバックグラウンドに対するグリッパ171により把持された物体が観察されうる構造化領域182へ専念させることは有益である。本明細書では、相対的に一定の状況及びバックグラウンドとは、グリッパ171及び把持された物体の観察を周期的に行いかつ記憶することにより補償されうるようにゆっくりと、非構造化領域182における変化が生じることを意味する。本発明の一実施形態では、構造化領域182は、また、センサ176のうちの少なくとも1つの第2のセンサ又は少なくとも1つの第2の別のセンサデバイス176dを用いて検査されてもよく、これは、特に構造化領域182でも適用可能である。構造化された領域は、単に、ロボットアーム170の特定の位置及び/又はグリッパ171であってもよく、これは、少なくとも1つの第2のセンサが、非構造化領域181の要素を妨げずに用いられることができる。別の認識は、追加の装置、つまり、少なくとも1つの第2のセンサデバイス176dによりグリッパの内容物を検査又は解析することを含んでもよい。このような追加の装置の実例となるが包括的でないリストは、1配列されたカメラとは異なる方向及び/又は異なる周波数及び/又は高い解像度からのグリッパの内容物を観察する追加の撮像装置;2非構造化領域に存在するものから異なる波長及び/又はエネルギーレベルでのグリッパの内容物を照らす又は照射する追加の照明装置;3ガスアナライザー;4レーザースキャナーを含む。一連のドライバ174は、データ処理信号すなわち、アクチュエータを制御するための電圧及び電力レベルを割り当てるためにデータ処理装置100からの命令を変換する、データ処理装置100からの制御信号175に応じて、アクチュエータは、動作領域172内の特定位置にグリッパを位置づけること、グリッパを下降又は上昇させること、及びグリッパを開閉することを含む各種の機械的な機能を行うが、必ずしもこれに限定されない。いくつかの実施形態では、アクチュエータは、カメラが既知のバックグラウンドに対してグリッパをモニタするようにグリッパ171及び配列されたカメラ176cを傾けるアクチュエータを含む。よって、このような実施形態では、構造化領域182は、グリッパ171及びカメラ176cを傾けることにより実装されうる。この場合、異なる位置への移動は必要とされない。データ処理装置100は、ロボットシステム160と通信するために、インターフェース136を介した無線接続及び/又はインターフェース138を介した有線接続を用いてもよい。一般にロボットシステム160、特にロボット170は、集合で参照番号176により示される各種のセンサを含む。例により、センサ176は、ロボットアーム170及びグリッパ171の位置と共に、グリッパ171の開閉状態を示す各種の位置センサ176aを含む。グリッパの開閉状態は、単なるyes/noビットに限定されない。本発明の一実施形態では、グリッパ171は、グリッパの指のそれぞれに対するマルチビットの開閉状態を示してもよく、ここで、グリッパの物体の大きさ及び/又は形状の表示が得られてもよい。位置センサに加えて、一連のセンサは、歪ゲージ又はフォースフィードバックセンサとしても知られる歪センサ176bを含んでもよく、歪センサ176bは、ロボットアーム170及びグリッパ171の各種の構成要素により経験される歪を示す。例示であるが包括的でない実装の例では、歪センサは、抵抗が歪センサに加えられる圧迫の力に応じて変化する可変抵抗を含む。抵抗の変化が抵抗の絶対値と比べて小さいため、可変抵抗は、通常、ホイートストーンブリッジの構成で測定される。本発明の一実施形態では、歪センサ176bは、把持動作の失敗の原因を示すフォースフィードバックセンサとして機能する。失敗は、グリッパ171の外側に及ぼされる力により示されてもよく、これは、グリッパがアームの示された対象配置での完全に開く位置で開かないこと、又は所定の閾値を超える任意の側の力を示す。さらに、一連のセンサは、ロボットアームに配置される少なくとも一つのイメージセンサ又はカメラ176cを含んでもよい。この前後関係では、配置されたカメラ176cは、グリッパ171の下の領域を常にモニタするカメラ176cをいう。各種のセンサ176からの位置データ信号は、参照番号177により集合的に示されるドライバにより適切なレベル及びフォーマットに変換される。変換されたデータ信号は、入力信号178としてデータ処理装置100に送信される。データ処理システムのメモリ150内のソフトウェア又は一連のプログラム152は、各種のプログラムを含む。本明細書で使用されるように、プログラムとは、一又はそれ以上のプロセッサCP1...CPnによる実行が、明確に定義されたハイレベル動作を行うためのロボットシステム160をデータ処理装置100が指示するという効果を有する一連のコンピュータプログラム命令をいう。ハイレベル動作の一例は、特定された位置へロボットアームを移動することである。対応するプログラムは、ハイレベル動作を一連のローレベル動作へ変換するために、ドライバ174を介して出力信号の適切なシーケンス175をロボットシステム160のアクチュエータ173へ出力するような各種ソフトウェアドライバ、ルーティン、又はダイナミックリンクライブラリを用いてもよい。それに替えて、又は追加して、プログラム152の一部又は全部は、ロボットシステム160からのセンサデータ178を受信し、センサデータで一又はそれ以上の分析を行ってもよい。少なくとも、一連のプログラム152は、参照サインAMにより示されるアームの動作のためのプログラムを含み、このプログラムは、ロボットアーム170を特定された位置へ移動するように命令し、追加で、グリッパの内容物が既知のバックグラウンドに対して観察されうるようにグリッパ171を傾かせるように命令する。一連のプログラム152は、また、把持シーケンス制御プログラムGSC及び把持シーケンス評価プログラムGSEを含む。把持シーケンス制御プログラムGSCの実行は、データ処理装置100が、把持動作を試みるようにロボットアーム170及びグリッパ171を命令させ、これは、グリッパ171により、把持された候補物体を含む位置に近づくこと、及びグリッパ171を閉じることを含む。本発明の一部分は、実行されようとした把持動作が成功かどうか判定可能な方法、データ処理システム及びプログラム製品を提供することである。この判定は、把持シーケンス評価プログラムGSEにより行われる。1つの特定の実装では、把持シーケンス評価プログラムGSEは、グリッパ171の位置センサ176a及び/又は歪センサ171を用いて、グリッパ171が実際に何らかを把持しているかどうかを判定する。すなわち、判定は、把持するように命令されたときにグリッパが完全に閉じたかどうかを検知することに基づいてもよく、又はグリッパが完全に閉じたことを妨げる何かをグリッパが保持しているかどうかを検知することに基づいてもよい。把持シーケンス制御プログラムGSCは、把持した物体及び/又はグリッパ自体を損傷しないように、加えられた把持力での上限値に設定するために歪センサ176cを用いてもよい。別の実装では、把持シーケンス評価プログラムGSEは、代わりに又は追加で、カメラの視野が、グリッパと共に動き、その結果、グリッパの移動がカメラ176cの視野のバックグラウンドを変化させる場合でさえも実質的に一定を維持する物を含むかどうか、モニタするために配列されたカメラ176cを使用してもよい。例えば、アーム移動プログラムAMは、グリッパ171、グリッパの内容物及び配列されたカメラ176cを構造化領域182へ移動及び/又は傾けてもよい。配列されたカメラは、グリッパ及びその内容物の画像を形成してもよい。グリッパ及びその内容物の現在の画像は、その後、既知の、以前に記憶したグリッパの画像と比較される。比較において、現在の画像と以前に記憶した画像との差は、グリッパの内容物、グリッパの汚れ、又はバックグラウンド若しくは照明の変化により生じてもよい。現在の画像と以前に記憶した画像との差がグリッパの実際の内容物を反映することを確実にするために、空になったときに予め記憶されたグリッパの画像を周期的に更新することが有益であってもよく、ここで、バックグラウンド又は照明の汚れ又は変化は、補償されうる。グリッパが完全に閉じたか仮想的に検査したかを機械的に検知することに代えて、又はこのような技術に加えて、ロボットアームは、グリッパ171及びその内容物を計量するように構成された歪ゲージを含んでもよい。グリッパの現在の重さから既知のグリッパの正味の重さを減算することにより、グリッパ内容物の重さが得られる。この情報自体又は他の二つの情報の組み合わせは、把持動作が成功かどうかの判定のために寄与しうる。全てのこのような技術は、把持動作の成功が、グリッパからの現在のステータス情報をグリッパからの既知のステータス情報と比較することにより求められうることにより集約されうる。用語既知のステータス情報とは、グリッパが空であることがわかっている、又はグリッパの内容物が既知のステータス情報が得られたときにわかっていることをいう。本発明の一実施形態では、プログラムAM、OR、GSC、GSE、VO、L1及びL2は、例えば、サブルーティン、プロセス、スレッド、モジュール及びプログラムコードシーケンスのような別のソフトウェアエンティティとして実装されてもよい。図2は、ロボットシステムにおける物理的な物体の選択のための方法を示すフローチャートである。ロボットシステムは、制御する装置を含む。ステップ200において、第1のセンサデータは、少なくとも1つの第1のセンサから前記装置で受信される。ステップ202において、前記装置により、対象の位置が第1のセンサデータから求められる。ステップ204において、前記装置は、ロボットアーム内のグリッパを対象の位置へ移動させるために、ロボットアームへ少なくとも1つの第1の命令を発することを開始する。少なくとも1つの第1の命令は、前記装置がフォースフィードバックセンサデータを受信するステップ206と並行して発せられてもよい。ステップ206において、前記装置は、少なくとも1つの第1の命令の実行が失敗かどうかを判定するために、ロボットアーム及びグリッパの少なくとも一方と関連付けられる少なくとも1つのフォースフィードバックセンサからのフォースフィードバックセンサデータを受信する。ステップ208において、前記装置は、少なくとも1つの第1のセンサから第2のセンサデータを受信する。ステップ210において、前記装置は、第2のセンサデータから物体の把持が成功かどうか判定する。ステップ212において、前記装置は、把持の成功の判定に応じて、少なくとも1つの第2のセンサから検証センサデータを受信する。ステップ214において、前記装置は、所定の位置へアームを移動して、グリッパの把持をリリースするために、ロボットアームへ少なくとも1つの第2の命令を発する。そして、本方法は終了する。本発明の一実施形態では、図1に示すデータ処理装置100のようなデータ処理装置は、例えば、配置されたカメラのような少なくとも1つのセンサからの入力データを受信する。データ処理装置は、物体認識プログラムによる物体認識のためのセンサデータのサブセットを抽出する。物体認識プログラムは、対象となる物体に対応するセンサデータフィーチャーからの抽出に用いられ、センサデータフィーチャーは、その後、学習システムの入力として用いられるデータセットを形成する。本発明は、仮想的な任意の種類の物体認識システムが使用されることを考慮し、よって、このようなシステムは、非構造化領域の状態及び本発明の特定の用途に充分適合しうる。本発明の理解を助けるために、配置されたカメラを用いることによる赤い物体を認識するように構成される物体認識システムの一例をここでは説明する。本発明の一実施形態では、配置されたカメラから受信される入力データは、画素の二次元アレイからなるデジタル画像であり、各画素は、赤、緑及び青色成分に対する数値を有し、以下、それぞれ、R-、G-及びB-値として指定される。この例のために、カメラにより生成された画像は、対象となる物体の1つを正確に含むものと仮定する。データの画素の数は、カメラの解像度に対応する。計算量を低減するために、カメラから受信された画像データは、解析のために適切に求められた解像度にダウンサンプルされる。適切にダウンサンプルされた解像度は、経験的empiricallyに求められうる。得られたダウンサンプルされた画像は、その後、ライトニングコンディションにおける変化を構成するように正規化される。正規化は、ダウンサンプルされた画像の各画素とは別に行われてもよい。正規化の後、フィーチャーの一部は、対象となる物体の位置及び方向のような画像から計算され、これらのフィーチャーは、第1の学習システムに対する入力として用いられる。簡素化のために、ここでは、x及びyが画像の座標系における座標値である、対象となる物体の位置x,yの算出のみがこのようなフィーチャーの一例として考慮されるが、本発明はこのフィーチャーに限定されるものではなく、学習システムL1に対する入力として用いられ、取得可能ないくつかの異なるフィーチャーからも利益を得うる。本発明の一実施形態では、対象となる物体の位置x,yの算出は、以下のような手法で進められる。まず、ダウンサンプルされ、かつ正規化された画像における対象となる物体に対応する画素が求められる。このタスクのために多くの適切なアルゴリズムが文献から知られている。この例では、物体に対応する画素は、色値に基づいて認識される、つまり、物体は、赤と推定され、すなわち、画像における赤の画素は、画像における対象となる物体に対応する。対象となる物体に対応する画素が求められると、物体の位置x,yは、求められた画素が位置する領域の重心を計算することにより求められうる。多くの適切なアルゴリズムの良好かつフリーな実装は、取得可能であり、例えば、画素を取り囲む曲線を形成する一連の点xi,yiを求めるために、OpenCVライブラリ内のcvFind-Contours関数を用い、その後、画像内の物体の中心の座標に対応する曲線点座標の平均値を算出することにより、簡易に実現される。本発明の一実施形態では、物体認識プログラムがデータセット、つまりこの例では対象となる物体の位置x,y、を求めたとき、データ処理装置のアーム移動プログラムは、認識された物体の画像座標の位置x,yに対応する世界座標の位置へロボットアームを移動するように命令する。アーム移動プログラムによる画像座標系から世界座標系への変換を容易にするために、2×2変換行列Mを座標ベクトルx,yに掛けることである既知の方法があり、ここで、許容可能な精度及びカメラセットアップに依存するこのような選択によりこの変換を行うようにMが選択される。ロボットアームが求められた位置へ移動したとき、把持シーケンス制御プログラムは、グリッピングを行い、これは、ロボットアームに、グリッパを認識された物体へ下ろし、グリッパを閉じるように命令することを含む。本発明の一実施形態では、把持を行っている間に、ロボットアーム、特にグリッパからのセンサデータは、データ処理装置により受信される。本発明の一実施形態では、センサデータは、グリッパが物体に衝突することを示してもよい。より詳細には、センサデータは、移動のための命令に応じてロボットアーム又はグリッパが移動に失敗、又は移動のための命令により、歪ゲージにより測定されるようなロボットシステムのいくつかの要素の歪の基準から外れたレベルを生じることを示してもよい。このような場合、把持の実行は中止される。中止された把持の実行は、その後の評価段階において失敗であるとみなされる。本発明の一実施形態では、把持が行われた後、把持シーケンス評価プログラムは、センサデータ、特に、グリッパの内容を反映しているセンサデータを抽出する。把持の成功は、この抽出されたデータから求められる。図1に関して述べたように、把持の成功は、以下のいずれかに基づき求められうる:1グリッパが最小サイズの物体の付近で閉じたことを示す、2グリッパと内容物の現在の画像を既知の内容物を有するグリッパの予め記憶された画像と比較すること、3グリッパ及び現在の内容物の重さとグリッパ及び既知の内容物との重さの差。本発明の一実施形態では、衝突の検出又はグリッパの内容物の分析の任意の組み合わせが、把持を実行しようとした結果、失敗したことを示す場合には、他の把持の実行がロボットアームの移動を伴って行われる。本発明の一実施形態では、把持の成功の判定に続いて、データ処理装置は、ロボットアームを、把持した物体に一連の所定の動作を行うように命令する。このような動作は、例えば、本システムが異なるビンのうちの異なる種類の物体をソートするために用いられる場合、物体のタイプに応じて選択されうる。物体の位置がセンサデータに基づいて求められるため、物体のタイプが既知又はこの地点で既知であるとみなされ、既知のタイプは、物体で行われる一連の動作を選択するために使用されうる。例えば、ごみ分別用途において、各種の物体のタイプは、再利用ビン、リサイクルプラスチック、金属、可燃物、堆肥にできるもの、有害廃棄物等のリサイクルチャネルに対応しうる。しかし、この段階では、物体のタイプは、誤って求められてもよい。先進的な方法のいくつかの意欲的な実施形態は、グリッパ中の物体又は物体の種類を追加で検証するための別の検証を含んでもよい。把持の実行が成功だとみなされた場合、検証動作プログラムは、ロボットアーム、特にグリッパが、所定の検証した位置へ移動するように指示されるように、アーム移動プログラムを呼び出す。別の検証は、この検証位置で行われる。いくつかの実装では、別の検証は、構造化領域におけるグリッパの内容物を検査することを含む。他の実装では、別の検証は、追加の装置によるグリッパの内容物を検査又は分析することを含んでもよい。追加の装置の例示的であるが包括的でないリストは、1配列されたカメラとは異なる方向及び/又は異なる波長及び/又は高い解像度からのグリッパの内容物を観察する追加の撮像装置;2非構造化領域に存在するものから異なる波長及び/又はエネルギーレベルでのグリッパの内容物を照らす又は照射する追加の照明装置;3ガスアナライザーを含む。別の検証の利益は、向上した信頼水準により物体のタイプがわかることであり、これは、把持した物体上で適切な動作を選択する可能性が増加する。本発明の一実施形態では、上述した例示的な実施形態は、動作の異なるステップにおける少なくとも1つの機械学習システムを用いることによる本発明によりさらに向上される。本発明の一実施形態では、システムの動作は、二つの学習問題を仮定し、これは、センサデータからの各種パラメータを算出することに関する。これは、一連の所定の演算を用いることにより達成されうるが、このようなシステムは、フレキシブルではなく、一連の動作状態を特定し、そのため、非構造化領域での動作のために最適ではなく、その状況は、定義によってその時点で知ることができず、所定の計算が定義される。本発明の一実施形態では、第1の学習課題は、システムから受信されたデータセットから、実行が試みられる把持動作のための一連のパラメータを求めることに関する。本発明の一実施形態では、第2の学習課題は、対象となる物体を把持するためにロボットアームを動かすパラメータを求めることに関する。図2についてこれまで説明された本発明の実施形態は、互いに組み合わせて使用してもよい。いくつかの実施形態は、互いに組み合わせることにより本発明のさらなる実施形態を形成してもよい。本発明に関する方法、システム、装置、コンピュータプログラム又はコンピュータプログラム製品は、これまでに説明された本発明の実施形態の少なくとも1つを含んでもよい。図3は、本発明の一実施形態における二つの学習システムを含むコンピュータを示すブロック図である。図3には、ランダムアクセスメモリ、少なくとも1つのプロセッサ及び二次メモリ図示せずを含むコンピュータ300が示される。コンピュータ300内の内部機能は、ボックス302により示される。コンピュータ300は、第1の学習エンティティ314、第2の学習エンティティ312、検証エンティティ310、アーム移動制御エンティティ320、把持シーケンス制御エンティティ318及び物体認識322を実行する。第1の学習エンティティ314及び第2の学習エンティティ312の双方は、学習システムの例である。なお、図3のシステムは、番号が付された別々のパーツ310,312,314,316,318,320及び322を含むものとして図示されているが、これらのパーツの分割は、本発明の説明としての機能であり、パーツの数は、実装の方法に応じて異なりうる。異なるパーツは、単一のコンピュータシステムで実行されるコンピュータプログラムの一部として実装されうる。この説明では、制御しているユニットは、図3のパーツを含むように理解される。本発明の一実施形態では、コンピュータ300は、図1に示されるデータ処理装置100に対応する。第1の学習エンティティ314は、センサ304及びセンサ306のような複数のセンサから得られたセンサデータから抽出された入力フィーチャーとして受け取る。このフィーチャーは、矢印342により図示されるセンサデータから物体認識エンティティ322により抽出される。第1の学習エンティティ314は、把持操作を行うために用いられる矢印330により図示されるフィーチャーを用いて、アーム移動制御エンティティ320のための一連のパラメータ332を算出し、その目的は、これらのパラメータを用いる把持操作が成功する可能性が相対的に高いことである。このようなパラメータは、例えば、把持操作が行われる前の、対象物体の位置又はグリッパの方向を含みうる。非構造化領域における対象となる物体のとりうる位置を算出する第1の学習エンティティ314を用いる一例は、ここで、第1の学習エンティティ314の操作の一例として与えられる。簡略化のために、この例は、取り得る位置x,yの算出のみを表すが、本発明はこれに限定されない。物体認識エンティティ322から第1の学習エンティティ314により受信された座標x,yは、カメラの座標系における登録された物体の位置に対応する。カメラは、ロボットアームに固定されることが好ましく、そのため、カメラ画像は、いかなるときでもロボットアームの位置及び方向に対応する。物体を把持するために、ロボットアームは、グリッパが物体を把持するために良好である位置及び方向へ移動する必要があり、当該位置は、ロボットアームが動作する領域における物体の特性、グリッパ及び他の物体、並びに他の取り得る要素に依存する。第1の学習エンティティ314は、前回の把持の実行、すなわち、把持動作がほぼ成功する画像座標系の位置に基づいて算出するように用いられる。第1の学習エンティティ314は、成功評価エンティティ316から前回の実行のパラメータを含む入力データアイテム338として受け取り、これは、把持シーケンス制御エンティティ318から得られた把持シーケンス情報340の成功を判定する。この例では、データアイテム338は、x,yで認識された物体の重心を有する把持の実行に対応し、かつ把持が成功か失敗かについてのx,yでの把持の実行の評価に対応する座標x,yからなる。これらのデータアイテムは、その後、第1の学習エンティティ314の出力332を算出するために用いられる。第1の学習エンティティ314からアーム移動制御エンティティ320への出力332は、単一の点でないことが好ましく、点の分布でもよい。この分布の算出のために適切な、多くの回帰又は分類アルゴリズムは、文献から既知であり、例えば、最尤法又はサポートベクターマシンがこれを実現するために用いられうる。この例では、出力332は、例えば、中心x0,y0及び座標x及びyの両方に対する標準偏差σx及びσyによりパラメータ化された二変数正規分布であってもよく、これは、広く知られた最尤法を用いて算出される。学習エンティティ314において説明した学習システムを用いることにより、物体の位置を求めるための物体認識システムを単に用いる場合と比較して、いくつかの利益が提供される。出力が単に1つの点ではなく、分布であるため、動作時に、この例では分布の中心x0,y0となる最適な点を用いること、又はそれらの傾向に基づく分布から異なる点を選択することのいずれかが可能である。これは、システムが、学習システムに適用される新たな把持の実行のデータを有することにより連続的に学習することを可能にし、よって、非構造化領域の状態に適合可能となる。たとえ、システムへの実装前に、動作環境の不十分なデータが収集されたとしても、このシステムは、動作時に学習可能であり、新たなデータは、結果をさらに向上させることができる。他の利益は、状態が変化した場合、つまり、衝突でグリッパが変形した、又はカメラマウントが移動し、その結果、カメラ画像の物体の位置に対する最適な把持位置が変化した場合、システムは、これらの変化を補償するために学習する。アーム移動制御エンティティ320は、その後、ロボットアームを所定の把持位置へ移動する。ロボットアームを物体に向かって動かすために、物体認識エンティティ322により求められた物体の位置の差、及び第1の学習エンティティ314により求められた最も成功しやすい把持の位置が算出される。この差は、その後、ロボットアームを制御するために用いられる物理的な世界座標の差に変換される。この変換は、完全ではないと推測され得、よって、アルゴリズムは、接近中にリアルタイムで補償しなければならない。各ステップにおいて、画像中の物体の位置は、上述したように算出され、最も成功しやすい把持の位置と比較される。カメラ座標系の座標のベクトルであるこの二つの差は、座標ベクトルに変換行例Mを掛けることにより世界座標へ変換され、それによって、ロボットアームは、移動する。また、移動をスムースにするために、層変換において少量のローパスフィルタが適用されることが好ましい。このアルゴリズムの効果は、座標系間でのおおよそ正確な変換のみが対応する変換行例Mでさえも、各ステップは、ロボットアームを意図した位置の近傍へ移動することである。この方向は、物体へ向かって正確ではなく、よって、次のステップにおいて、物体認識エンティティ322により新たなグリッパ位置に対応するカメラ画像から抽出された物体の新たな位置が取得された場合、移動の方向は変化される。これは、進入路に対する螺旋形状を招き、最終的にはカメラにより見られるように物体の位置が最も把持しやすい位置と一致するように収束する。第2の学習エンティティ312は、所定の把持位置へのロボットアームの移動のより効果的な手法を求めるために用いられる。第2の学習エンティティ312は、矢印344で示すように、ロボットアーム及び/又はロボットアーム308からグリッパの位置での情報を受信する。第2の学習エンティティ312も過去の把持シーケンスでのその入力データとして受け取る。第2の学習システムの動作を示すために、前述の例に対応する座標x,yのみにより簡素な例が与えられる。この例では、第2の学習システムに適用されるデータは、カメラ座標における把持シーケンスの開始時での物体の位置と最も把持しやすい位置との差xc,yc、及び把持シーケンスの開始時でのロボットアームの世界座標と把持シーケンスが完了した後の世界座標との差xd,ydを含む。把持シーケンス制御エンティティ318への出力334として、第2の学習エンティティ312は、MLがベクトルxc,yc,1に掛けられたとき、対応する差xd,ydの良好な接近が得られる変換行例MLを計算する。MLは、例えば、リッジ回帰として文献で知られる方向を用いて過去の把持の実行から算出されうるが、他の適切な方法が本発明の範囲内で同様に可能である。なお、この例では算出は、二次元空間での座標のみを含むが、上述した方法は、ロボットアームのより複雑な動きにも同様に適用可能であり、例えば、三次元空間又はロボットアームの異なる部品の回転を含む動きにも適用可能である。第2の学習エンティティ312を用いることは、1つの動きにおけるロボットアームの動きに対する対象を算出するために、第2の学習エンティティ312を行列Mとして用い、その後、上述した移動アルゴリズムによる残りの誤差を補正することにより、出力行列MLがロボットアームの移動アルゴリズムをショートカットするために用いられうるため、有益である。ロボットアームが移動した後、把持動作が行われ、把持が成功したかどうかを判定するために評価ステップが行われる。把持が成功しなかったことを評価結果が示す場合、アームを他の位置へ移動する処理へ戻る。把持が成功したことを評価結果が示す場合、矢印336に示すように、物体のタイプが検証エンティティ310により検証される。少なくとも1つのプロセッサが本発明に関連づけられた機能的なエンティティを実行するとき、メモリは、成功評価エンティティ316、学習システムエンティティ314、学習システムエンティティ312、検証エンティティ310、アーム移動制御エンティティ320及び把持シーケンスエンティティ318のようなエンティティを含む。図3に示されるようなコンピュータ300内の機能的なエンティティは、各種の手法で実装されてもよい。これらは、ネットワークノードのネイディブオペレーティングシステム下で実行されるプロセスとして実装されてもよい。エンティティは、別のプロセス又はスレッド又は多数の異なるエンティティが一のプロセス又はスレッドにより実装されるように実装されてもよい。プロセス又はスレッドは、多数のルーティン、つまり、例えば、工程procedures及び機能functionsを含むプログラムブロックのインスタンスであってもよい。機能的なエンティティは、別のコンピュータプログラムとして、又はエンティティを実装するいくつかのルーティン又は機能を含む単一のコンピュータプログラムとして実装されてもよい。プログラムブロックは、例えば、メモリ回路、メモリカード、磁気又は光ディスクのような少なくとも1つのコンピュータ読み取り可能な媒体に記憶される。いくつかの機能的なエンティティは、他の機能的なエンティティにリンクしたプログラムモジュールとして実装されてもよい。図3の機能的なエンティティは、また、別のメモリに記憶されてもよく、例えば、メッセージバス又はネットワークノード内の内部ネットワークを通じて通信する別のプロセッサにより実行されてもよい。このようなメッセージバスの一例は、PeripheralComponentInterconnectPCIバスである。本発明の例示的な実施形態は、任意の適切なサーバ、ワークステーション、PC、ラップトップコンピュータ、PDA、インターネット家電、ハンドヘルド装置、携帯電話、無線装置、他の装置等の例示的な実施形態のプロセスを実行可能な任意の適切なデバイスを含み得、例えば、インターネットアクセス、任意の適切な形式例えば、音声、モデム等での電話、無線通信媒体、一又はそれ以上の無線通信ネットワーク、携帯通話ネットワーク、3G通信ネットワーク、4G通信ネットワーク、公衆交換電話網PublicSwitchedTelephoneNetworkPSTNs、パケットデータネットワークPDNs、インターネット、イントラネット、それらの組み合わせ等を含む一又はそれ以上のインターフェース機構を通じて通信可能である。ハードウェア分野の当業者には理解できるように、例示的な実施形態は、例示的なプロセスのためのものであり、例示的な実施形態を実装するために特定のハードウェアの多くのバリエーションが可能であることがわかる。例えば、例示的な実施形態の一又はそれ以上の構成要素の機能性は、一又はそれ以上のハードウェアデバイスにより実装されうる。例示的な実施形態は、本明細書で説明された各種のプロセスに関する情報を記憶しうる。この情報は、ハードディスク、光ディスク、磁気-光ディスク、RAM等のような一又はそれ以上のメモリに記憶されうる。一又はそれ以上のデータベースは、本発明の例示的な実施形態を実装するために用いられる情報を記憶しうる。データベースは、本明細書に挙げた一又はそれ以上のメモリ又はストレージに含まれるデータ構造例えば、レコード、テーブル、アレイ、フィールド、グラフ、ツリー、リスト等を用いて構成されうる。例示的な実施形態について説明されたプロセスは、一又はそれ以上のデータベースにおける例示的な実施形態のデバイス及びサブシステムのプロセスにより収集及び/又は生成されたデータを記憶するために適切なデータ構造を含みうる。電気分野の当業者には理解できるように、例示的な実施形態の全部又は一部は、特定用途集積回路の作成により、又は従来のコンポーネント回路の適切なネットワークを相互接続することにより実装されてもよい。上述したように、例示的な実施形態の構成要素は、本発明の教示に係り、データ構造、テーブル、レコード、及び/又は本明細書に記載された他のデータを保持するためのコンピュータで読み取り可能な媒体又はメモリを含みうる。コンピュータで読み取り可能な媒体は、実行のためのプロセッサへの命令の提供を共有する任意の媒体を含みうる。このような媒体は、多くの形態をとり得、不揮発性媒体、揮発性媒体、伝送媒体等を含むが、これに限定されない。不揮発性媒体は、例えば、光又は磁気ディスク、磁気-光ディスク等を含みうる。揮発性媒体は、ダイナミックメモリ等を含みうる。伝送媒体は、同軸ケーブル、銅線、光ファイバー等を含みうる。伝送媒体は、また、無線周波数RF通信、赤外線IRデータ通信等の間に生成される音響、光、電磁波等の形態をとりうる。コンピュータで読み取り可能な媒体の一般的な形態は、フロッピーディスク登録商標、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM,CDRW,DVD,任意の他の適切な光学媒体、パンチカード、ペーパーテープ、光学マークシート、穴のパターンを有する任意の他の適切な物理媒体、任意の他の光学的に識別可能な印、RAM、PROM、EPROM、FLASH-EPROM、任意の他の適切なメモリチップ又はカートリッジ、搬送波又はコンピュータが読み取ることができる任意の他の適切な媒体を含みうる。本発明は、多くの例示的な実施形態及び実装に関して説明してきたが、本発明はこれに限定されず、予期される特許請求の範囲内に含まれる各種の変更及び均等物が含まれる。当業者には本発明の基本概念が各種の手法で実装されてもよいことが自明である。よって、本発明及びその実施形態は、上述した実施例に限定されず、特許請求の範囲内で変更されてもよい。"