(57)【要約】  本方法は以下の手順を含むものである。（ａ）実際の作業状況（ＲＷＳ）の表面を、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）として３次元デジタル化する。（ｂ）（ａ）の段階で得られた点群データ（Ｎ）内において、バーチャルな各ワーク（Ｐ’ｊ）、およびバーチャル作業環境（５’）を自動的に位置決定する。その際、実際のワーク（Ｐｊ）および実際の作業環境（５）についての、３次元ＣＡＤのデジタルモデルを利用する。（ｃ）３次元のバーチャル作業状況（ＶＷＳ）を自動的に構築する。その際、各々の実際のワーク（Ｐｊ）および実際の作業環境（５）についての３次元ＣＡＤのデジタルモデル、ならびに、（ｂ）の段階で決定された、バーチャルな各ワーク（Ｐ’ｊ）とバーチャル作業環境（５’）についての位置データ［（ｘ，ｙ，ｚ）；（α，β，γ）］を利用する。（ｄ）バーチャル作業状況（ＶＷＳ）内で、バーチャルなワーク（Ｐ’ｊ）の一つを選択する。（ｅ）実際の把持装置（１１）へコマンドを送信し、（ｄ）の段階で選択されたバーチャルなワーク（Ｐ’ｊ）に対応する実際のワーク（Ｐｊ）を自動的に把持する。【選択図】  図１
2009523623.tif 000002
【特許請求の範囲】
【請求項１】
実際の作業環境（５）内に置かれた、少なくとも１個の実際のワーク（Ｐｊ）を、実際の把持装置（１１）を利用して自動的に把持するための、以下の連続した段階を含むことを特徴とする方法：
（ａ）実際の作業環境（５）およびこの作業環境に存在する各ワーク（Ｐｊ）によって構成される実際の作業状況（ＲＷＳ）の表面を、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］（Ｎ）として自動的に３次元デジタル化する；
（ｂ）（ａ）の段階で得られた点群データ（Ｎ）内において、バーチャルな各ワーク（Ｐ’ｊ）、およびバーチャル作業環境（５’）を自動的に位置決定する、その際、実際のワーク（Ｐｊ）および実際の作業環境（５）についての、３次元ＣＡＤのデジタルモデルを利用する；
（ｃ）実際の作業状況（ＲＷＳ）に対応し、また、（ｂ）の段階で位置決定されたバーチャルな各ワーク（Ｐ’ｊ）およびバーチャル作業環境（５’）によって構成される、３次元のバーチャル作業状況（ＶＷＳ）を自動的に構築する、この構築は、各々の実際のワーク（Ｐｊ）および実際の作業環境（５）についての３次元ＣＡＤのデジタルモデル、ならびに、（ｂ）の段階で決定された、バーチャルな各ワーク（Ｐ’ｊ）とバーチャル作業環境（５’）についての位置データ［（ｘ，ｙ，ｚ）；（α，β，γ）］を利用することによって、自動的に実現される；
（ｄ）（ｃ）の段階で構築されたバーチャル作業状況（ＶＷＳ）内において、バーチャルなワーク（Ｐ’ｊ）の一つを自動的に選択する；
（ｅ）実際の把持装置（１１）へコマンドを送信し、（ｄ）の段階で選択されたバーチャルなワーク（Ｐ’ｊ）に対応する実際のワーク（Ｐｊ）を自動的に把持する。
【請求項２】
実際の作業環境（５）が、２個以上の実際のワーク（Ｐｊ）を含むこと、および、（ａ）から（ｅ）までの段階が、実際の作業環境（５）内にワークがなくなるまで自動的に繰り返されることを特徴とする、請求項１に記載の方法。
【請求項３】
実際の作業環境（５）が２個以上の実際のワーク（Ｐｊ）を含むこと、および、（ｄ）の段階においてバーチャルなワーク（Ｐ’ｊ）の選択を最終的に許可する以前に、バーチャル作業状況（ＶＷＳ）において、重なり状態について事前に定めた基準の一つ以上を適用して、そのバーチャルなワーク（Ｐ’ｊ）に対し近接のバーチャルなワークが少なくとも部分的に重なっているかどうかを予め確認し、そのバーチャルなワーク（Ｐ’ｊ）に事前に定めた基準通りに近接のバーチャルなワークが重なっている場合には、そのワークを選択しないことを特徴とする、請求項１あるいは請求項２に記載の方法。
【請求項４】
（ｄ）の段階においてバーチャルなワーク（Ｐ’ｊ）の選択を最終的に許可する以前に、バーチャル作業状況（ＶＷＳ）において、少なくともそのバーチャルなワーク（Ｐ’ｊ）とバーチャル作業環境（５’）とが干渉しないかどうか、および／あるいは、少なくともそのバーチャルなワーク（Ｐ’ｊ）と、別の１個のバーチャルなワークとが干渉しないかどうかを予め確認し、干渉が検知された場合には、そのワークを選択しないことを特徴とする、請求項１から請求項３の内のいずれか１項に記載の方法。
【請求項５】
（ｄ）の段階においてバーチャルなワーク（Ｐ’ｊ）の選択を最終的に許可する以前に、バーチャル作業状況（ＶＷＳ）内に、実際の把持装置（１１）についての３次元ＣＡＤのデジタルモデルによって定義されたバーチャルな把持装置（１１’）を配置し、このバーチャルな把持装置（１１’）が、前述のバーチャルなワーク（Ｐ’ｊ）に対して、事前に定めた少なくとも一つの把持の形状に置かれるようにした際、少なくともこのバーチャルな把持装置（１１’）と、バーチャルな作業環境（５’）とが干渉しないかどうか、および／あるいは、少なくともこのバーチャルな把持装置（１１’）と、別の１個のバーチャルなワークとが干渉しないかどうかを確認し、干渉が検知された場合には、そのワーク（Ｐ’ｊ）を選択しないことを特徴とする、請求項１から請求項４の内のいずれか１項に記載の方法。
【請求項６】
バラ積みされた複数のワークの全体の中から、１個以上の実際のワーク（Ｐｊ）を自動的に把持するために使用されることを特徴とする、請求項１から請求項５の内のいずれか１項に記載の方法。
【請求項７】
実際の作業環境（５）内に置かれた１個以上の実際のワーク（Ｐｊ）を自動的に把持するためのシステム：この把持システムは１個以上の実際の把持装置（１１）を備えた１台の把持ロボット（１）、および、少なくとも把持ロボット（１）にコマンドを送信できるコマンド装置（３）を含み、請求項１から請求項６の内のいずれか１項において定義された把持の方法の段階（ａ）を実現するための３次元デジタル化装置（２）、および、請求項１から請求項６の内のいずれか１項において定義された把持の方法の（ｂ）から（ｄ）までの段階を自動的に実現するための演算手段（４）を含むことを特徴とし、かつ、演算手段（４）によって得られた演算データに基づいて、請求項１から請求項６の内のいずれか１項において定義された把持の方法の段階（ｅ）を実現するために、コマンド装置（３）が構成されていることを特徴とする。
【請求項８】
記憶媒体上あるいはメモリ内に搭載され、一方で、把持システムについてプログラム可能な演算手段（４）によって自動的に実行可能な演算プログラム：この把持システムはさらに、１個以上の実際の把持装置（１１）を備えた１台の把持ロボット（１）、少なくとも把持ロボット（１）にコマンドを送信できるコマンド装置（３）、および、１個の実際の物体、ないしは複数の実際の物体の全体の表面を、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］として３次元にデジタル化することのできる３次元デジタル化装置（２）を含んでおり、この演算プログラムは、前述の演算手段（４）によって実行された際に、請求項１から請求項６の内のいずれか１項において定義された把持の方法の（ｂ）から（ｄ）までの段階を自動的に実現できるものである。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、把持ロボットを用いた１個または複数のワークの把持に関する。この発明は、１台の把持ロボットを用いて個別に複数のワークを操作しなければならないあらゆる産業において応用されるものである。
【背景技術】
【０００２】
個別に複数のワークを操作するためには、通常、多関節把持ロボットを用いる。このロボットは関節のあるアームを持ち、その先端には、把持すべきワークの形状に合わせたハンドないしそれに相当する把持装置が備えられている。
【０００３】
把持すべき１個ないし複数のワークが、ロボットの作業空間内で一定の位置に置かれているか、そうでなければ任意の方向を向いている時、把持装置によって自動的に個別のワークを把持するのは一層困難である。何故なら、把持すべきワークに対する把持装置の位置（３方向への移動）と方向（３方向への回転）を自動的に管理することがとりわけ必要とされ、また、把持ロボットが動く際に、把持したワークや把持装置が、作業環境内の事物（例えば、１個または複数のワークがストックされた容器の仕切りや、１個または複数のワークを運搬するコンベヤ）と干渉するという問題が存在するからである。
【０００４】
同時に、把持すべきワークが無作為にバラ積みされている時には、ワーク把持の順序の問題が生じる。
【０００５】
欧州特許出願ＥＰ  １  ４２８  ６３４では、１台の把持ロボットを用いたバラ積みされたワークの自動把持の一方法が提示されており、この把持の方法では、自動的にワーク把持の順序を管理し、かつロボットの把持アームの干渉を管理できる。
【０００６】
この出願に提示された方法は、二種類のセンサを組み合わせて使用するものである。すなわち、３次元視覚センサおよびレンジファインダである。
【０００７】
３次元視覚センサ（ＥＰ  １  ４２８  ６３４の図において（４）と指示されるもの）は、ロボットの把持アームの先端に装着され、センシングの手段と、物体に反射した光線束を検知できるビデオカメラとを組み合わせている。
【０００８】
レンジファインダ（ＥＰ  １  ４２８  ６３４の図において（１０）と指示されるもの）は、作業状況の上方に固定される。このレンジファインダ（１０）は、例えば超音波を使用するものである。
【０００９】
最も洗練されたバージョンとして、ＥＰ  １  ４２８  ６３４において記述されている把持の方法は、以下の手順を利用するものである。
−段階Ｓ１からＳ３  ３次元視覚センサを用いて作業状況の画像を獲得し、得られた画像内に検出された各ワークに対して、センサの照準距離を計算する。得られた計測データｗｋ（照準距離）はメモリに蓄積される。
−段階Ｓ４からＳ５  スキャニングとレンジファインダを用いた高さ測定によって、バラ積みされた一山の物体の表面のトポグラフィーを得る。この表面のトポグラフィー（データｈｉｊ）は、メモリに保存される。
−段階Ｓ６  データｗｋ（照準距離）と、表面のトポグラフィーについてのデータ（ｈｉｊ）から、表面のトポグラフィー上での各ワークの位置を決定する（各ワークに対応する各照準距離ｗｋと、トポグラフィーの表面の一要素Ｓｉｊとの交差による）。例えば、ＥＰ  １  ４２８  ６３４の図２の曲面（１個のワークが交点４０で位置決定された、表面のトポグラフィー）が得られる。
−段階Ｓ７  各ワークについて、ワークの概略の姿勢（Ｆｋ）の決定。
−段階Ｓ８  把持するワークの選択。この選択は、例えば二つの基準、最も高い位置にあるワーク（基準１）、その姿勢Ｆｋが、確実な把持に相応しいか（基準２）に応じて行われる。
−段階Ｓ９  ３次元視覚センサによってより近くから計測するための、適当なロボットの位置（Ｓ８の段階で選択されたワークに近い位置）の計算。
−段階Ｓ１０  段階Ｓ９において計算された近距離の計測位置における、ロボットの把持アーム（とりわけ、ロボットの把持アームに装着された３次元視覚センサ）と、環境との干渉可能性の確認。
−段階Ｓ１１  干渉の問題が存在しない場合、段階Ｓ９で計算された近距離の計測位置への把持アームの移動（位置と姿勢）と、装着された３次元視覚センサによる、把持するワークの３次元の位置および空間内における姿勢の検出。
−段階Ｓ１２  段階Ｓ１１において実行された近距離の計測に基づく、ワーク把持のための、把持アームの位置と姿勢の決定。
−段階Ｓ１３  ロボットの把持アーム（とりわけ、ロボットの把持アームに装着された３次元視覚センサ）と環境（バラ積みされた他のワークを含む）との間の干渉可能性の確認。推奨される方法は、アームがワーク把持の位置にある際、把持アームの周囲に、状況内の他のいかなる要素も存在を許されない禁止領域を設定しておくものである。干渉が検知されたら、段階Ｓ８（把持する他のワークの選択）へ戻る。
−段階Ｓ１４  ロボットによるワーク把持実行のためのロボット操作。
【００１０】
このＥＰ  １  ４２８  ６３４が興味深いのは、記述された把持の方法によって以下のことが可能になるからである。
−ワーク把持の順序の自動管理（段階Ｓ８を参照）
−把持に最適な把持装置の状態の自動管理（段階Ｓ１２）
−この把持装置と環境との干渉管理（段階Ｓ１０およびＳ１１）
【００１１】
しかしながら、この方法には幾つかの不具合が存在する。ワークの把持管理は非常に複雑である。何故なら、３次元視覚センサとレンジファインダを組み合わせて用い、３次元視覚センサによる情報取得が二段階にわたるからである。第１段階は把持するワークを選択し近似的に位置を決定するため、第２段階は、把持の前に、選択されたワークに近づきより正確な画像を取得するためである。
【００１２】
この方法（３次元視覚センサとレンジファインダの組み合わせ）では、干渉の自動管理もまた複雑である。とりわけ、この方法では、干渉の管理は把持装置とその環境との間にのみ実行され、とりわけ把持装置が掴んだワークを考慮に入れないことになる。
【００１３】
また、この方法は、実際に把持の障害となりうる別のワークとの重なりを検知することもできない。
【００１４】
欧州特許出願ＥＰ  １  ４４２  ８４８においては、把持ロボットを用いた、バラ積みされたワークの位置決定と把持を自動的に行う解決手法が提示されている。この解決手法においては、ロボットの把持アームの先端に取付けたＣＣＤカメラ型の３次元センサを用いる。最初の段階では、把持するワークから離してこの３次元センサを配置し、複数のワーク全体の画像を撮像する。この全体画像の中で自動的にワークの検出と位置決定を行う。第２段階では３次元センサを把持するワークに近づけ、対象ワークの接近画像を撮像し、このワークの自動把持を可能とする。この解決手法では、ワークを複数の異なる方向から見た各々のタイプの３次元画像を取得し、把持するワークの教示モデルを事前に構築する必要がある。これらの教示モデルは、前述のワークの自動検出と自動位置決定の段階の実現、また、前述の選択されたワークの自動把持の段階の実現のために用いられる。一方で、複数の異なる方向から見たワークの画像取得による教示モデルの利用は、この把持の解決手法を不確かで、かつ複雑な構造のワークの把持には不適当なものとする。他方、画像取得による事前のモデル構築は煩雑である。
【００１５】
事物の把持のための半自動ロボットはまた、Ｅ．  Ｎａｔｏｎｅｋ他，“Ｍｏｄｅｌ  Ｂａｓｅｄ  Ｖｉｓｉｏｎ  ａｓ  ｆｅｅｄｂａｃｋ  ｆｏｒ  Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ  Ｒｏｂｏｔｉｃｓ  Ｅｎｖｉｒｏｎｍｅｎｔｓ（バーチャルリアリティ・ロボティクス環境のためのフィードバックとしてのモデルに基づくビジョン）”、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ｖｉｒｔｕａｌ  ｒｅａｌｉｔｙ  ａｎｎｕａｌ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｓｙｍｐｏｓｉｕｍ  ｒｅｓｅａｒｃｈ  ｔｒｉａｎｇｌｅ  ｐａｒｋ，ＩＥＥＥ，１９９５年３月１１日、ｐｐ．１１０−１１７において提案されている。
【００１６】
このロボットはバーチャル環境と関連づけられ、オペレーターはそれと相互に作用することができる。この技術的解決手法において、オペレーターはバーチャル環境内に、実際のロボットと実際に把持する物体に対応するバーチャルなロボットとバーチャルな物体を、手動で作成・配置し、このバーチャル環境内におけるロボットの最適な軌道を、とりわけロボットと物体についての３次元モデルを利用しながら、定義する。このバーチャル環境は、オペレーターによって一度作成されると、物体把持時の実際のロボットの軌道を自動的に制御・修正するために用いられる。この技術的解決手法では、その都度手動で、ロボットと関連づけられたバーチャル環境、とりわけ実際に把持する物体に対応するバーチャルな物体を構築する必要があり、とりわけ把持する１個または複数の物体の自動位置決定を含む、完全に自動的な把持を可能にするものではない。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明は、把持装置を含む１台のロボットを用いた、１個以上のワークを自動把持するための新しい技術的解決手法を提供するものである。欧州特許出願ＥＰ  １  ４２８  ６３４およびＥＰ  １  ４４２  ８４８に記載された前述の把持の方法と比較して、本発明は、把持するワークのより完全でより高性能な自動位置決定を可能にし、ワークが複数存在する場合には、ワーク把持の順序をより完全、より高性能に管理できるものである。
【課題を解決するための手段】
【００１８】
本発明の第１の目標は、実際の作業環境内に置かれた少なくとも１個の実際のワーク（Ｐｊ）を、実際の把持装置を利用して自動的に把持することである。この方法は、以下の連続した段階を含む。
（ａ）実際の作業環境およびこの作業環境に存在する各ワーク（Ｐｊ）によって構成される実際の作業状況（ＲＷＳ）の表面を、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］として３次元デジタル化する。
（ｂ）実際のワーク（Ｐｊ）および実際の作業環境についての、３次元ＣＡＤのデジタルモデルを利用し、段階（ａ）で得られた点群データ（Ｎ）内において、バーチャルな各ワーク（Ｐ’ｊ）、およびバーチャル作業環境を自動的に位置決定する。
（ｃ）実際の作業状況（ＲＷＳ）に対応し、また、段階（ｂ）で位置決定されたバーチャルな各ワーク（Ｐ’ｊ）およびバーチャル作業環境によって構成される、３次元のバーチャル作業状況（ＶＷＳ）を自動的に構築する。この構築は、各々の実際のワーク（Ｐｊ）および実際の作業環境についての３次元ＣＡＤのデジタルモデル、ならびに、段階（ｂ）で決定された、バーチャルな各ワーク（Ｐ’ｊ）とバーチャル作業環境についての位置データ［（ｘ，ｙ，ｚ）；（α，β，γ）］を利用することによって、自動的に実現される。
（ｄ）段階（ｃ）で構築されたバーチャル作業状況（ＶＷＳ）内において、バーチャルなワーク（Ｐ’ｊ）の一つを自動的に選択する。
（ｅ）実際の把持装置へコマンドを送信し、段階（ｄ）で選択されたバーチャルなワーク（Ｐ’ｊ）に対応する実際のワーク（Ｐｊ）を自動的に把持する。
【００１９】
本発明の方法は、無作為に重なり合った一山のワーク（一山のバラ積みされたワーク）から１個のワークを自動的に把持する際に格別に有効であるが、それにもかかわらず、単独のワークを把持したり、重なり合ってはいないワークの全体の中から１個のワークを把持するのにも利用できる。
【００２０】
本発明の範囲内では、把持すべき１個または複数のワークは同一のもの（その場合、ワークについての唯一の３次元ＣＡＤモデルを用いる）であっても、異なるもの（その場合、ワークのタイプそれぞれに対応する、複数のＣＡＤモデルを用いる）であってもよい。
【００２１】
本発明の範囲内では、把持すべき１個または複数のワークは、把持ロボットの作業空間内において、固定されていても（例えば、容器内や作業平面上に置かれた１個または複数のワーク）、移動中（例えば、作動中のコンベヤに置かれた１個または複数のワーク）でもよい。１個または複数のワークが移動している場合は、把持の段階でロボットへのコマンド送信を最も正確に行うために、コンベヤの運動法則を事前に知っておかねばならない。ロボットの運動とコンベヤの運動を同期させることが問題となるのである。
【００２２】
本発明の把持の方法は、以下に追加する技術的特性を個別的ないし複合的に含んでいることが好ましいが、本発明によってそれを強制するものではない。
−実際の作業環境は２個以上の実際のワーク（Ｐｊ）を含み、段階（ａ）から（ｅ）までは、実際の作業環境内にワークがなくなるまで自動的に繰り返される。
−実際の作業環境は２個以上の実際のワーク（Ｐｊ）を含む。また、段階（ｄ）でバーチャルなワーク（Ｐ’ｊ）の選択を最終的に許可する前に、バーチャル作業状況（ＶＷＳ）において、重なり状態について事前に定めた基準を一つ以上適用し、選択したバーチャルなワーク（Ｐ’ｊ）に対し近接のバーチャルなワークが少なくとも部分的に重なっているかどうかを予め確認する。そのバーチャルなワーク（Ｐ’ｊ）に事前に定めた基準通りに近接のバーチャルなワークが重なっている場合には、そのワークを選択しない。
−段階（ｄ）でバーチャルなワーク（Ｐ’ｊ）の選択を最終的に許可する前に、バーチャル作業状況（ＶＷＳ）において、少なくともそのバーチャルなワーク（Ｐ’ｊ）とバーチャル作業環境とが干渉しないかどうか、および／あるいは、少なくともそのバーチャルなワーク（Ｐ’ｊ）と、別の１個のバーチャルなワークとが干渉しないかどうかを予め確認し、干渉が検知された場合には、そのワークを選択しない。
−段階（ｄ）でバーチャルなワーク（Ｐ’ｊ）の選択を最終的に許可する前に、バーチャル作業状況（ＶＷＳ）内に、実際の把持装置についての３次元ＣＡＤのデジタルモデルによって定義されたバーチャルな把持装置を配置し、このバーチャルな把持装置が、前述のバーチャルなワーク（Ｐ’ｊ）に対して、事前に定めた少なくとも一つの把持の形状に置かれるようにした際、少なくともこのバーチャルな把持装置と、バーチャルな作業環境とが干渉しないかどうか、および／あるいは、少なくともこのバーチャルな把持装置と、別の１個のバーチャルなワークとが干渉しないかどうかを確認し、干渉が検知された場合には、そのワーク（Ｐ’ｊ）を選択しない。
−この方法は、バラ積みされた複数のワークの全体の中から、１個以上の実際のワーク（Ｐｊ）を自動的に把持するために使用される。
【００２３】
本発明はまた、他に以下のものを含む。
−実際の作業環境内に置かれた１個以上の実際のワーク（Ｐｊ）を自動的に把持するためのシステム。この把持システムは１個以上の実際の把持装置を備えた１台の把持ロボット、少なくとも把持ロボットにコマンドを送信できるコマンド装置、先に定義された把持方法の段階（ａ）を実現するための３次元デジタル化装置、および、先に定義された把持の方法の（ｂ）から（ｄ）までの段階を自動的に実現するための演算手段を含む。コマンド装置は、演算手段によって得られた演算データに基づいて、先に定義された把持の方法の段階（ｅ）を実現するように構成されている。
−記憶媒体上あるいはメモリ内に搭載され、一方で、把持のシステムについてプログラムすることが可能な演算手段によって自動的に実行される演算プログラム。この把持システムはさらに、１個以上の実際の把持装置を備えた１台の把持ロボット、少なくとも把持ロボットにコマンドを送信できるコマンド装置、および、１個の実際の物体、ないしは複数の実際の物体の全体の表面を、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）として３次元にデジタル化することのできる３次元デジタル化装置を含んでいる。この演算プログラムは、前述の演算手段によって実行された際に、先に定義された把持の方法の（ｂ）から（ｄ）までの段階を自動的に実現できるものである。
【００２４】
図面の簡単な記述
本発明のその他の特徴と利点は、発明の好ましい実現例についての以下の詳細な説明において、より明らかになるだろう。この説明は模範例であり、発明に制限を課したり、また網羅的であったりするものではなく、付記された図面を参照するものである。図面は以下の通りである。
【００２５】
図１は、多関節のロボットに備え付けた把持装置を含む、本発明の把持システムを図式的に表したものである。
【００２６】
図２は、図１の把持ロボットの把持装置によって把持および操作されうるワーク例の３次元図である。
【００２７】
図３は、図１のロボットの把持装置が、把持の第１の形状において、図２と同じワークを把持している図である。
【００２８】
図４は、図１のロボットの把持装置が、把持の第２の形状において、図２と同じワークを把持している図である。
【００２９】
図５は、図１の把持システムの取得手段によって得られた３次元点群データの一例である。
【００３０】
図６は、とりわけ図５の点群データを基に自動的に構築された、バーチャル作業状況（ＶＷＳ）の３次元図像である。
【００３１】
図７は、バーチャル作業状況（ＶＷＳ）が、図２と同じワークの一山を含んでいる３次元図像であり、これらのワークは容器の中にバラ積みされ、幾つかのワークは部分的に重なり合い、１個のワークが図１のロボットの把持装置によって、前述の把持の第１の形状において、他のワークとの重なりの問題がない状態で把持されている。
【００３２】
図８は、バーチャル作業状況（ＶＷＳ）が、図７と同じバラ積みされたワークを含んでいる３次元図像であり、１個のワークが図１のロボットの把持装置によって、前述の把持の第１の形状において把持されているが、隣接する別のワークとの重なりの問題が見られる。
【００３３】
図９は、バーチャル作業状況（ＶＷＳ）が、図７と同じバラ積みされたワークを含んでいる３次元図像であり、１個のワークが図１のロボットの把持装置によって、前述の把持の第２の形状において、他のワークとの重なりの問題がない状態で把持されている。
【００３４】
図１０は、バーチャル作業状況（ＶＷＳ）が、図７と同じバラ積みされたワークを含んでいる３次元図像であり、１個のワークが図１のロボットの把持装置によって、前述の把持の第２の形状において把持されているが、他の隣接するワークとの干渉の問題が見られる。
【００３５】
図１１は、図２と同じワークが、容器内の仕切りの中に個別に並べられている３次元図像である。
【００３６】
図１２は、図２と同じワークが、容器内に同じ方向を向いて（上から同じ面が見えている）、半ばバラ積みされて置かれている３次元図像であり、例えば、同じように並べられたワークが移動の際に動いてしまった場合である。
【００３７】
図１３は、本発明の自動把持の方法が、個別的に実用された一例の主要な段階を示したフローチャートである。
【発明を実施するための最良の形態】
【００３８】
本発明に適った把持システムの一実施形態を図１に示す。
把持システム
この把持システムは以下のものを含む。
−多関節把持ロボット１
−３次元デジタル化装置２
−コマンド装置３
−演算手段４
【００３９】
図１の個別応用例において、把持システムは、容器５内に収められた実際のワークＰｊを自動的に１個ずつ把持するために用いられる。
【００４０】
以下に記述される例において、全てのワークＰｊは図２に表したものと同じとする。ただし、本発明は、図２とは形状の異なるワークＰｊ、および／あるいは全てが同じ形状ではないワークＰｊにも利用可能である。
【００４１】
本発明は、容器内に収められたワークの把持に限定されず、より一般的に、作業環境内における１個以上のワークの把持に利用できる。この作業環境とは、容器５である必要はなく、および／あるいは、前記のワークは、付記の図の個別例のように静止したものであっても、例えば把持ロボット１との関連で作動するコンベヤに置かれるといったように、作業環境内を移動しているものであってもよい。
【００４２】
以下の説明において、容器５をより一般的に「実際の作業環境」と呼ぶことにする。実際の作業環境５、およびこの実際の作業環境５内に存在する実際のワークＰｊによって構成される全体を、「実際の作業状況」と呼ぶ。図１において、実際の作業状況をＲＷＳの略号で示す。
【００４３】
把持ロボット（１）
把持ロボット１の構造は周知のものである。このロボットは多関節のアーム１０を持ち、その先端には把持のための可動式ハンド、およびアーム１０の動きを操作するための駆動装置が備えられている。
【００４４】
本発明は、図１のロボット１と把持装置１１の個別例に限定されるものではない。より一般的に、他のあらゆるタイプのロボット、他のあらゆるタイプの把持装置を用いて利用することができる。特に、ロボットのタイプは、とりわけ把持装置の運動にとって望ましい自由度に応じて選ばれる。作業範囲内での機械へのアクセシビリティー次第で、ロボットは地上に固定することも、天井から吊るすこともできる。把持装置１１はハンドの形状をしている必要はなく、把持や操作をするべきワークの形状に合わせて選ばれる。
【００４５】
３次元デジタル化装置（２）
３次元デジタル化装置２は一般的に、３次元点群データとして、物体の表面をデジタル化できるものである。
【００４６】
本発明の範囲内では、この装置は、実際の作業状況ＲＷＳを構成する物体の表面、すなわち、実際の作業環境（例図の容器５）およびこの実際の作業環境に存在する各ワーク（Ｐｊ）の表面を、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）としてデジタル化するために使用される。この３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）は、実際の作業状況ＲＷＳを構成する物体の表面の、３次元形状の離散表現である。
【００４７】
図１の個別例において、３次元デジタル化装置２は、３次元デジタルセンサ２１と、画像処理装置２０を含むものである。
【００４８】
自明の通り、画像処理装置２０は１個のプロセッサと、少なくとも１個のメモリを内蔵し、メモリ内には「デジタル化プログラム」と呼ばれるプログラムが記憶され、このプログラムはプロセッサで実行可能である。また、入出力のインターフェイスを備えることで、３次元デジタルセンサ２１、コマンド装置３および以下に記述する演算手段４と、プロセッサとが交信できる。
【００４９】
このプロセッサでのデジタル化プログラムの実行によって、画像処理装置２０はデジタルセンサ２１を操作でき、このセンサ２１が測定を行う。画像処理装置２０は、センサ２１から得られた生の測定値を、センサ２１の座標内でコード化された３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）として処理する。こうして実行された３次元デジタル化は、実際の作業状況ＲＷＳを構成する物体の表面の離散表現を成す。３次元デジタル化に続いて、画像処理装置２０は３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）を演算手段４に送る。
【００５０】
本発明の範囲内において、３次元デジタルセンサ２１は、センサのタイプによって接触型ないし非接触型の測定を行う、様々なタイプのセンサによって構成されることも可能である。
【００５１】
接触型測定を行えるセンサとしては、あらゆる表面形状測定装置の名を挙げることができる。それは、実際の作業状況ＲＷＳの要素（図１の例の中では容器５の仕切りと実際のワークＰｊ）の表面と接触させたまま移動させることができる。
【００５２】
しかしながら、本発明の利用に際しては、非接触型測定が行える３次元デジタルセンサ２１が望ましく、それは以下のようなものである。
−レーザーの光源と組み合わされた１台以上のカメラ（ＣＣＤタイプないしその他）。このカメラは、視野内に置かれたデジタル化すべき物体の表面に反射した光束を捕えることができるものである。このタイプのカメラは三角測定によって機能する。
−遠隔測定によって機能し、レーザー光源、超音波、マイクロ波等を用いるセンサ。
【００５３】
非接触型センサは、場合に応じて、実際の作業状況ＲＷＳに対して固定されても、移動するものであっても構わない。
【００５４】
図１の個別例では、３次元デジタルセンサ２１として１個のデジタルカメラとレーザー光源とを、ロボット１の把持アーム１０に装着して用いている。発明の別の実用例においては、固定された、ないし移動可能なデジタルセンサ２１を、把持ロボット１とは独立した土台に備え付けて用いることもできる。
【００５５】
また別の発明の実用例においては、異なる測定方向を向いた少なくとも２個の３次元デジタルセンサ２１を用いることもでき、そうすると少なくとも２種類の互いに補完的な３次元点群データを得られる。例えば、実際の作業状況ＲＷＳに対して異なる位置、異なる方向に２個目のセンサを配置することで、最初のセンサによって得られた３次元点群データでは隠れている表面が、２個目のセンサによって得られた３次元点群データ上でよりはっきりと可視化できる。
【００５６】
コマンド装置（３）
ロボットのコマンド装置３はよく知られており、詳述しない。一般にはコントロールボードという形を取り、１個のプロセッサ、少なくとも１個のメモリを含み、そのメモリ内に「コマンド」と呼ばれるプログラムが記憶され、このプロセッサによって実行される。また入出力インターフェイスを備えている。コマンド装置３のプロセッサは、ロボットの駆動装置、把持装置１１の操作手段、３次元デジタル化装置２の画像処理装置２０と通信するものである。
【００５７】
コマンドのプログラムは一般的なものであるので詳述しない。このプログラムは、コマンド装置３のプロセッサによって実行された際に、以下のことを行うことができる。
−画像処理装置２０に送信されたコマンドによって３次元デジタル化を開始する。
−ロボットの多関節アーム１０の運動を制御し、把持ロボット１の把持ハンド１１を操作（開／閉）する。
【００５８】
演算手段（４）
演算手段４は、あらゆるタイプのプログラム可能なプロセッシングユニットによって実装可能なものである。例えば、マイクロプロセッサやマイクロコントローラを搭載したプリント基板によって演算手段を実装することができる。肝心なのは、このプロセッシングユニットが１個のプロセッサ、プロセッサによって実行可能なローカルプログラムを記憶できる少なくとも１個のメモリ、そしてコミュニケーションインターフェイス（入出力）を含むことである。このインターフェイスによって、プロセッサは、コマンド装置３のプロセッサ、そして図１の個別例においては画像処理装置２０のプロセッサとも、通信が可能である。
【００５９】
この演算手段４は、例えば１個のマイクロコンピューターや、１個または複数の特別なプリント基板によって実現できるものである。発明の応用の際には、演算手段４はスクリーンのような視覚化インターフェイスを含むことも、含まないことも可能である。
【００６０】
演算手段４のメモリ内には、本発明固有の演算プログラムが記憶されている。
【００６１】
演算手段４のプロセッサによる演算プログラムの実行は、画像処理装置２０のデジタル化プログラムの実行および、コマンド装置３のコマンド・プログラムの実行と組み合わせることで、本発明の自動把持の方法の実用を可能とする。
【００６２】
把持の方法―図１３
本発明の自動把持の方法の実用の一個別例を、これより図１３のフローチャートを参照しながら詳述する。
【００６３】
段階１３０−作業状況のデジタル化
コマンド装置３は、画像処理装置２０にデジタル化のコマンドを送信する。画像処理装置２０のプロセッサは３次元デジタルセンサ２１を操作し、実際の作業状況ＲＷＳの表面を自動的に３次元デジタル化する（デジタル化プログラムの実行）。
【００６４】
図１の例において、この実際の作業状況ＲＷＳは、バラ積みされた６個の同形のワークＰ１からＰ６を収めた容器５によって構成されている。
【００６５】
このデジタル化の結果としての３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データＮをコード化したデータは、画像処理装置２０によって直接に演算手段４に送られる。別の実現例において、画像処理装置２０が演算手段４と接続されていない時は、この３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データＮは、画像処理装置２０によって、コマンド装置３を経由して、演算手段４に送られることも可能である。
【００６６】
使用する３次元デジタルセンサ２１のタイプ次第で、場合によっては、このデジタル化の操作のために、実際の作業状況ＲＷＳに対してセンサ２１を移動させて、前述の実際の作業状況ＲＷＳの表面のスキャンを実行する必要がある。
【００６７】
同様に、発明の応用の際には、用いられるセンサ２１、デジタル化に求められる正確さ、このデジタル化のサイクルの時間、実際の作業状況ＲＷＳの規模に応じて、実際の作業状況ＲＷＳの全体をセンサによって（必要であれば実際の作業状況ＲＷＳに対して移動させて）捉えることも、実際の作業状況ＲＷＳを、より小さい規模の複数の作業状況に分割することもできる。後者の例では、図１３のフローチャート上の段階１３０は、より小さな規模の作業状況（例えば容器５の一部分だけと、その部分に収められたワークＰｊ）に適用され、図１３の把持の方法は、より小さな規模の作業状況上に対して繰り返され、その全体が実行される。
【００６８】
以下の説明においては、段階１３０の時点で、容器５の全体とその全ての中身によって構成される実際の作業状況ＲＷＳの表面の３次元デジタル化を行うものと考える。
【００６９】
例として、図１の実際の作業状況ＲＷＳ（バラ積みされた６つのワークＰ１からＰ６を収めた容器５）の３次元デジタル化の結果である、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）を図５に示した。
【００７０】
段階１３１−位置決定
この段階１３１以降、演算手段４のプロセッサが実行する演算プログラムによって、把持の方法が実現される。
【００７１】
演算手段４のメモリに記憶されているのは以下のものである。
−実際のワークＰｊについての３次元ＣＡＤのデジタルモデルを含むファイル、或いはその同等物。
−実際の作業環境、すなわち付記された図例における容器５についての３次元ＣＡＤのデジタルモデルを含むファイル、或いはその同等物。
【００７２】
実際の物体（実際のワークＰｊあるいは実際の作業環境５）についての３次元ＣＡＤのデジタルモデルとは、物体の表面の形状を、数学的形態（平面、円柱、円錐、ベジェ曲面、ＮＵＲＢＳ曲面等）の下に描いたデータ全体を指す。
【００７３】
付記された図の個別例では、全てのワークＰｊは同一形状であるため、全ワークに対して単一の３次元ＣＡＤのデジタルモデルを使用している。発明の応用にあたって、把持するワークＰｊが異なる（形状および／あるいは大きさが異なる）場合、演算手段４のメモリ内に、実際のワークＰｊのそれぞれのタイプについての３次元ＣＡＤのデジタルモデルを記憶させる。
【００７４】
実際のワークＰｊについての１個ないし複数の３次元ＣＡＤのデジタルモデルと、実際の作業環境５についての３次元ＣＡＤのデジタルモデルは、一般的にそれらの設計時に用いた描画プログラムを利用して作成される。しかしながら、自明の通り、表面の３次元デジタル化によって再構築することも可能である。位置決定の段階１３１の中で、演算手段４のプロセッサは３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）を処理し、実際のワークＰｊおよび実際の作業環境５についての３次元ＣＡＤのデジタルモデルを用いて、実際のワークＰｊに対応するそれぞれのバーチャルなワークＰ’ｊ、および実際の作業環境５に対応するバーチャル作業環境５’を位置決定する。この位置決定の段階において、演算手段４は、３次元座標の点群データ（Ｎ）内に位置決定されたそれぞれのバーチャルなワークＰ’ｊおよびバーチャル作業環境５’について、３次元デジタルセンサの座標内で、例えば位置（ｘ，ｙ，ｚ）および方向（α，β，γ）などの、空間位置決定のデータを自動的に定める。
【００７５】
位置決定には様々な方法を利用することが可能である。
【００７６】
本発明に制限を課すものでなく、汎用的でもない例として、それぞれの３次元ＣＡＤのデジタルモデルを元に以下の連続的な二つの段階を通じて位置決定を実現することが可能である。
（１）３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）と、（実際のワークＰｊおよび実際の作業環境５についての）３次元ＣＡＤのデジタルモデルを対応させる最初の段階。
（２）３次元ＣＡＤのデジタルモデルに対し、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）のアライメントを行う第２段階。
【００７７】
（１）対応の段階
既知の様々な技術によって、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データＮ内で、バーチャルなワークＰ’ｊあるいはバーチャル作業環境５’の近似的な位置（ｘ，ｙ，ｚ）と方向（α，β，γ）を認識することができる。これら様々な技術の基本原則は、実際のワークＰｊあるいは実際の作業環境５について、それらが空間内に占める位置と方向とは独立した、局所的形状の特徴を抽出することにある。その際に考慮される基準は、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データＮと３次元ＣＡＤのデジタルモデルから算出される。
【００７８】
特に、３次元ＣＡＤのデジタルモデルのデータのツリー構造と、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データＮのデータのツリー構造を構築して、抽出された様々な局所的形状の特徴を結合する。３次元座標の点群データＮ内で３次元ＣＡＤのデジタルモデルに対応する物体の位置を決定するために、３次元ＣＡＤのデジタルモデルから抽出されたツリー構造と、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データＮから抽出されたツリー構造とを比較する。
【００７９】
局所的形状の特徴を抽出するための第１のアプローチは、３次元ＣＡＤのデジタルモデルと３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データＮとに固有の局所領域全体の中から、形状パラメータを抽出することにある。例えば、平均曲率、ガウス曲率、平均法線などである。
【００８０】
２番目のアプローチは、３次元ＣＡＤのデジタルモデルの表面と３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データＮとを、一連のいわゆる単純な表面（平面、円柱、円錐、トーラスなど）によって近似的に表すことにある。ＮＵＲＢＳ曲面やベジェ曲面のような複雑な表面は、例えば単純な表面を複数用いて表すことができよう。３次元ＣＡＤのデジタルモデルの表面を最も近似的に表すためのいわゆる単純な表面は、表面の曲率次第で決定される。曲率が小さい場合には平面が適応され、曲率がかなり大きいが比較的一定である場合には円柱が適応されうる。点群データでは、それぞれの局所領域が、１個のいわゆる単純な平面によって近似的に表される。単純な表面の選択もまた、推算された曲率に応じて決定される。
【００８１】
３番目のアプローチは、３次元ＣＡＤのデジタルモデルと３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データＮから、基準（最大曲率、曲率の指標の変化、曲面の方向変化など）に応じて、特徴的な点だけを抽出することにある。
【００８２】
処理速度を上げるため、特に、実際のワークＰｊおよび実際の作業環境５の３次元ＣＡＤのデジタルモデルから抽出される形状データの演算は、図１３のフローチャートの開始前に一度だけ実行される。それぞれのＣＡＤのデジタルモデルから抽出されたこれらの形状データは演算手段４のメモリ内に記憶される。この場合、結果として、図１３の位置決定の段階１３１は、ワークＰｊおよび作業環境５の３次元ＣＡＤのデジタルモデルを直接基にするのではなく、この３次元ＣＡＤのデジタルモデルから抽出され、メモリ内に記憶された形状データを基に実行される。
【００８３】
（２）アライメントの段階
対応の段階（１）を終えると、それぞれのバーチャルなワークＰ’ｊおよびバーチャル作業環境５’に対して、位置決定（位置と方向）を可能とする１個または複数の解が、場合に応じて見出されたことになる。
【００８４】
立体的形態を修正するために、それぞれの解は３次元ＣＡＤのデジタルモデルを用いて自動的に試験される。演算を繰り返して最良の立体的形態の修正を決定し、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ（Ｎ）と３次元ＣＡＤのデジタルモデルとの間の隔たりを最小二乗の意味で最小化する。実際には、演算の結果得られる平均的な誤差は、３次元座標［Ｎｊ（Ｘｊ，Ｙｊ，Ｚｊ）］の点群データ上で考慮された各点と、３次元ＣＡＤのデジタルモデルの表面との間の平均的な隔たりを示している。誤差は直接的には、測定の不正確さや、３次元ＣＡＤのデジタルモデルに対する実際のワークＰｊあるいは実際の作業環境５の形態上の欠陥に関連している。
【００８５】
３次元ＣＡＤのデジタルモデルを用いた物体の自動認識についての更なる情報を得るには、例えば以下の論文を参照のこと。Ｊａｎ  Ｂｏｅｈｍ，  Ｃｌａｕｓ  Ｂｒｅｎｎｅｒ，  Ｊｅｎｓ  Ｇｕｅｈｒｉｎｇ，  Ｄｉｅｔｅｒ  Ｆｒｉｔｓｃｈ，“Ａｕｔｏｍａｔｅｄ  ｅｘｔｒａｃｔｉｏｎ  ｏｆ  ｆｅａｔｕｒｅｓ  ｆｒｏｍ  ＣＡＤ  ｍｏｄｅｌｓ  ｆｏｒ  ３Ｄ  ｏｂｊｅｃｔ  ｒｅｃｏｇｎｉｔｉｏｎ（３次元物体認識のためのＣＡＤモデルによる特徴の自動抽出）”，ＩＳＰＲＳ，Ｖｏｌ．ＸＸＸＩＩＩ，アムステルダム、２０００年。
【００８６】
点群データと表面モデルとのアライメントのアルゴリズムについての更なる情報を得るには、例えば以下の論文を参照のこと。Ｐ．Ｊ．Ｂｅｓｌ  ＆  Ｎ．Ｄ．Ｍｃｋａｙ，“Ａ  ｍｅｔｈｏｄ  ｆｏｒ  ｒｅｇｉｓｔｒａｔｉｏｎ  ｏｆ  ３−ｄ  ｓｈａｐｅｓ（３次元形状のレジストリ化の一方法）”，ＩＥＥＥ  Ｔｒａｎｓ，Ｐａｔ．Ａｎａｌ．  ＆  Ｍａｃｈ．Ｉｎｔｅｌ．１４（２），１９９２年２月、ｐｐ．２３９−２５６。
【００８７】
３次元点群データ内において物体（実際のワークＰｊおよび実際の作業環境５）を位置決定するために、その物体の３次元ＣＡＤのデジタルモデルを用いることで、測定のノイズ（異常な点）を除去することができる。
【００８８】
段階１３２−バーチャル作業状況ＶＷＳの構築
位置決定の段階１３１の後、演算手段４は、位置（ｘ，ｙ，ｚ）と方向（α，β，γ）のような空間位置データをメモリ内に含んでおり、バーチャル作業環境５’とそれぞれのバーチャルなワークＰ’ｊを、３次元デジタルセンサ２１の３次元座標内に位置決定することができる。
【００８９】
演算手段４は、段階１３１で位置決定されたバーチャル作業環境５’とそれぞれのバーチャルなワークＰ’ｊについての空間位置データ［位置（ｘ，ｙ，ｚ）と方向（α，β，γ）］、およびそれらの３次元ＣＡＤのデジタルモデルから、デジタルなバーチャル作業状況（ＶＷＳ）を構築する。
【００９０】
このデジタルなバーチャル作業状況（ＶＷＳ）は、実際のワークＰｊに対応するバーチャルなワークＰ’ｊおよび、実際の作業環境５に対応するバーチャルな作業環境５’（バーチャルな容器の仕切り）によって構築される。このデジタルなバーチャル作業状況ＶＷＳ内において、デジタル化されたバーチャルな物体とは、面によって描かれた３次元の物体である。
【００９１】
３次元ＣＡＤのデジタルモデルの使用には、このデジタルなバーチャル作業状況ＶＷＳの構築の際に、３次元デジタルセンサ２１では可視化されない物体の隠れた表面を考慮できるという利点がある。
【００９２】
テスト１３３
バーチャル作業状況ＶＷＳ内にバーチャルなワークＰ’ｊが存在しなければ、作業環境（容器５）は空であるため、演算手段４は演算プログラムを停止する。把持の方法は完了したことになる。
【００９３】
テスト１３４
バーチャル作業状況ＶＷＳ内に、１個以上のバーチャルなワークＰ’ｊが存在する場合、演算手段４はこれらのワークの中に（前回のプロセスでの段階１３５において）まだ選別されなかったワークが少なくとも１個は存在するかどうかを確認する。
テストの結果が否定（位置決定された全てのワークは既に選別されている）の場合、演算手段４はエラー・コード等を生成し、演算プログラムは中断されることになる。
テストの結果が肯定（まだ選別されていないワークが存在する）の場合、演算手段４は演算プログラムを引き続き実行する（段階１３５以降）。
【００９４】
段階１３５
演算手段４は、まだ選別されていない１個または複数のワークの中から、事前に定められた１個または複数の選択基準を適用し、自動的にバーチャルなワークＰ’ｊを選択する。
【００９５】
別の実用例においては、例えば無作為の選択も可能である。
【００９６】
また別の実用例においては、演算手段４はまだ選別されていないワークの中から、例えば垂直軸（Ｙ）に従って、ワークの高さ（ｙ）を比較し、最も高い位置にあるワークを選択する。
【００９７】
テスト１３６
演算手段４は、前の段階１３２において構築されたバーチャル作業状況ＶＷＳ内で、事前に定めた重なりについての基準を少なくとも一つ以上適用して、段階１３５において選択されたバーチャルなワークＰ’ｊが、少なくとも部分的に他の隣接するワークが重なっていないか、自動的に確認する。
【００９８】
この重なりについての基準は、二つのワークの重なりの程度にかかわらず重なりが検知される、全か無かのタイプでありうる。
【００９９】
この重なりについての基準は、ワークの重なりについて事前に定めた面積の最小値を考慮することもできる。この場合、演算プログラムは、特に使用者によってパラメータを設定できる大小の許容度を事前に定めた上で、重なりのテスト１３６が実行されるように設計される。そうすることでワークの重なりの面積が考慮され、例えば、ワークの重なり部分の面積が事前に定めた値を超えている場合のみに重なりが検知される。また例えば重なりが許可されない体積（円柱、平行六面体、等）を定めるなど、重なりについての基準は他にも定義できる。こうした体積は一般に、把持装置の形状を考慮することで定義される。
【０１００】
重なりが検知された場合、演算手段４はテスト１３４に戻り、別のワークを選択する。
【０１０１】
重なりが存在しない場合、演算手段４は演算プログラムを継続する（テスト１３７以降）。
【０１０２】
図８は一例としてデジタルなバーチャル作業状況ＶＷＳを表したものである。段階１３５において選択されたワークはワークＰ’４であるが、それについて演算手段４は、重なりのテスト１３６の実施時に、バーチャルなワークＰ’５との重なりの問題を自動的に検出している。
【０１０３】
強調しておくべきは、発明の応用次第ではこの重なりのテストは任意なものだということである。図８の応用例のように、把持するワークが無作為にバラ積みされており、重なりの可能性がある場合には、この重なりのテストを実施することが好ましい。反対に、図１１や図１２の応用例のように、１個のワークが部分的に別のワークと重なる可能性がないあらゆる応用においては、このテストは不要である。
【０１０４】
テスト１３７および段階１３８
付記された図中の実際のワークＰｊは、把持装置１１によって、事前に定めたはっきり区別される二通りの形状で把持されうる。それぞれ図３、図４に描かれた個別例においては、二つの形状は把持ハンド１１の間隔の調節に違いが認められる。この把持の二通りの形状は、演算手段４のメモリ内に事前に登録されている。それぞれの把持の形状に関して、使用者は、例えば周知のＣＡＤのソフトを用いて、ワークに対する把持装置の位置を定義する。把持するワークに合わせたそれぞれの把持形状について、座標系内での把持装置の立体的な変形がメモリに保存される。把持装置のＣＡＤのデジタルモデルは、全ての形状に対して同一であることも、異なっていることも（同じハンドの開き具合を変える、異なるハンドを利用する、等）可能である。
【０１０５】
１個のワークＰ’ｊが選択され（段階１３５）、重なっていないとテストされた（テスト１３６）際、演算手段４は、このワークＰ’ｊについて、（前回のプロセスの際に）まだテストされていない把持の形状が存在するかどうかを自動的に確認する（テスト１３７）。
【０１０６】
否定（このワークに対して把持の全ての形状が既にテストされた）の場合、演算手段４はテスト１３４に戻り、別のワークを選択する。
【０１０７】
肯定の場合、演算手段４は、このワークに対してまだテストされていない把持の形状の一つを自動的に選択する（段階１３８）。
【０１０８】
テスト１３９（干渉）および段階１４０
一度把持の形状が選択されると、演算手段４は、段階１３４で選択されたワークＰ’ｊとの関係において、段階１３２で構築されたバーチャル作業状況（ＶＷＳ）内で、段階１３８で選択された把持の形状に一致するように、（実際の把持装置１１に対応する）バーチャルな把持装置１１’を配置する。
【０１０９】
この演算は、実際の把持装置１１についての３次元ＣＡＤのデジタルモデル、および選択されたバーチャルなワークＰ’ｊの空間位置データ［位置（ｘ，ｙ，ｚ）と方向（α，β，γ）］を用いて実現される。
【０１１０】
例として次のものを掲載した。
−図７上には、バーチャル作業状況ＶＷＳ内で、バーチャルな把持装置１１’が、選択されたバーチャルなワークＰ’３に対して、第１の形状にあるシミュレーション。
−図８上には、バーチャル作業状況ＶＷＳ内に、バーチャルな把持装置１１’が、選択されたバーチャルなワークＰ’４に対して、第１の形状にあるシミュレーションの結果。
−図９上には、バーチャル作業状況ＶＷＳ内に、バーチャルな把持装置１１’が、選択されたバーチャルなワークＰ’５に対して、第２の形状にあるシミュレーションの結果。
−図１０上には、バーチャル作業状況ＶＷＳ内に、バーチャルな把持装置１１’が、選択されたバーチャルなワークＰ’１に対して、第２の形状にあるシミュレーションの結果。
【０１１１】
演算手段４は、選択されたバーチャルなワークＰ’ｊに対して、バーチャルな把持装置１１’が把持の位置にあるバーチャル作業状況ＶＷＳにおいて、次のことを確認する。
（ｉ）選択されたバーチャルなワークＰ’ｊに対して配置されたバーチャルな把持装置１１’によって構成される表面全体と、他の１個以上のバーチャルなワークの表面との間に交差が存在するかどうか。
（ｉｉ）選択されたバーチャルなワークＰ’ｊに対して配置されたバーチャルな把持装置１１’によって構成される表面全体と、バーチャルな作業環境５’の表面との間に交差が存在するかどうか。
【０１１２】
もし、上記（ｉ）または（ｉｉ）の条件の少なくとも一つが満たされた（交差の存在）場合、干渉を検出し（図１０の例の場合、バーチャルな把持装置１１’とバーチャルな作業環境５’の仕切りの一つとの干渉）、演算手段４はテスト１３４に戻り、別のワークを選択する。安全上の理由から、干渉テストの実施時には、テスト（ｉ）および（ｉｉ）の際に、交差をテストする代わりに、最小限の許容範囲或いは隔たりを考慮に入れることができる。こうして、実際の状況上でテストされる二つの要素の間に最小限の距離を物理的に保障することになる。
【０１１３】
演算プログラムの完成されたバージョンでは、上記（ｉ）および（ｉｉ）の干渉検知は、バーチャルな把持装置１１’および選択されたワークＰ’ｊによって構成される全体を引き上げる運動をシミュレートし、引き上げの軌道上でこの全体が取る様々な位置での干渉（ｉ）および（ｉｉ）を確認することで行われる。
【０１１４】
もし、図７および／あるいは図９の場合のように、上記（ｉ）および（ｉｉ）の二つの条件が否定された（干渉が検知されない）場合、演算手段４はワークＰ’ｊおよび選択された把持の形状を許可し、コマンド装置３に以下のものを送信する（段階１４０）。すなわち、許可された把持の形状、および、許可されたバーチャルなワークＰ’ｊに対応する実際のワークＰｊの、把持ロボット１の座標上での位置データ［位置（ｘ’，ｙ’，ｚ’）と方向（α’，β’，γ’）］。
【０１１５】
段階１４１
この段階１４１はコマンド装置３のプロセッサによって実行される（コマンド・プログラム）。
【０１１６】
コマンド装置３は、自明の適切な仕方で、把持ロボット１の駆動装置、および実際の把持装置１１を操作し、空間内で実際の把持装置１１を移動させ、位置データがコマンド装置３に送信された実際のワークＰｊを、コマンド装置３に送信された把持の形状において、把持することを可能にする。
【０１１７】
実際のワークＰｊが実際の作業環境５から把持ロボット１によって取り出されると、演算手段４は段階１３０に戻る。
【０１１８】
把持の方法は、演算プログラムが、段階１３２で構築されたバーチャル作業状況ＶＷＳ内にワークを検知しなくなる（テスト１３３および「作業終了」）まで実行される。
【図面の簡単な説明】
【０１１９】
【図１】多関節のロボットに備え付けた把持装置を含む、本発明の把持システムを図式的に表したものである。
【図２】図１の把持ロボットの把持装置によって把持および操作されうるワーク例の３次元図である。
【図３】図１のロボットの把持装置が、把持の第１の形状において、図２と同じワークを把持している図である。
【図４】図１のロボットの把持装置が、把持の第２の形状において、図２と同じワークを把持している図である。
【図５】図１の把持システムの取得手段によって得られた３次元点群データの一例である。
【図６】図５の点群データを基に自動的に構築された、バーチャル作業状況（ＶＷＳ）の３次元図像である。
【図７】バーチャル作業状況（ＶＷＳ）が、図２と同じワークの一山を含んでいる３次元図像であり、これらのワークは容器の中にバラ積みされ、幾つかのワークは部分的に重なり合い、１個のワークが図１のロボットの把持装置によって、前述の把持の第１の形状において、他のワークとの重なりの問題がない状態で把持されている。
【図８】バーチャル作業状況（ＶＷＳ）が、図７と同じバラ積みされたワークを含んでいる３次元図像である。
【図９】バーチャル作業状況（ＶＷＳ）が、図７と同じバラ積みされたワークを含んでいる３次元図像である。
【図１０】バーチャル作業状況（ＶＷＳ）が、図７と同じバラ積みされたワークを含んでいる３次元図像である。
【図１１】図２と同じワークが、容器内の仕切りの中に個別に並べられている３次元図像である。
【図１２】図２と同じワークが、容器内に同じ方向を向いて（上から同じ面が見えている）、半ばバラ積みされて置かれている３次元図像である。
【図１３】本発明の自動把持の方法が、個別的に実用された一例の主要な段階を示したフローチャートである。
【図１】
2009523623.tif 000003
【図２】
2009523623.tif 000004
【図３】
2009523623.tif 000005
【図４】
2009523623.tif 000006
【図５】
2009523623.tif 000007
【図６】
2009523623.tif 000008
【図７】
2009523623.tif 000009
【図８】
2009523623.tif 000010
【図９】
2009523623.tif 000011
【図１０】
2009523623.tif 000012
【図１１】
2009523623.tif 000013
【図１２】
2009523623.tif 000014
【図１３】
2009523623.tif 000015
【国際調査報告】
2009523623.tif 000016
2009523623.tif 000017
2009523623.tif 000018
2009523623.tif 000019
2009523623.tif 000020
2009523623.tif 000021