(57)【特許請求の範囲】
【請求項１】
設置スペースに置かれている複数の対象物を順に把持して取り出す対象物取り出し装置であって、
対象物を把持するロボットハンドと、
設置スペースに置かれている複数の対象物の位置を認識する認識装置と、
位置が認識された複数の対象物の取り出し順序を定める把持順決定装置と、
定められた取り出し順序に従って、設置スペースから、対象物を把持して取り出すようにロボットハンドを制御する制御装置と、を備え、
把持順決定装置は、
（Ａ）位置が認識された複数の対象物を順に選択し、
（Ｂ）選択された順に複数の対象物について干渉度判定を行い、
干渉度判定では、選択された対象物を取り出す場合に、当該選択された対象物がこれに隣接する他の対象物に干渉する度合いを第１の度合いとし、当該他の対象物を取り出す場合に、当該他の対象物が当該選択された対象物に干渉する度合いを第２の度合いとし、第１の度合いが第２の度合い以下であるかの判定を行い、
（Ｃ）この判定の結果を否定にする前記他の対象物が存在する場合には、前記判定が否定された対象物については取り出し順序に組み入れずに、前記判定が肯定された順に複数の対象物の取り出し順序を定める、対象物取り出し装置。
【請求項２】
把持順決定装置は、前記（Ａ）において、位置が認識された複数の対象物を、上側に位置するものから順に選択する、請求項１に記載の対象物取り出し装置。
【請求項３】
前記ロボットハンドは、対象物を把持して上側へ取り出し、
前記認識装置は、前記複数の対象物の位置と姿勢を認識し、
対象物において複数の把持位置が設定されており、当該複数の把持位置にはそれぞれ優先度が予め設定されており、
予め定めた基準値より高い優先度の把持位置が把持可能な第１の姿勢を対象物がとっている第１の状態においては、この対象物の下側部分が、水平方向に突出する部分を有さず、かつ、斜め上方に突出する部分を有さないようになっており、
前記基準値より低い優先度の把持位置が把持可能な第２の姿勢を対象物がとっている第２の状態においては、この対象物の下側部分が、水平方向または斜め上方に突出する部分を有するようになっており、
前記第１の状態では、前記基準値より低い優先度の前記把持位置は把持可能ではなく、前記第２の状態では、前記基準値より高い優先度の前記把持位置は把持可能ではなく、
把持順決定装置は、干渉度判定において、
選択された対象物において把持可能な１つまたは複数の把持位置の優先度のうち最も高い優先度が、この対象物に隣接する他の対象物において把持可能な１つまたは複数の把持位置の優先度のうち最も高い優先度以上であるかを判定し、
この判定が肯定された場合には、第１の度合いが第２の度合い以下であると判定する、請求項１または２に記載の対象物取り出し装置。
【請求項４】
把持順決定装置は、
選択された各対象物について、障害物判定を行い、
障害物判定では、対象物を把持して取り出すときに、当該対象物が障害物に衝突するかを判定し、
衝突すると判定された対象物について、干渉度判定を行わず、かつ、当該対象物を取り出し順序に組み入れない、請求項１、２または３に記載の対象物取り出し装置。
【請求項５】
設置スペースに置かれている複数の対象物を、ロボットハンドにより順に把持して取り出す対象物取り出し方法であって、
設置スペースに置かれている複数の対象物の位置を認識する認識装置と、
位置が認識された複数の対象物の取り出し順序を定める把持順決定装置と、を用意し、
（ａ）認識装置により、複数の対象物の位置を認識し、
（ｂ）把持順決定装置により、位置が認識された複数の対象物を順に選択し、
（ｃ）把持順決定装置により、選択された順に複数の対象物について干渉度判定を行い、
干渉度判定では、選択された対象物を取り出す場合に、当該選択された対象物がこれに隣接する他の対象物に干渉する度合いを第１の度合いとし、当該他の対象物を取り出す場合に、当該他の対象物が当該選択された対象物に干渉する度合いを第２の度合いとし、第１の度合いが第２の度合い以下であるかの判定を行い、
（ｄ）この判定の結果を否定にする前記他の対象物が存在する場合には、把持順決定装置により、前記判定が否定された対象物については取り出し順序に組み入れずに、前記判定が肯定された順に複数の対象物の取り出し順序を定め、
（ｅ）定められた取り出し順序に従って、ロボットハンドにより対象物を把持して取り出す、対象物取り出し方法。
【請求項６】
（ｆ）前記（ｅ）の後に、前記（ａ）を新たに行うことにより、設置スペースに残っている複数の対象物の位置を新たに認識し、
（ｇ）次に、把持順決定装置により、新たに位置が認識された当該複数の対象物に対して、前記（ｂ）（ｃ）（ｄ）を新たに行うことにより、当該複数の対象物の取り出し順序を新たに定め、
（ｈ）次いで、新たに定められた取り出し順序に従って、ロボットハンドにより対象物を把持して取り出す、請求項５に記載の対象物取り出し方法。
【請求項７】
前記（ｅ）の後であって前記（ｆ）の前に、前記（ｄ）において取り出し順序に組み入れなかった対象物がある場合には、ロボットハンドにより、この対象物を把持して取り出す、請求項６に記載の対象物取り出し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設置スペースに置かれている複数の対象物を１つずつ順に把持して取り出す対象物取り出し装置と方法に関する。
【背景技術】
【０００２】
従来において、例えばバラ積みされている複数の対象物を、ロボットハンドにより、１つずつ順に把持して取り出すことが行われている。この場合、複数の対象物の位置や姿勢を、レーザ距離計やカメラなどを用いて認識し、認識した対象物を把持して取り出している。
【０００３】
このような技術は、例えば、下記の特許文献１に記載されている。特許文献１では、次のように、対象物を認識して把持している。まず、対象物における複数の代表的な部分形状と、これらにそれぞれ適した把持位置と、これらの把持位置の優先順位とを予め求めておく。次に、バラ積みされた複数の対象物の画像データを取得する。この画像データに基づいて、エッジを検出することにより、各対象物の形状を部分的に認識する。認識した形状に基づいて、外部に露出している複数の代表的な部分形状を選択する。選択した代表的な部分形状を把持する順序を、予め求めておいた優先順位に基づいて定める。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−８９２３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１では、対象物を把持して取り出す場合に、この対象物が、これに隣接する他の対象物に干渉するかどうかを考慮していない。従って、対象物を把持して取り出す時に、この対象物が、これに隣接する対象物に干渉する可能性がある。そのため、このような干渉の可能性を小さくすることが望まれる。
【０００６】
そこで、本発明の目的は、対象物を把持して取り出す時に、この対象物が隣接する対象物に干渉する可能性を小さくできる対象物取り出し装置と方法を提供することにある。
【課題を解決するための手段】
【０００７】
上述した目的を達成するため、本発明によると、設置スペースに置かれている複数の対象物を順に把持して取り出す対象物取り出し装置であって、
対象物を把持するロボットハンドと、
設置スペースに置かれている複数の対象物の位置を認識する認識装置と、
位置が認識された複数の対象物の取り出し順序を定める把持順決定装置と、
定められた取り出し順序に従って、設置スペースから、対象物を把持して取り出すようにロボットハンドを制御する制御装置と、を備え、
把持順決定装置は、
（Ａ）位置が認識された複数の対象物を順に選択し、
（Ｂ）選択された順に複数の対象物について干渉度判定を行い、
干渉度判定では、選択された対象物を取り出す場合に、当該選択された対象物がこれに隣接する他の対象物に干渉する度合いを第１の度合いとし、当該他の対象物を取り出す場合に、当該他の対象物が当該選択された対象物に干渉する度合いを第２の度合いとし、第１の度合いが第２の度合い以下であるかの判定を行い、
（Ｃ）この判定が否定された対象物については取り出し順序に組み入れずに、前記判定が肯定された順に複数の対象物の取り出し順序を定める、ことを特徴とする対象物取り出し装置が提供される。
【０００８】
本発明の好ましい実施形態によると、把持順決定装置は、前記（Ａ）において、位置が認識された複数の対象物を、上方に位置するものから順に選択する。
【０００９】
また、本発明の好ましい実施形態によると、前記認識装置は、前記複数の対象物の位置と姿勢を認識し、
対象物において複数の把持位置が設定されており、当該複数の把持位置にはそれぞれ優先度が設定されており、
予め定めた基準値より高い優先度の把持位置が把持可能な姿勢を対象物がとっている状態においては、この対象物の下側部分が、水平方向に突出する部分を有さず、かつ、斜め上方に突出する部分を有さないようになっており、
前記基準値より低い優先度の把持位置が把持可能な姿勢を対象物がとっている状態においては、この対象物の下側部分が、水平方向または斜め上方に突出する部分を有するようになっており、
把持順決定装置は、干渉度判定において、
選択された対象物において把持可能な把持位置の優先度が、この対象物に隣接する他の対象物において把持可能な把持位置の優先度以上であるかを判定し、
この判定が肯定された場合には、第１の度合いが第２の度合い以下であると判定する。
【００１０】
本発明の好ましい実施形態によると、把持順決定装置は、
選択された各対象物について、障害物判定を行い、
障害物判定では、対象物を把持して取り出すときに、当該対象物が障害物に衝突するかを判定し、
衝突すると判定された対象物について、干渉度判定を行わず、かつ、当該対象物を取り出し順序に組み入れない。
【００１１】
また、上述した目的を達成するため、本発明によると、設置スペースに置かれている複数の対象物を、ロボットハンドにより順に把持して取り出す対象物取り出し方法であって、
設置スペースに置かれている複数の対象物の位置を認識する認識装置と、
位置が認識された複数の対象物の取り出し順序を定める把持順決定装置と、を用意し、
（ａ）認識装置により、複数の対象物の位置を認識し、
（ｂ）把持順決定装置により、位置が認識された複数の対象物を順に選択し、
（ｃ）把持順決定装置により、選択された順に複数の対象物について干渉度判定を行い、
干渉度判定では、選択された対象物を取り出す場合に、当該選択された対象物がこれに隣接する他の対象物に干渉する度合いを第１の度合いとし、当該他の対象物を取り出す場合に、当該他の対象物が当該選択された対象物に干渉する度合いを第２の度合いとし、第１の度合いが第２の度合い以下であるかの判定を行い、
（ｄ）把持順決定装置により、この判定が否定された対象物については取り出し順序に組み入れずに、前記判定が肯定された順に複数の対象物の取り出し順序を定め、
（ｅ）定められた取り出し順序に従って、ロボットハンドにより対象物を把持して取り出す、ことを特徴とする対象物取り出し方法が提供される。
【００１２】
本発明の好ましい実施形態によると、
（ｆ）前記（ｅ）の後に、前記（ａ）を新たに行うことにより、設置スペースに残っている複数の対象物の位置を新たに認識し、
（ｇ）次に、把持順決定装置により、新たに位置が認識された当該複数の対象物に対して、前記（ｂ）（ｃ）（ｄ）を新たに行うことにより、当該複数の対象物の取り出し順序を新たに定め、
（ｈ）次いで、新たに定められた取り出し順序に従って、ロボットハンドにより対象物を把持して取り出す。
【００１３】
前記（ｅ）の後であって前記（ｆ）の前に、前記（ｄ）において取り出し順序に組み入れなかった対象物がある場合には、ロボットハンドにより、この対象物を把持して取り出してよい。
【発明の効果】
【００１４】
上述した本発明によると、次のように取り出し順序が定められる。まず、複数の対象物を順に選択する。次に、選択された順に複数の対象物について干渉度判定を行う。干渉度判定では、選択された対象物を取り出す場合に、当該選択された対象物がこれに隣接する他の対象物に干渉する度合いを第１の度合いとし、当該他の対象物を取り出す場合に、当該他の対象物が当該選択された対象物に干渉する度合いを第２の度合いとし、第１の度合いが第２の度合い以下であるかの判定を行う。この判定が否定された対象物については取り出し順序に組み入れずに、前記判定が肯定された順に複数の対象物の取り出し順序を定める。
【００１５】
このように、干渉度判定が否定された対象物は取り出し順序に組み入れないので、対象物を実際に把持して取り出す時に、対象物が隣接する他の対象物に干渉する可能性が小さくなる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態による対象物取り出し装置の構成を示す。
【図２】本発明の実施形態による対象物取り出し方法を示すフローチャートである。
【図３】（Ａ）は、図１の部分拡大図であり、（Ｂ）（Ｃ）は、対象物を取り出した後の状態を示す。
【図４】対象物の形状を示す。
【図５】ロボットハンドの把持部で対象物を把持した状態を示す。
【図６】他の形状を有する対象物を示す。
【図７】図６の場合において把持位置の優先度を説明する図である。
【図８】姿勢判定の説明図である。
【発明を実施するための形態】
【００１７】
本発明の好ましい実施形態を図面に基づいて説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明を省略する。
【００１８】
図１は、本発明の実施形態による対象物取り出し装置１０の構成を示す。対象物取り出し装置１０は、ロボットハンド３と、認識装置５と、把持順決定装置７と、制御装置９とを備える。
【００１９】
ロボットハンド３は、設置スペースＳに置かれた対象物１ａ〜１ｈを上方から把持するように動作する。図１の例では、ロボットハンド３は、互いに対して回転可能に連結された複数のリンク１１ａ〜１１ｄにより構成されている。複数のリンク１１ａ〜１１ｄのうち最先端にある第１のリンク１１ａに把持部４が固定されている。第１のリンク１１ａは、第１の関節１３ａを介して第２のリンク１１ｂに連結されているとともに、第１の関節１３ａの回転軸Ｃ１回りに第２のリンク１１ｂに対して回転可能である。第２のリンク１１ｂは、第２の関節１３ｂを介して第３のリンク１１ｃに連結されているとともに、第２の関節１３ｂの回転軸Ｃ２回りに第３のリンク１１ｃに対して回転可能である。第３のリンク１１ｃは、第３の関節１３ｃを介して第４のリンク１１ｄに連結されているとともに、第３の関節１３ｃの回転軸Ｃ３回りに第４のリンク１１ｄに対して回転可能である。第４のリンク１１ｄは、自身の中心軸である回転軸Ｃ４回りに回転可能に設置台１５に支持されている。
【００２０】
この構成で、第１〜第４のリンク１１ａ〜１１ｄが、それぞれ、図示しない複数の駆動装置（例えば、サーボモータ）により対応する回転軸Ｃ１〜Ｃ４回りに回転駆動される。これらの回転駆動が制御装置９によって制御されることにより、ロボットハンド３は動作する。
【００２１】
認識装置５は、複数の対象物の位置を上方から認識する。本実施形態では、複数の対象物は、同じ寸法と形状を有する。以下において、複数の対象物を、互いに区別するときには、これらの対象物にそれぞれ符号１ａ〜１ｈを付し、互いに区別しないときには、これらの対象物に符号１を付す。図１の例では、認識装置５は、レーザ距離計を有する。レーザ距離計は、レーザ射出点から、下方を向く各計測方向にレーザを発することにより、各計測方向において、レーザ射出点から、計測範囲内に存在する物体上の各被計測点までの距離を計測する。認識装置５は、各計測方向について計測した距離に基づいて、レーザ距離計による計測範囲に存在する物体の位置と形状を認識する。認識装置５は、このように認識した形状と、その記憶部に記憶されている対象物１の３次元的な形状とを比べることにより、各対象物１の位置と姿勢を認識する。
【００２２】
把持順決定装置７は、位置が認識された（以下、単に認識されたともいう）複数の対象物１の取り出し順序を定める。把持順決定装置７は、認識された複数の対象物１を、上方に位置するものから順に選択し、選択された順に複数の対象物１について干渉度判定を行う。干渉度判定では、把持順決定装置７は、次のように判定を行う。すなわち、選択された対象物１を取り出す場合に、当該選択された対象物１が、これに水平方向に隣接する他の対象物１に干渉する度合いを第１の度合いとし、当該他の対象物１を取り出す場合に、当該他の対象物１が、当該選択された対象物１に干渉する度合いを第２の度合いとし、第１の度合いが第２の度合い以下であるかの判定を行う。把持順決定装置７は、この判定が否定された対象物１については取り出し順序に組み入れずに、前記判定が肯定された順に複数の対象物１の順位が上位になるように取り出し順序を定める。
【００２３】
以下、干渉度判定に関して、上述の「水平方向に隣接する」を、単に「隣接する」という。
２つの対象物１が「隣接する」とは、両者のうち一方を上方に取り出したら他方に干渉する可能性があることを意味する。例えば、２つの対象物１が「隣接する」とは、水平方向において、両者の中心の間隔が、設定距離より小さいこと意味してよい。ここで、設定距離は、対象物１の寸法と形状に応じて適切に定められてよい。
なお、選択された対象物１（選択対象物という）が、これに隣接する対象物１（隣接対象物という）に干渉する場合とは、ロボットハンド３により選択対象物を把持して取り出す時に、選択対象物が、隣接対象物との接触点から隣接対象物に力を作用させることを意味する。例えば、選択対象物が、隣接対象物を動かしてしまうことを意味する。
【００２４】
制御装置９は、定められた取り出し順序に従って複数の対象物１を順に把持して取り出すようにロボットハンド３を制御する。
【００２５】
図２と図３に基づいて、本発明の実施形態による対象物取り出し方法を説明する。図２は、本発明の実施形態による対象物取り出し方法を示すフローチャートである。図３（Ａ）は、図１の部分拡大図である。図３（Ｂ）は、後述のステップＳ６を行った直後の状態を示し、図３（Ｃ）は、後述のステップＳ７を行った直後の状態を示す。なお、本発明の実施形態による対象物取り出し方法は、上述した対象物取り出し装置１０により行われる。
【００２６】
ステップＳ１において、認識装置５により、設置スペースＳに集って置かれている複数の対象物１の３次元的な位置と姿勢を認識する。図３（Ａ）の例では、対象物１ａ，１ｂ，１ｃ，１ｄの３次元的な位置と姿勢を認識する。なお、対象物１ｅ，１ｆ，１ｇ，１ｈは、対象物１ａ，１ｂ，１ｃ，１ｄに隠れているため、認識装置５により認識されない。
【００２７】
ステップＳ２において、把持順決定装置７により、ステップＳ１で認識された複数の対象物１を、上方に位置するものから順に選択する。図３（Ａ）の例では、把持順決定装置７により、下記の表１に示すテーブルデータを作成し、表１のデータに基づいて、複数の対象物１ａ，１ｂ，１ｃ，１ｄを、上方に位置するものから順に選択する。すなわち、表１には、複数の対象物１ａ，１ｂ，１ｃ，１ｄの高さの順位が記録されており、この高さの順位に従って、複数の対象物１ａ，１ｂ，１ｃ，１ｄを、上方に位置するものから順に選択する。この高さの順位は、ステップＳ１において認識した各対象物１ａ，１ｂ，１ｃ，１ｄの３次元的位置に基づいて定められる。図３（Ａ）の例では、表１において、対象物１ａ、対象物１ｃ、対象物１ｂ、対象物１ｄの順に、高さの順位が定められる。なお、２つ以上の対象物１の高さが同じ場合には、これらの対象物１の間で、任意に高さの順位を定める。図３（Ａ）の例では、対象物１ｂ、１ｄは、同じ高さにあるので、ここでは、対象物１ｂ、対象物１ｄの順に順位を定めている。なお、高さの順位は、各対象物１における最上点の高さを比べることにより定められてよい。
【００２８】
【表１】
0005936108.tif 000002
【００２９】
ステップＳ３において、把持順決定装置７により、障害物判定を行う。この障害物判定では、選択された各対象物１について、当該対象物１を、ロボットハンド３により取り出した場合に、当該対象物１が、他の対象物１以外の障害物８に衝突するかを判定する。例えば、対象物１の真上に障害物８が存在する場合には、当該対象物１が障害物８に衝突すると判定する。図３（Ａ）の場合には、対象物１ａ〜１ｄのうち、対象物１ａは、障害物８に衝突すると判定され、対象物１ｂ〜１ｄは、障害物８に衝突しないと判定される。従って、表１において、障害物判定の列において、対象物１ａについては、衝突する旨の記号（×印）が記入され、対象物１ｂ〜１ｄについては、衝突しない旨の記号（○印）が記入される。すなわち、表１のデータは、次の表２のようになる。なお、認識装置５により、障害物８の位置が認識され、これにより、把持順決定装置７は、認識された障害物８と選択された対象物１との位置関係に基づいて障害物判定を行う。
【００３０】
【表２】
0005936108.tif 000003
【００３１】
ステップＳ４において、把持順決定装置７により、ステップＳ２で選択された順に複数の対象物１について干渉度判定を行う。ただし、ステップＳ３で、障害物８に干渉すると判定された対象物１については、ステップＳ４の干渉度判定を行わない。すなわち、ステップＳ３で、障害物８に衝突すると判定されなかった対象物１について、ステップＳ２で選択された順にステップＳ４を行う。
ステップＳ４の干渉度判定では、選択された対象物１を取り出す場合に、当該選択された対象物１が、これに隣接する他の対象物１に干渉する度合いを第１の度合いとし、当該他の対象物１を取り出す場合に、当該他の対象物１が、当該選択された対象物１に干渉する度合いを第２の度合いとし、第１の度合いが第２の度合い以下であるかの判定を行う。ここで、隣接する他の対象物１は、ステップＳ１で位置と形状が認識された対象物１に含まれるものである。
【００３２】
ステップＳ４を詳しく説明する。
【００３３】
ステップＳ４では、把持位置の優先度を用いる。対象物１において複数の（２つまたは３つ以上の）把持位置が設定されており、当該複数の把持位置にはそれぞれ優先度が設定されている。
【００３４】
優先度の値は、次のように設定される。
予め定められた基準値より高い優先度の把持位置が把持可能な姿勢を対象物１がとっている状態においては、この対象物１の下側部分が、水平方向に突出する部分を有さず、かつ、（水平方向に対して）斜め上方に突出する部分を有さないようになっている。
一方、前記基準値より低い優先度の把持位置が把持可能な姿勢を対象物１がとっている状態においては、この対象物１の下側部分が、水平方向または（水平方向に対して）斜め上方に突出する部分を有するようになっている。
【００３５】
優先度が高い把持位置を把持して対象物１を上方に取り出した場合ほど、当該対象物１が、これに隣接する他の対象物１に干渉する可能性が低くなる。
ステップＳ４の干渉度判定において、選択された対象物１において把持可能な把持位置の優先度が、この対象物１に隣接する他の対象物１において把持可能な把持位置の優先度以上である場合には、干渉度判定は、肯定の判定となる。すなわち、上述した第１の度合いが第２の度合い以下であると判定する。
【００３６】
図４に基づいて、複数の把持位置の例を説明する。図４（Ａ）は、対象物１を側方から見た図であり、図４（Ｂ）は、図４（Ａ）のＢ−Ｂ線矢視図である。図４の例では、対象物１には、２つの把持位置Ｐ１、Ｐ２が設定されている。図４において、対象物１は、その軸Ｘ方向一方側に、軸Ｘ方向と直交する方向に突出しているフランジ部１７を有する。ロボットハンド３の把持部４は、対象物１の穴１８に挿入される２つの爪１９、２１（図１や図５を参照）を有する。２つの爪１９、２１は、穴１８に挿入された状態で、互いに離れる方向に駆動されて、穴１８を区画する内周面２３へ互いに反対方向に押し付けられる。これにより、把持部４の２つの爪１９、２１は、対象物１を把持する。把持位置Ｐ１は、図５（Ａ）のように、フランジ部１７側から穴１８に爪１９、２１を挿入して対象物１を把持する時に、対象物１が把持される位置（内周面２３の位置）である。把持位置Ｐ２は、図５（Ｂ）のように、フランジ部１７と反対側から穴１８に爪１９、２１を挿入して対象物１を把持する時に、対象物１が把持される位置（内周面２３の位置）である。
【００３７】
把持位置Ｐ１が把持可能な姿勢を対象物１がとっている図５（Ａ）の状態においては、対象物１の下側部分が、水平方向に突出する部分を有さず、かつ、斜め上方に突出する部分を有さないようになっている。一方、把持位置Ｐ２が把持可能な姿勢を対象物１がとっている図５（Ｂ）の状態においては、対象物１の下側部分が、水平方向に突出したフランジ部１７を有するようになっている。図５（Ａ）の状態の対象物１に上方から近づいて、把持位置Ｐ１で対象物１を把持し、この対象物１を上方へ取り出す場合と、図５（Ｂ）の状態の対象物１に上方から近づいて、把持位置Ｐ２で対象物１を把持し、この対象物１を上方へ取り出す場合とでは、前者の場合（把持位置Ｐ１で対象物１を把持する場合）のほうが、対象物１のフランジ部１７が他の対象物１に干渉する可能性が小さい。例えば、図３（Ａ）の状態で、対象物１ｂの把持位置Ｐ１を爪１９、２１で把持して、この対象物１ｂを取り出す場合には、フランジ部１７が他の対象物に干渉する可能性が小さい。フランジ部１７が上方側に位置するからである。これに対し、図３（Ａ）の状態で、対象物１ｃの把持位置Ｐ２を爪１９、２１で把持して、この対象物１ｂを取り出す場合には、対象物１ｂのフランジ部１７が他の対象物１ｂ、１ｄに干渉する可能性が高い。フランジ部１７が下方側にあるからである。そこで、図３（Ａ）の例では、把持位置Ｐ１の優先度は、把持位置Ｐ２の優先度よりも高く設定されている。なお、図４の符号Ｘは、対象物１に固定された仮想の基準直線（軸）Ｘを示す。
【００３８】
干渉度判定では、上述のように、選択された対象物１において把持可能な把持位置の優先度が、この対象物１に隣接する他の対象物１において把持可能な把持位置の優先度以上であるかを判定する。この判定は、表２の高さの順位に従って行われる。すなわち、対象物１ａ、対象物１ｃ、対象物１ｂ、対象物１ｄの順に行われる。ただし、対象物１ａは、ステップＳ２で、障害物８に干渉すると判定されているので、対象物１ａについては、ステップＳ４の干渉度判定を行わない。
【００３９】
まず、対象物１ｃについて、この対象物１ｃに隣接する対象物１ｂ、１ｄと干渉度判定をする。この場合、図３（Ａ）では、選択された対象物１ｃにおいて把持可能な把持位置Ｐ２の優先度は、この対象物１ｃに隣接する他の対象物１ｂ、１ｄにおいて把持可能な把持位置Ｐ１の優先度より低い。この場合には、対象物１ｃは、対象物１ｂ、１ｄに干渉する可能性が相対的に大きいと判定する。すなわち、選択された対象物１ｃを取り出す場合に、当該選択された対象物１ｃが、これに隣接する他の対象物１ｂ、１ｄに干渉する度合いを第１の度合いとし、当該他の対象物１ｂ、１ｄを取り出す場合に、当該他の対象物１ｂ、１ｄが、当該選択された対象物１ｃに干渉する度合いを第２の度合いとし、第１の度合いが第２の度合い以下ではないと否定の判定をする。従って、対象物１ｃを取り出す時に、これが対象物１ｂ、１ｄに干渉する可能性があるとして、次の表３に示すように、「隣接対象物との干渉度判定」の行において、これらの対象物１ｂ、１ｄを示す記号１ｂ、１ｄが記入される。
【００４０】
【表３】
0005936108.tif 000004
【００４１】
対象物１ｂについて、この対象物１ｂに隣接する対象物１ａ、１ｃと干渉度判定をする。この場合、図３（Ａ）では、選択された対象物１ｂにおいて把持可能な把持位置Ｐ１の優先度は、この対象物１ｂに隣接する他の対象物１ａ、１ｃにおいてそれぞれ把持可能な把持位置Ｐ１、Ｐ２の優先度以上である。この場合には、対象物１ｂは、対象物１ａ、１ｃに干渉する可能性が小さいと判定する。すなわち、選択された対象物１ｂを取り出す場合に、当該選択された対象物１ｂが、これに隣接する他の対象物１ａ、１ｃに干渉する度合いを第１の度合いとし、当該他の対象物１ａ、１ｃを取り出す場合に、当該他の対象物１ａ、１ｃが、当該選択された対象物１ｂに干渉する度合いを第２の度合いとし、第１の度合いが第２の度合い以下であると肯定の判定する。従って、表３に示すように、「隣接対象物との干渉度判定」の行において、対象物１ｂについて、その旨を示す記号（○印）が記入される。
【００４２】
対象物１ｄについて、この対象物１ｄに隣接する対象物１ｃと干渉度判定をする。この場合、図３（Ａ）では、選択された対象物１ｄにおいて把持可能な把持位置Ｐ１の優先度は、この対象物１ｄに隣接する他の対象物１ｃにおいて把持可能な把持位置Ｐ２の優先度より高い。この場合には、対象物１ｄは、対象物１ｃに干渉する可能性が相対的に小さいと判定する。すなわち、選択された対象物１ｄを取り出す場合に、当該選択された対象物１ｄが、これに隣接する他の対象物１ｃに干渉する度合いを第１の度合いとし、当該他の対象物１ｃを取り出す場合に、当該他の対象物１ｃが、当該選択された対象物１ｄに干渉する度合いを第２の度合いとし、第１の度合いが第２の度合い以下であると肯定の判定する。従って、表３に示すように、「隣接対象物との干渉度判定」の行において、対象物１ｄについて、その旨を示す記号（○印）が記入される。
【００４３】
なお、干渉度判定の対象となっている対象物１に隣接する他の対象物１が、今回、ステップＳ１で認識されていない場合には、この対象物１が当該他の対象物に干渉する可能性が小さいとする。すなわち、干渉度判定の対象となっているこの対象物１について、肯定の判定をする。
【００４４】
ステップＳ５において、把持順決定装置７により、ステップＳ４の結果に基づいて取り出し順序を定め、これを出力する。すなわち、ステップＳ５において、ステップＳ４の判定が否定された対象物１については取り出し順序に組み入れずに、ステップＳ４の判定が肯定された順に複数の対象物１を組み入れた取り出し順序を示す把持順指令を、把持順決定装置７から制御装置９に出力する。表３の例では、この取り出し順序は、対象物１ｂ、対象物１ｄの順である。
【００４５】
ステップＳ６において、ステップＳ５で定められた取り出し順序に従って、複数の対象物１を把持して取り出す。すなわち、ステップＳ６において、制御装置９は、把持順指令が示す取り出し順序に従って、設置スペースＳの対象物１を１つずつ順に把持して取り出し、取り出した対象物１を別の場所へ置く。これにより、取り出された対象物１ｂ、１ｄについて、次の表４のように、「取り出しフラグ」を「０」から「１」に変更する。また、ステップＳ６で対象物１ｂ、１ｄを取り出した直後では、図３（Ａ）から図３（Ｂ）の状態になっている。
【００４６】
【表４】
0005936108.tif 000005
【００４７】
ステップＳ７において、把持順決定装置７により、ステップＳ５において取り出し順序に組み入れなかった対象物１があるかどうかを判断する。取り出し順序に組み入れなかった対象物１は、ステップＳ４の判定が否定されたことにより、ステップＳ５において取り出し順序に組み入れなかった対象物１である。ステップＳ７において、取り出し順序に組み入れなかった対象物１がないと判断された場合には、そのまま、ステップＳ１へ戻る。一方、ステップＳ７において、取り出し順序に組み入れなかった対象物１があると判断される場合には、この対象物１を、以下のように、ロボットハンド３が、設置スペースＳから把持して取り出す。
【００４８】
すなわち、ステップＳ５において取り出し順序に組み入れなかった対象物１を取り出す旨の指令が、把持順決定装置７から制御装置９に出力される。制御装置９は、この指令に従って、該当する対象物１を、ロボットハンド３が、設置スペースＳから把持して取り出すようにロボットハンド３を制御する。
【００４９】
ステップＳ７において、ステップＳ５において取り出し順序に組み入れなかった対象物１が複数ある場合には、ロボットハンド３は、ステップＳ１で認識された位置が高い順に、これらの対象物１を、設置スペースＳから把持して取り出すのがよい。その旨の指令が、把持順決定装置７から制御装置９に出力され、これにより、制御装置９は、認識された位置が高い順に複数の対象物１を把持して取り出すようにロボットハンド３を制御する。
【００５０】
ステップＳ７は、図３（Ｂ）の例では次のように行われる。
【００５１】
表４において、高さの順位に従って、１番目のものから順に、取り出すべき対象物かどうかを判断する表検索を行い、取り出すべきと判断された対象物を取り出す。詳しくは、次の通りである。
最初に、 表４において、高さの順位が１番目の対象物１ａは、「障害物判定」が「×」になっているので、把持順決定装置７は、対象物１ａを取り出さないと判断する。
次に、高さの順位が２番目の対象物１ｃは、「隣接対象物との干渉度判定」の行において、対象物１ｂ、１ｄを示す記号１ｂ、１ｄが記入されているので、把持順決定装置７は、表４において、対象物１ｂ、１ｄの「取り出しフラグ」を参照する。対象物１ｂ、１ｄの「取り出しフラグ」は、いずれも１になっている。従って、把持順決定装置７は、対象物１ｃを、取り出すべきであると判断する。すなわち、把持順決定装置７は、対象物１ｃを取り出す旨の指令を制御装置９に出力する。制御装置９は、ロボットハンド３に対象物１ｃを取り出させ、これにより、図３（Ｂ）から図３（Ｃ）の状態になる。次いで、把持順決定装置７は、対象物１ｃの「取り出しフラグ」を０から１に変える。その結果、表４は、下記の表５に更新される。
次に、表５において、高さの順位が３番目の対象物１ｂは、「取り出しフラグ」が１になっているので、把持順決定装置７は、対象物１ｂを無視する。
次に、表５において、高さの順位が４番目の対象物１ｄは、「取り出しフラグ」が１になっているので、把持順決定装置７は、対象物１ｂを無視する。
【００５２】
【表５】
0005936108.tif 000006
【００５３】
その後、再び、表５において、高さの順位に従って、１番目のものから順に、取り出すべき対象物かどうかを判断をする表検索を行い、取り出すべきと判断された対象物を取り出す。詳しくは、次の通りである。
最初に、表５において、高さの順位が１番目の対象物１ａは、「障害物判定」が「×」になっているので、把持順決定装置７は、対象物１ａを取り出さないと判断する。
次に、 表５において、高さの順位が２番目の対象物１ｃは、「取り出しフラグ」が１になっているので、把持順決定装置７は、対象物１ｃを無視する。
次に、表５において、高さの順位が３番目の対象物１ｂは、「取り出しフラグ」が１になっているので、把持順決定装置７は、対象物１ｂを無視する。
次に、表５において、高さの順位が４番目の対象物１ｄは、「取り出しフラグ」が１になっているので、把持順決定装置７は、対象物１ｂを無視する。
今回の表検索では、取り出すべき対象物１が１つも無かったので、ステップＳ１で認識された対象物１の中で、取り出せるものは無いとして、ステップＳ７を終えて、ステップＳ１へ戻る。
【００５４】
このように、ステップＳ６とステップＳ７で複数の対象物１を取り出すので、１回のステップＳ１における認識で、より多くの対象物１を取り出すことができる。しかも、ステップＳ４〜Ｓ７により、干渉する度合いの小さい対象物１が先に取り出されるので、対象物１を取り出す時に、この対象物１が隣接する対象物１に干渉する可能性が小さくなる。
【００５５】
ステップ７の後に、新たに、上述と同様にステップＳ１〜Ｓ７を行う。図３（Ｃ）の場合には、次のように、ステップＳ１〜Ｓ７を新たに行う。
【００５６】
ステップＳ１において、認識装置５により、設置スペースＳに残っている対象物１ｆ、１ｇ，１ｈの３次元的な位置と姿勢を認識する。
【００５７】
ステップＳ２において、ステップＳ１で認識された複数の対象物１ｆ，１ｇ，１ｈを、上方に位置するものから順に選択する。図３（Ｃ）では、複数の対象物１ｆ，１ｇ，１ｈは、高さが同じであるので、これらの高さの順位は任意に定められてよい。ここでは、複数の対象物１ｆ，１ｇ，１ｈの順に高さの順位を定める。従って、把持順決定装置７により、表５のデータは次の表６のように更新される。更新された表６においては、新たに認識された対象物１ｆ，１ｇ，１ｈについての行が、追加されている。
【００５８】
【表６】
0005936108.tif 000007
【００５９】
ステップＳ３において、障害物判定を行う。図３（Ｃ）の例では、複数の対象物１ｆ，１ｇ，１ｈの真上には、障害物８が存在しないので、複数の対象物１ｆ，１ｇ，１ｈは、障害物８に干渉しないと判定される。従って、表６における「障害物判定」の列において、対象物１ｆ，１ｇ，１ｈについて、衝突しない旨の記号（○印）が記入される。これにより、表６のデータは、次の表７のようになる。
【００６０】
【表７】
0005936108.tif 000008
【００６１】
ステップＳ４において、ステップＳ２で選択された順に複数の対象物１について干渉度判定を行う。
干渉度判定では、選択された対象物１において把持可能な把持位置の優先度が、この対象物１に隣接する他の対象物１において把持可能な把持位置の優先度以上であるかを判定する。この判定は、表７の高さの順位に従って行われる。すなわち、対象物１ｆ，１ｇ，１ｈの順に行われる。より詳しくは、ステップＳ２で障害物８に干渉すると判定されておらず、表７において、「取り出しフラグ」が「０」になっている複数の対象物１ｆ，１ｇ，１ｈについて、ステップＳ４を行う。
【００６２】
対象物１ｆ，１ｇ，１ｈの干渉度判定は、上述と同様に行われる。その結果は、次のようになる。
対象物１ｆについては、これを取り出す時に、これが隣接する対象物１ｇに干渉する可能性があるとする（すなわち、否定の判定をする）。従って、対象物１ｆについて、下記の表８のように、「隣接対象物との干渉度判定」の行において、対象物１ｇを示す記号が記入される。
対象物１ｇについては、これが隣接する対象物１ｆ、１ｈに干渉する可能性が低いとする（すなわち、肯定の判定をする）。従って、対象物１ｇについては、表８のように、「隣接対象物との干渉度判定」の行において、その旨を示す記号（○印）が記入される。
対象物１ｈについては、これを取り出す時に、これが隣接する対象物１ｇに干渉する可能性があるとする（すなわち、否定の判定をする）。従って、対象物１ｈについて、表８のように、「隣接対象物との干渉度判定」の行において、対象物１ｇを示す記号が記入される。
【００６３】
【表８】
0005936108.tif 000009
【００６４】
ステップＳ５において、ステップＳ４の結果に基づいて取り出し順序を定め、これを出力する。すなわち、ステップＳ５において、ステップＳ４の判定が否定された対象物１ｆ，１ｈについては取り出し順序に組み入れずに、ステップＳ４の判定が肯定された順に対象物１を組み入れた取り出し順序を示す把持順指令を制御装置９に出力する。図３（Ｃ）の例では、この取り出し順序に組み入れられたものは、対象物１ｇだけである。
【００６５】
ステップＳ６において、ステップＳ５で定められた取り出し順序に従って、ロボットハンド３により複数の対象物１を把持して取り出す。図３（Ｃ）の例では、対象物１ｇを、設置スペースＳから、ロボットハンド３により把持して取り出す。これにより、取り出された対象物１ｇについて、下記表９のように、「取り出しフラグ」を「０」から「１」に変更する。
【００６６】
【表９】
0005936108.tif 000010
【００６７】
次いで、ステップＳ７において、ステップＳ５において取り出し順序に組み入れなかった対象物１ｆ，１ｈを、順に、ロボットハンド３により、設置スペースＳから把持して取り出す。なお、この後、取り出していない対象物１ａ，１ｅが残る。これらの対象物１ａ，１ｅは、ロボットハンド３により取り出せない対象物１となる。すなわち、対象物１ａは、障害物８のために取り出すことができず、対象物１ｅは、対象物１ａの真下にあるので、その位置が認識されないことにより取り出すことができない。
【００６８】
上述した本発明の実施形態によると、以下の効果が得られる。
【００６９】
ステップＳ４の干渉度判定において判定が否定された対象物１は取り出し順序に組み入れないので、対象物１を実際に把持して取り出す時に、対象物１が隣接する他の対象物１に干渉する可能性が小さくなる。
【００７０】
また、上方に位置する対象物１から干渉度判定を行う。上方に位置する対象物１ほど、干渉度判定が否定される可能性が小さくなる。例えば、図３（Ａ）において、対象物１ｂ，１ｄが存在しない場合には、最初に、対象物１ｃに対して干渉度判定が行われる。この対象物１ｃに隣接する対象物１は存在しないので、対象物１ｃの干渉度判定は肯定される。
このように、干渉度判定が否定される可能性を小さくできるので、干渉度判定が肯定された対象物１を取り出し順序に効率よく組み入れることができる。
【００７１】
よって、対象物１を把持して取り出す時に、この対象物１が隣接する対象物１に干渉する可能性を小さくし、かつ、対象物１の取り出し順序を効率よく定めることができる。
【００７２】
本発明は上述した実施の形態に限定されず、本発明の要旨を逸脱しない範囲で種々変更を加え得ることは勿論である。例えば、次の変更例１〜７のいずれかを単独で採用してもよいし、変更例１〜７を任意に組み合わせて採用してもよい。この場合、以下で説明しない点は、上述と同様である。
【００７３】
（変更例１）
ステップＳ２において、把持順決定装置７は、ステップＳ１で位置が認識された複数の対象物１を、上述とは異なる方法で順に選択してもよい。
例えば、把持順決定装置７は、ステップＳ１で位置が認識された複数の対象物１を、これらの対象物１の当該位置がそれぞれ記憶されている複数のメモリ要素の配列順序に従って選択してもよい。なお、複数のメモリ要素は、把持順決定装置７の記憶部を構成する。
代わりに、把持順決定装置７は、ステップＳ１でその位置が認識された順に、複数の対象物１を選択してもよい。
【００７４】
（変更例２）
上述では、取り出し順序に組み入れた複数の対象物１を把持して取り出した後に、新たに、ステップＳ１で、対象物１を認識していた。この代わりに、上述のステップＳ６において、ステップＳ５で定められた取り出し順序において１番目の対象物１を把持して取り出したら、ステップＳ７を省略してステップＳ１へ戻ってもよい。すなわち、ステップＳ６において、取り出し順序において２番目以降の対象物１を把持して取り出すことなく、ステップＳ１へ戻る。この時、取り出し順序において１番目の対象物１についてのみ、「取り出しフラグ」を「０」から「１」に変更する。これにより、取り出し順序において１番目の対象物１の下にある対象物１を、次のステップＳ１で認識できる。
【００７５】
このような処理により、取り出しにくい対象物１が優先して取り出されるようになる。これにより、以降において、対象物１をより円滑に取り出せる可能性が高くなる。
【００７６】
（変更例３）
障害物８が存在しない場合には、ステップＳ３の障害物判定を省略してよい。
【００７７】
（変更例４）
対象物１は、図６に示す形状を有するものであってもよい。図６（Ｂ）は、図６（Ａ）のＢ−Ｂ線矢視図である。図６に示す対象物１は、中央部２５と、中央部２５に結合され中央部２５の両側に位置する側部２７とを有する。また、図６の対象物１を把持する把持部４は、対象物１を吸引することにより、対象物１を吸着して把持する吸引装置である（図７を参照）。
【００７８】
この対象物１には、例えば、図６に示すように、把持位置Ｐ１〜Ｐ６が設定されている。把持位置Ｐ１，Ｐ２，Ｐ３には、基準値よりも高い優先度が設定されており、把持位置Ｐ４，Ｐ５，Ｐ６には、前記基準値よりも低い優先度が設定されている。すなわち、基準値よりも高い優先度の把持位置Ｐ１，Ｐ２またはＰ３が把持可能な姿勢（例えば、図７の対象物１ａの姿勢）を対象物１がとっている状態においては、この対象物１の下側部分が、水平方向に突出する部分を有さず、かつ、斜め上方に突出する部分を有さないようになっている。一方、基準値より低い優先度の把持位置Ｐ４，Ｐ５またはＰ６が把持可能な姿勢（例えば、図７の対象物１ｂの姿勢）を対象物１がとっている状態においては、この対象物１の下側部分が、水平方向または斜め上方に突出する部分を有するようになっている。
なお、この例では、把持位置Ｐ１〜Ｐ６のうち、優先度は、把持位置Ｐ１が最も高く、把持位置Ｐ２、Ｐ３がその次に高く、把持位置Ｐ４、Ｐ５がその次に高く、把持位置Ｐ６が最も低い。なお、把持位置Ｐ２，Ｐ３の優先度は同じ値であり、把持位置Ｐ４，Ｐ５の優先度は同じ値であってよい。
【００７９】
上述のステップＳ１において位置と姿勢が認識された対象物１において、図６のように、把持可能な複数の把持位置がある場合には、これらの把持位置の優先度のうち最も高い優先度が、ステップＳ４の干渉度判定において、比較される。すなわち、干渉度判定において、ステップＳ２で選択された対象物１において把持可能な１つまたは複数の把持位置の優先度のうち最も高い優先度が、この対象物１に隣接する他の対象物１において把持可能な１つまたは複数の把持位置の優先度のうち最も高い優先度以上であるかを判定する。
また、ステップＳ６，Ｓ７において、ロボットハンド３は、対象物１における把持可能な複数の把持位置のうち、最も高い優先度の把持位置で対象物１を把持することにより、対象物１を取り出す。
【００８０】
（変更例５）
上述のステップＳ２の後であってステップＳ４の前において、ステップＳ２の障害物判定に加えて、または、この障害物判定の代わりに、把持順決定装置７は、次の姿勢判定、高さ判定および一致度判定の１つまたは複数を行ってもよい。
【００８１】
姿勢判定では、ステップＳ２で選択された各対象物１について、ステップＳ１で認識された対象物１の姿勢が、把持可能な姿勢範囲内にあるかを判定する。この姿勢判定において、その姿勢が把持可能な姿勢範囲内にないと判定された対象物１については、ステップＳ４の干渉度判定を行わない。すなわち、姿勢判定で、その姿勢が把持可能な姿勢範囲内にあると判定された対象物１について、ステップＳ２で選択された順にステップＳ４を行う。
【００８２】
このような姿勢判定は、図４に示す対象物１の場合には、例えば図８（Ａ）または図８（Ｂ）のように、鉛直方向Ｄｚに対する対象物１の基準直線（軸）Ｘの傾き角度θが、上限角度（例えば４５度）以下である場合には、対象物１の姿勢は把持可能な範囲内にあると判定し、そうでない場合には、対象物１の姿勢は把持可能な範囲内にないと判定する。図８（Ａ）と図８（Ｂ）で例示されている対象物１は、図４に示す対象物１と同じものである。なお、傾き角度θは、０度より大きく９０度より小さい角度として定義される。
【００８３】
図４に示す対象物１の場合には、基準直線Ｘは、次のように定義されてよい。対象物１の基準直線Ｘが鉛直方向Ｄｚを向いている場合に、把持部４の爪１９、２１を、鉛直方向Ｄｚに上方から対象物１の穴１８に挿入することにより、鉛直方向Ｄｚに関して、対象物１の把持位置Ｐ１またはＰ２に把持部４の爪１９、２１を位置決めできる。この位置決めにより、把持部４が対象物１に当たって対象物１を動かすことはない。次いで、爪１９、２１を水平方向に開くことにより、把持部４の爪１９、２１により対象物１を把持できる。
【００８４】
高さ判定では、ステップＳ２で選択された各対象物１について、ステップＳ１で認識された対象物１の高さ（位置）が、制限高さより高いかを判定する。この高さ判定において、その高さが、制限高さより高くないと判定された対象物１については、ステップＳ４の干渉度判定を行わない。すなわち、高さ判定で、対象物１の高さが制限高さより高いと判定された対象物１について、ステップＳ２で選択された順にステップＳ４を行う。
【００８５】
このような高さ判定において、対象物１の高さが制限高さより高いと判定された対象物１が１つもない場合には、制限高さを、設定量だけ低くして、高さ判定を再び行う。このように、ステップＳ２の後であってステップＳ４の前において、ステップＳ２で選択された対象物１のうち、１つ以上（好ましくは、２つ以上）の対象物１の高さが制限高さより高いと判定されるまで、高さ判定と、制限高さを設定量だけ低くすることとを、順に繰り返す。
【００８６】
一致度判定では、ステップＳ２で選択された各対象物１について、ステップＳ１で認識された対象物１の３次元的な形状とモデル形状との一致度が、しきい値以上であるかを判定する。モデル形状は、予め作成されたデータであり、対象物１の３次元形状を表す。
【００８７】
この一致度判定において、ステップＳ１で認識された対象物１の３次元的な形状とモデル形状との一致度が、しきい値より高くないと判定された対象物１については、ステップＳ４の干渉度判定を行わない。すなわち、一致度判定で、その３次元的な形状とモデル形状との一致度がしきい値より高いと判定された対象物１について、ステップＳ２で選択された順にステップＳ４を行う。なお、一致度の値が高いほど、認識された対象物１の３次元的な形状とモデル形状とは、より高く一致している。
【００８８】
一致度は、次のように求められてよい。仮想的な３次元空間において、認識された対象物１の３次元的な形状と、モデル形状とを、互いに対して回転および併進させることにより、両者を最も一致させる。この状態における両者が一致している度合いを一致度とする。
【００８９】
（変更例６）
上述のステップＳ４において、選択された対象物１において把持可能な把持位置の優先度が、この対象物１に隣接する他の対象物１において把持可能な把持位置の優先度と同じである場合には、次のようにしてもよい。すなわち、当該選択された対象物１の基準直線Ｘと鉛直方向とのなす角度が、当該他の対象物１の基準直線Ｘと鉛直方向とのなす角度より大きい場合には、把持順決定装置７は、ステップＳ５において、当該選択された対象物１を取り出し順序に組み入れないようにする。
【００９０】
ここでの基準直線Ｘは、次のように定義される。すなわち、その基準直線Ｘが鉛直方向を向いている姿勢で、対象物１が水平面に置かれた場合に、対象物１は、この姿勢のままで、水平面によってのみ支持される。
【００９１】
（変更例７）
上述のステップＳ７を省略してもよい。この場合、ステップＳ６を終えたら、ステップＳ１へ戻り、ステップＳ１〜Ｓ６を再び行う。
【符号の説明】
【００９２】
１，１ａ〜１ｈ  対象物、３  ロボットハンド、４  把持部、５  認識装置、７  把持順決定装置、８  障害物、９  制御装置、１０  対象物取り出し装置、１１ａ〜１１ｄ  リンク、１３ａ〜１３ｃ  関節、１５  設置台、１７  フランジ部、１８  対象物の穴、１９，２１  爪  、２３  内周面、２５  中央部、２７  側部、Ｓ  設置スペース
【図１】
0005936108.tif 000011
【図２】
0005936108.tif 000012
【図３】
0005936108.tif 000013
【図４】
0005936108.tif 000014
【図５】
0005936108.tif 000015
【図６】
0005936108.tif 000016
【図７】
0005936108.tif 000017
【図８】
0005936108.tif 000018