(57)【特許請求の範囲】
【請求項１】
複数の取り出し部位を備える物品の位置・姿勢情報に基づいて、前記複数の取り出し部位にそれぞれ設定された把持方向のうち、所定の方向となす角度が最小となる把持方向を選択方向として選択する方向選択部と、
前記選択方向が設定された取り出し部位が１つだけ存在する場合には、当該１つの取り出し部位を選択部位とし、前記選択方向が設定された取り出し部位が複数存在する場合には当該複数存在する取り出し部位のうち、前記所定の方向の高さが最も高い取り出し部位を選択部位として選択する部位選択部と、
前記選択部位として設定された取り出し部位を把持して前記所定の方向に前記物品を取り出すようにロボットを制御する制御部と、
を有することを特徴とするロボット制御装置。
【請求項２】
複数の取り出し部位を備える物品の位置・姿勢情報に基づいて、前記複数の取り出し部位にそれぞれ設定された把持方向のうち、所定の方向となす角度が最小となる把持方向を選択方向として選択する方向選択部と、
前記複数の取り出し部位には、それぞれ優先順位が設定され、
前記選択方向が設定された取り出し部位が複数存在する場合に、当該複数存在する取り出し部位のうち、前記優先順位が最も高い取り出し部位を選択部位とし、さらに当該優先順位が最も高い取り出し部位が複数存在する場合には、前記所定方向の高さが最も高い取り出し部位を選択部位として選択する部位選択部と、
前記選択部位として設定された取り出し部位を把持して前記所定の方向に前記物品を取り出すようにロボットを制御する制御部と、
を有することを特徴とするロボット制御装置。
【請求項３】
前記物品を認識して、ワールド座標系における前記物品の位置・姿勢情報を算出する認識処理部と、
前記物品のローカル座標系における、前記複数の取り出し部位の位置・姿勢情報および前記把持方向が入力される入力部と、
前記ワールド座標系における前記物品の位置・姿勢情報と前記ローカル座標系における前記複数の取り出し部位の位置・姿勢情報とに基づいて、前記ワールド座標系における前記複数の取り出し部位の位置・姿勢情報を算出する座標算出部と、
をさらに有し、
前記制御部は、前記ワールド座標系における前記複数の取り出し部位の位置・姿勢情報に基づいて、前記物品を取り出すように前記ロボットを制御することを特徴とする請求項１または２に記載のロボット制御装置。
【請求項４】
請求項３に記載のロボット制御装置と、
前記物品の３次元情報を取得する３次元情報取得装置と、
前記制御部の制御によって前記物品を取り出す前記ロボットと、
を備え、
前記認識処理部は、前記３次元情報に基づいて前記物品の位置・姿勢情報を算出することを特徴とする物品取り出しシステム。
【請求項５】
複数の取り出し部位を備える物品を、前記複数の取り出し部位の何れかを把持して所定の取り出し方向に前記物品を取り出すようにロボットを制御する制御部を備え、前記物品の位置・姿勢情報と、前記複数の取り出し部位の位置・姿勢情報と、前記複数の取り出し部位にそれぞれ設定された把持方向と、が入力されるコンピュータに、
前記物品の位置・姿勢情報に基づいて、前記把持方向のうち、所定の方向となす角度が最小となる把持方向を選択方向として選択する機能と、
前記選択方向が設定された取り出し部位が１つだけ存在する場合には、当該１つの取り出し部位を選択部位とし、前記選択方向が設定された取り出し部位が複数存在する場合には当該複数存在する取り出し部位のうち、前記所定の方向の高さが最も高い取り出し部位を選択部位として選択する機能と、
前記選択部位として設定された取り出し部位の位置・姿勢情報を前記制御部に入力する機能と、
を実現させるためのプログラム。
【請求項６】
複数の取り出し部位を備える物品を、前記複数の取り出し部位の何れかを把持して所定の取り出し方向に前記物品を取り出すようにロボットを制御する制御部を備え、前記物品の位置・姿勢情報と、前記複数の取り出し部位の位置・姿勢情報と、前記複数の取り出し部位にそれぞれ設定された把持方向と、が入力されるコンピュータに、
前記物品の位置・姿勢情報に基づいて、前記把持方向のうち、所定の方向となす角度が最小となる把持方向を選択方向として選択する機能と、
前記複数の取り出し部位には、それぞれ優先順位が設定され、前記選択方向が設定された取り出し部位が複数存在する場合に、当該複数存在する取り出し部位のうち、前記優先順位が最も高い取り出し部位を選択部位とし、さらに当該優先順位が最も高い取り出し部位が複数存在する場合には、前記所定方向の高さが最も高い取り出し部位を選択部位として選択する機能と、
前記選択部位として設定された取り出し部位の位置・姿勢情報を前記制御部に入力する機能と、
を実現させるためのプログラム。
【請求項７】
複数の取り出し部位を備える物品の位置・姿勢情報に基づいて、前記複数の取り出し部位にそれぞれ設定された把持方向のうち、所定の方向となす角度が最小となる把持方向を選択方向として選択し、
前記選択方向が設定された取り出し部位が１つだけ存在する場合には、当該１つの取り出し部位を選択部位とし、前記選択方向が設定された取り出し部位が複数存在する場合には当該複数存在する取り出し部位のうち、前記所定の方向の高さが最も高い取り出し部位を選択部位として選択し、
前記選択部位として設定された取り出し部位を把持して前記所定の方向に前記物品を取り出すようにロボットを制御することを特徴とするロボットの制御方法。
【請求項８】
複数の取り出し部位を備える物品の位置・姿勢情報に基づいて、前記複数の取り出し部位にそれぞれ設定された把持方向のうち、所定の方向となす角度が最小となる把持方向を選択方向として選択し、
前記複数の取り出し部位には、それぞれ優先順位が設定され、前記選択方向が設定された取り出し部位が複数存在する場合に、当該複数存在する取り出し部位のうち、前記優先順位が最も高い取り出し部位を選択部位とし、さらに当該優先順位が最も高い取り出し部位が複数存在する場合には、前記所定方向の高さが最も高い取り出し部位を選択部位として選択し、
前記選択部位として設定された取り出し部位を把持して前記所定の方向に前記物品を取り出すようにロボットを制御することを特徴とするロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、物品取り出しシステム、プログラム、およびロボットの制御方法に関する。
【背景技術】
【０００２】
近年、工場の製造ラインなどにおいて様々な産業用ロボットが用いられている。特に、（垂直）多関節ロボットは、人間の腕に近い構造をしているため、種々の作業を人間に代わって行うことができる。  
例えば、特許文献１では、カメラによって撮像された物品（ワーク）の画像から単純形状の特定部位を検出し、当該特定部位との相対位置関係に基づいて算出される取り出し部位（ピッキング部位）をロボットハンドによって把持してピックアップするピッキング装置が開示されている。  
このようにして、カメラによって撮像された画像からワークを認識して、ワークを取り出すことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１３４７３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えばトレイに山積みまたはバラ積みしてワークを供給する場合、各ワークがランダムな姿勢をとることとなる。そのため、特許文献１のピッキング装置では、特定部位がカメラの方向を向いておらず、認識することができないワークが存在する場合がある。さらに、ピッキング部位がロボットハンドの接近方向を向いておらず、把持することができないワークが存在する場合もある。
【課題を解決するための手段】
【０００５】
前述した課題を解決する主たる本発明は、複数の取り出し部位を備える物品の位置・姿勢情報に基づいて、前記複数の取り出し部位にそれぞれ設定された把持方向のうち、所定の方向となす角度が最小となる把持方向を選択方向として選択する方向選択部と、前記選択方向が設定された取り出し部位が１つだけ存在する場合には、当該１つの取り出し部位を選択部位とし、前記選択方向が設定された取り出し部位が複数存在する場合には当該複数存在する取り出し部位のうち、前記所定の方向の高さが最も高い取り出し部位を選択部位として選択する部位選択部と、前記選択部位として設定された取り出し部位を把持して前記所定の方向に前記物品を取り出すようにロボットを制御する制御部と、を有することを特徴とするロボット制御装置である。
【０００６】
本発明の他の特徴については、添付図面及び本明細書の記載により明らかとなる。
【発明の効果】
【０００７】
本発明によれば、物品の姿勢がランダムであっても、ロボットを用いて取り出し部位を把持して、物品を取り出すことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態におけるロボット制御装置の構成を示すブロック図である。
【図２】本発明の一実施形態におけるロボット制御装置を備えた物品取り出しシステム全体の構成の概略を示すブロック図である。
【図３】ワークの形状の一例を示す斜視図である。
【図４】図３に示したワークにおける取り出し部位の配置の一例を示す図である。
【図５】入力部１３に入力される各取り出し部位の相対座標および把持方向の一例を示す図である。
【図６】方向選択部１４、座標算出部１５、部位選択部１６、および制御部１７の機能をコンピュータに実現させるためのプログラムの動作を説明するフローチャートである。
【図７】選択方向Ｄｓを選択する方法を説明する図である。
【図８】選択方向Ｄｓを選択する方法を説明する図である。
【図９】選択部位Ｐｓを選択する方法を説明する図である。
【図１０】入力部１３に入力される各取り出し部位の相対座標、把持方向、および優先順位の一例を示す図である。
【発明を実施するための形態】
【０００９】
本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。
【００１０】
＝＝＝物品取り出しシステム全体の構成の概略＝＝＝
以下、図２ないし図４を参照して、後述する本発明の一実施形態におけるロボット制御装置を備えた物品取り出しシステム全体の構成の概略について説明する。
【００１１】
図２に示されている物品取り出しシステムは、ロボット制御装置１、ステレオカメラ２、および多関節ロボット３を含んで構成され、一例として、トレイ９に収納された５つのワークＷｎ（１≦ｎ≦５）を取り出し対象とする。
【００１２】
各ワークＷｎは、例えば図３に示す形状をしており、トレイ９内でランダムな姿勢をとっているものとする。また、各ワークＷｎは、例えば図４に示すように、７つの把持可能な取り出し部位Ｐｍ（１≦ｍ≦７）を備えている。ここで、各取り出し部位Ｐｍは、実際には、多関節ロボット３によって把持される際にハンド３１が接触する２点からなり、当該２点を結ぶ線分の中点の座標で表すことができる。
【００１３】
なお、図４において、取り出し部位Ｐ１ないしＰ６は、多関節ロボット３のハンド３１を閉じることによってワークＷｎを持ち上げることが可能となるのに対して、取り出し部位Ｐ７は、ハンド３１を開くことによってワークＷｎを持ち上げることが可能となる。本明細書においては、ハンド３１を閉じる場合および開く場合のいずれも「把持」と称することとする。
【００１４】
ステレオカメラ２は、トレイ９が据え置かれる作業台などの上方に配置されている。また、ステレオカメラ２から出力される３次元情報ＩＭＧは、ロボット制御装置１に入力されている。さらに、ロボット制御装置１から出力される制御信号ＣＮＴは、多関節ロボット３に入力されている。
【００１５】
なお、図２において、「Σ０」は、例えば多関節ロボット３の基端を原点とするワールド座標系を示し、ｘ（Σ０）、ｙ（Σ０）、ｚ（Σ０）は、それぞれワールド座標系のｘ軸、ｙ軸、ｚ軸を示している。一方、図４において、「ΣＷ」は、例えばワークＷｎの任意の点（重心など）を原点とするローカル座標系を示し、Ｘ（ΣＷ）、Ｙ（ΣＷ）、Ｚ（ΣＷ）は、それぞれローカル座標系のＸ軸、Ｙ軸、Ｚ軸を示している。
【００１６】
ここで、
0005879704.tif 000002
と表される４行４列の同次変換行列を用いて、ワークＷｎの位置および姿勢をＴＷｎと表すこととすると、各ワークＷｎ（の原点）のワールド座標系における位置および姿勢を示す同次変換行列（位置・姿勢情報）は、Σ０ＴＷｎと表すことができる。以下、このような同次変換行列で示されるワールド座標系における位置および姿勢を、座標Σ０ＴＷｎのように称することとする。
【００１７】
なお、同次変換行列において、Ｐ（３×１）は、位置（平行移動）を示す３行１列の行列であり、
0005879704.tif 000003
と表すことができる。一方、Ｒ（３×３）は、姿勢（各座標軸を中心とする回転）を示す３行３列の行列であり、例えば図２に示すように、ｘ軸回りにθｘ、ｙ軸回りにθｙ、ｚ軸回りにθｚだけ回転させた場合には、
0005879704.tif 000004
と表されるＲｘ、Ｒｙ、およびＲｚの積として表すことができる。
【００１８】
また、取り出し部位Ｐｍの位置および姿勢をＴＰｍと表すこととすると、各取り出し部位ＰｍのワークＷｎの原点から見た相対的な位置および姿勢を示す同次変換行列（位置・姿勢情報）は、ΣＷＴＰｍと表すことができる。以下、このような同次変換行列で示される相対的な位置および姿勢を、相対座標ΣＷＴＰｍのように称することとする。
【００１９】
＝＝＝物品取り出しシステム全体の動作の概略＝＝＝
以下、物品取り出しシステム全体の動作の概略について説明する。  
ステレオカメラ２は、３次元情報取得装置に相当し、トレイ９が据え置かれる作業台などのカメラエリアにあるワークＷｎを撮影し、３次元情報ＩＭＧを出力する。また、ロボット制御装置１は、３次元情報ＩＭＧに基づいて制御信号ＣＮＴを出力する。そして、多関節ロボット３は、制御信号ＣＮＴに応じて制御され、トレイ９内のワークＷｎをハンド３１によって把持して１つずつ取り出す。  
このようにして、ステレオカメラ２によって取得した３次元情報ＩＭＧに基づいて多関節ロボット３を制御し、トレイ９内のワークＷｎを１つずつ取り出すことができる。
【００２０】
＝＝＝ロボット制御装置の構成＝＝＝
以下、図１を参照して、本発明の一実施形態におけるロボット制御装置の構成について説明する。
【００２１】
図１に示されているロボット制御装置１は、認識処理部１１、記憶部１２、入力部１３、方向選択部１４、座標算出部１５、部位選択部１６、および制御部１７を含んで構成されている。
【００２２】
認識処理部１１には、３次元情報ＩＭＧが入力され、認識処理部１１から出力される各ワークＷｎの座標Σ０ＴＷｎは、記憶部１２に入力されている。また、入力部１３に入力される取り出し部位情報ＩＮＦは、各取り出し部位Ｐｍの相対座標ΣＷＴＰｍおよび把持方向Ｄｍとして記憶部１２に入力されている。
【００２３】
方向選択部１４には、記憶部１２からワークＷｎの座標Σ０ＴＷｎが入力され、方向選択部１４から出力される選択方向Ｄｓは、座標算出部１５に入力されている。また、座標算出部１５には、記憶部１２からワークＷｎの座標Σ０ＴＷｎおよび後述する取り出し部位Ｐｋの相対座標ΣＷＴＰｋも入力されている。さらに、部位選択部１６には、座標算出部１５から取り出し部位Ｐｋの座標Σ０ＴＰｋが入力され、部位選択部１６から出力される選択部位Ｄｓは、座標算出部１５に入力されている。そして、制御部１７には、座標算出部１５から選択部位Ｐｓの座標Σ０ＴＰｓが入力され、制御部１７からは、制御信号ＣＮＴが出力されている。
【００２４】
＝＝＝ロボット制御装置の動作＝＝＝
以下、図５ないし図７を適宜参照して、本実施形態におけるロボット制御装置の動作について説明する。
【００２５】
認識処理部１１は、ステレオカメラ２によって取得した３次元情報ＩＭＧに基づいて位置・姿勢認識処理を行い、各ワークＷｎの座標Σ０ＴＷｎを算出する。具体的には、例えば、３次元（画像）情報ＩＭＧからエッジを抽出し、図３に示したような１つのワークの３次元情報（３Ｄ−ＣＡＤデータなど）とのマッチングを行うことによって、各ワークＷｎを認識して座標Σ０ＴＷｎを算出する。そして、各ワークＷｎの座標Σ０ＴＷｎは、記憶部１２に記憶される。
【００２６】
入力部１３には、ワークＷｎの取り出し部位情報ＩＮＦが入力される。ここで、取り出し部位情報ＩＮＦは、例えば図５に示すように、各取り出し部位Ｐｍの相対座標ΣＷＴＰｍと、各取り出し部位Ｐｍに設定された把持方向Ｄｍとからなり、これらは記憶部１２に記憶される。
【００２７】
前述したように、各取り出し部位Ｐｍは、多関節ロボット３のハンド３１が接触する２点を結ぶ線分の中点の座標で表され、相対座標ΣＷＴＰｍは、当該中点のローカル座標系における位置および姿勢を示している。一方、把持方向Ｄｍは、取り出し部位Ｐｍを把持する際にハンド３１が接近してくる方向であり、ローカル座標系の各座標軸の方向で表される。例えば、取り出し部位Ｐ１を把持する場合には、ハンド３１をローカル座標系のＺ軸の正方向から接近させ、取り出し部位Ｐ４を把持する場合には、ハンド３１をローカル座標系のＸ軸の負方向から接近させることとなる。
【００２８】
ロボット制御装置１のうち、方向選択部１４、座標算出部１５、部位選択部１６、および制御部１７の機能は、例えば、認識処理部１１、記憶部１２、および入力部１３を備えるコンピュータによって実現することができる。図６は、方向選択部１４、座標算出部１５、部位選択部１６、および制御部１７に相当する機能をコンピュータに実現させるためのプログラムの動作を示している。
【００２９】
プログラムの処理が開始されると（Ｓ１）、各ワークＷｎ（１≦ｎ≦５）に対して、Ｓ２からＳ９までのループ処理が行われる。
【００３０】
ループ処理においては、まず、記憶部１２からワークＷｎの座標Σ０ＴＷｎを読み出す（Ｓ２）。そして、当該座標Σ０ＴＷｎに基づいて、各取り出し部位Ｐｍの把持方向Ｄｍの何れかを選択方向Ｄｓとして選択する（Ｓ３）。したがって、当該Ｓ３の処理は、方向選択部１４に相当する機能を実現する。
【００３１】
Ｓ３の処理においては、各取り出し部位Ｐｍの把持方向Ｄｍのうち、「所定の方向となす角度」が最小となる把持方向が選択方向Ｄｓとして選択される。
【００３２】
「所定の方向」としては、ワークＷｎを把持して取り出す際に、多関節ロボット３のハンド３１を接近させ、ワークＷｎを移動させるのに好適な方向を選択することができる。例えば、図２において、高さ方向（トレイ９の平面に垂直な方向）を「所定の方向」として選択することができる。また、例えば、トレイ９が据え置かれる作業台が傾斜している場合や、作業台の上方に配置されているステレオカメラ２が障害物となる場合などには、適宜斜め上方を「所定の方向」として選択してもよい。
【００３３】
また、本実施形態では、把持方向Ｄｍをローカル座標系の各座標軸の方向で表しているため、「所定の方向となす角度」は、ローカル座標系の各座標軸の単位ベクトル（正方向および負方向）が「所定の方向」の単位ベクトルとなす角度として計算することができる。なお、ローカル座標系の各座標軸の単位ベクトルは、ワークＷｎの（位置および）姿勢を示す座標Σ０ＴＷｎから求めることができる。
【００３４】
さらに、「所定の方向」をワールド座標系の何れかの座標軸の方向と一致させることによって、「所定の方向となす角度」の計算を省略することもできる。ここで、ワークＷｎの座標Σ０ＴＷｎを、
0005879704.tif 000005
と表すこととすると、Ａ、Ｂ、Ｃは、それぞれローカル座標系のＸ軸、Ｙ軸、Ｚ軸の単位ベクトル（正方向）のワールド座標系における姿勢を示している。そのため、例えば、「所定の方向」をワールド座標系のｚ軸の正方向と一致させ、ローカル座標系のＸ軸、Ｙ軸、Ｚ軸の単位ベクトル（正方向）がワールド座標系のｚ軸の単位ベクトル（正方向）となす角度をそれぞれθｉ、θｊ、θｋとすると、
ａｚ＝ｃｏｓθｉ、
ｂｚ＝ｃｏｓθｊ、
ｃｚ＝ｃｏｓθｋ
となる。
【００３５】
したがって、ａｚ、ｂｚ、ｃｚのそれぞれの正負および絶対値の大きさから、「所定の方向となす角度」が最小となる把持方向、すなわち、選択方向Ｄｓを求めることができる。例えば、ワークＷｎが図７に示すような姿勢をとっている場合には、｜ｃｚ｜＞｜ａｚ｜、かつ｜ｃｚ｜＞｜ｂｚ｜、かつｃｚ＞０となり、ローカル座標系のＺ軸の正方向が選択方向Ｄｓとして選択される（Ｄｓ＝Ｚ）。また、例えば、ワークＷｎが図８に示すような姿勢をとっている場合には、｜ｂｚ｜＞｜ａｚ｜、かつ｜ｂｚ｜＞｜ｃｚ｜、かつｂｚ＜０となり、ローカル座標系のＹ軸の負方向が選択方向Ｄｓとして選択される（Ｄｓ＝−Ｙ）。
【００３６】
次に、記憶部１２から、取り出し部位Ｐｍのうち、把持方向Ｄｍとして選択方向Ｄｓが設定された取り出し部位Ｐｋの相対座標ΣＷＴＰｋを読み出す（Ｓ４）。そして、ワークＷｎの座標Σ０ＴＷｎおよび取り出し部位Ｐｋの相対座標ΣＷＴＰｋから、取り出し部位Ｐｋの座標Σ０ＴＰｋを、
（Σ０ＴＰｋ）＝（Σ０ＴＷｎ）（ΣＷＴＰｋ）
と算出する（Ｓ５）。したがって、当該Ｓ５の処理は、座標算出部１５に相当する機能を実現する。
【００３７】
次に、把持方向Ｄｍとして選択方向Ｄｓが設定された取り出し部位Ｐｋが複数存在する場合（Ｓ６：ＹＥＳ）には、Ｓ５の処理において算出された座標Σ０ＴＰｋに基づいて、複数存在する取り出し部位Ｐｋの何れかを選択部位Ｐｓとして選択する（Ｓ７）。したがって、当該Ｓ７の処理は、部位選択部１６に相当する機能を実現する。ここで、一例として、選択方向Ｄｓ＝Ｚであるものとすると、把持方向Ｄｍとして選択方向Ｄｓ（＝Ｚ）が設定された２つの取り出し部位Ｐ１およびＰ２が存在する。
【００３８】
Ｓ７の処理においては、複数存在する取り出し部位Ｐｋ（ｋ＝１または２）のうち、「所定の方向の高さ」が最も高い取り出し部位が選択部位Ｐｓとして選択される。なお、「所定の方向」は、Ｓ３の処理の場合と同一の方向であり、「所定の方向の高さ」は、ワールド座標系における取り出し部位Ｐｋの位置ベクトルの「所定の方向」への正射影として計算することができる。また、ワールド座標系における取り出し部位Ｐｋの位置ベクトルは、取り出し部位Ｐｋの位置（および姿勢）を示す座標Σ０ＴＰｋから求めることができる。
【００３９】
さらに、例えば、「所定の方向」をワールド座標系のｚ軸の正方向と一致させることによって、「所定の方向の高さ」の計算を省略することもできる。ここで、取り出し部位Ｐｋの座標Σ０ＴＰｋを、
0005879704.tif 000006
と表すこととすると、Ｄは、取り出し部位Ｐｋのワールド座標系における位置を示している。したがって、ｄｚが「所定の方向の高さ」を示し、例えば、ワークＷｎが図９に示すような姿勢をとっている場合には、取り出し部位Ｐ１またはＰ２のうち、取り出し部位Ｐ２が選択部位Ｐｓとして選択される（Ｐｓ＝Ｐ２）。
【００４０】
一方、Ｓ６において、把持方向Ｄｍとして選択方向Ｄｓが設定された取り出し部位Ｐｋが１つだけ存在する場合（Ｓ６：ＮＯ）には、当該１つの取り出し部位Ｐｋを選択部位Ｐｓとする（Ｓ８）。ここで、一例として、選択方向Ｄｓ＝Ｘであるものとすると、把持方向Ｄｍとして選択方向Ｄｓ（＝Ｘ）が設定された唯一の取り出し部位Ｐ３が存在する。
【００４１】
最後に、ワークＷｎの選択部位Ｐｓの座標Σ０ＴＰｓに基づいて制御信号ＣＮＴを出力し、選択部位Ｐｓを把持してワークＷｎを「所定の方向」に取り出すように多関節ロボット３を制御する（Ｓ９）。したがって、当該Ｓ９の処理は、制御部１７に相当する機能を実現する。なお、選択方向Ｄｓは、「所定の方向となす角度」が最小となる把持方向であるので、ワークＷｎを選択方向Ｄｓに取り出すように多関節ロボット３を制御してもよい。
【００４２】
そして、Ｓ２からＳ９までのループ処理を各ワークＷｎに対して行うことによって、ワークＷ１ないしＷ５をすべて取り出すことができ、処理を終了する（Ｓ１０）。
【００４３】
このようにして、ロボット制御装置１は、把持方向Ｄｍとして選択方向Ｄｓが設定された取り出し部位Ｐｋを把持してワークＷｎを取り出すように多関節ロボット３を制御する。そして、各ワークＷｎは複数の取り出し部位Ｐｍを備えているため、ワークＷｎ姿勢がランダムであっても、多関節ロボット３は、ハンド３１によって何れかの取り出し部位を把持して、ワークＷｎを取り出すことができる。
【００４４】
また、ロボット制御装置１は、ワークＷｎの各取り出し部位Ｐｍの把持方向Ｄｍのうち、「所定の方向となす角度」が最小となる把持方向を選択方向Ｄｓとして選択している。そして、作業台の傾斜や障害物の配置などを考慮して、多関節ロボット３のハンド３１を接近させ、ワークＷｎを移動させるのに好適な方向を「所定の方向」として選択することによって、多関節ロボット３の動作可能範囲を広く取ることができる。
【００４５】
さらに、ロボット制御装置１は、取り出し部位Ｐｋが複数存在する場合には、当該複数存在する取り出し部位Ｐｋのうち、「所定の方向の高さ」が最も高い取り出し部位を選択部位Ｐｓとして選択している。したがって、ワークＷｎに多関節ロボット３のハンド３１が接近する際に、他のワークとの干渉を抑制することができる。
【００４６】
なお、取り出し部位Ｐｋが複数存在する場合の選択部位Ｐｓの選択方法として、他の方法を用いてもよい。例えば図１０に示すように、各取り出し部位Ｐｍに優先順位Ｒｍをさらに設定し、図６のＳ７の処理において、当該優先順位Ｒｍに基づいて選択部位Ｐｓを選択してもよい。また、この場合において、優先順位Ｒｍが同じ取り出し部位Ｐｋが複数存在する場合には、さらに「所定の方向の高さ」に基づいて選択部位Ｐｓを選択してもよい。
【００４７】
前述したように、ロボット制御装置１において、ワークＷｎ（物品）の各取り出し部位Ｐｍの把持方向Ｄｍのうち、「所定の方向となす角度」が最小となる把持方向を選択方向Ｄｓとして選択し、把持方向Ｄｍとして選択方向Ｄｓが設定された取り出し部位Ｐｋを把持してワークＷｎを取り出すように多関節ロボット３を制御することによって、ワークＷｎ姿勢がランダムであっても、多関節ロボット３のハンド３１によって何れかの取り出し部位を把持して、ワークＷｎを取り出すことができる。
【００４８】
また、把持方向Ｄｍとして選択方向Ｄｓが設定された取り出し部位Ｐｋが複数存在する場合に、当該複数存在する取り出し部位Ｐｋのうち、「所定の方向の高さ」が最も高い取り出し部位が選択部位Ｐｓとして選択し、選択部位Ｐｓを把持してワークＷｎを取り出すように多関節ロボット３を制御することによって、ワークＷｎに多関節ロボット３のハンド３１が接近する際に、他のワークとの干渉を抑制することができる。
【００４９】
また、各取り出し部位Ｐｍに優先順位Ｒｍをさらに設定することによって、当該優先順位Ｒｍに基づいて選択された選択部位Ｐｓを把持してワークＷｎを取り出すことができる。
【００５０】
また、ワークＷｎを把持して取り出す際に、多関節ロボット３のハンド３１を接近させ、ワークＷｎを移動させるのに好適な「所定の方向」に取り出すことによって、多関節ロボット３の動作可能範囲を広く取ることができる。
【００５１】
また、ワークＷｎを把持して取り出す際に、「所定の方向となす角度」が最小となる把持方向である選択方向Ｄｓに取り出すことによっても、多関節ロボット３の動作可能範囲を広く取ることができる。
【００５２】
また、ワールド座標系におけるワークＷｎの位置および姿勢を示す同次変換行列Σ０ＴＷｎと、ローカル座標系における取り出し部位Ｐｋの位置および姿勢を示す同次変換行列ΣＷＴＰｋとの積を、取り出し部位Ｐｋの座標Σ０ＴＰｋとして算出することによって、当該座標Σ０ＴＰｋに基づいて、取り出し部位Ｐｋを把持してワークＷｎを取り出すように多関節ロボット３を制御することができる。
【００５３】
また、図２に示した物品取り出しシステムにおいて、ステレオカメラ２によって取得した３次元情報ＩＭＧに基づいて位置・姿勢認識処理を行うことによって、各ワークＷｎの座標Σ０ＴＷｎを算出し、多関節ロボット３を制御してトレイ９内のワークＷｎを１つずつ取り出すことができる。
【００５４】
また、ロボット制御装置１の少なくとも方向選択部１４に相当する機能をコンピュータに実現させるためのプログラムにおいて、ワークＷｎが備える複数の取り出し部位Ｐｍにそれぞれ設定された把持方向Ｄｍのうち、「所定の方向となす角度」が最小となる把持方向を選択方向Ｄｓとして選択することによって、把持方向Ｄｍとして選択方向Ｄｓが設定された取り出し部位Ｐｋの座標Σ０ＴＰｋに基づいて多関節ロボット３を制御し、取り出し部位Ｐｋを把持してワークＷｎを取り出すことができる。
【００５５】
また、ワークＷｎが備える複数の取り出し部位Ｐｍにそれぞれ設定された把持方向Ｄｍのうち、「所定の方向となす角度」が最小となる把持方向を選択方向Ｄｓとして選択し、把持方向Ｄｍとして選択方向Ｄｓが設定された取り出し部位Ｐｋを把持してワークＷｎを取り出すように多関節ロボット３を制御することによって、ワークＷｎ姿勢がランダムであっても、多関節ロボット３のハンド３１によって何れかの取り出し部位を把持して、ワークＷｎを取り出すことができる。
【００５６】
なお、上記実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物も含まれる。
【００５７】
上記実施形態では、ステレオカメラ２を用いてトレイ９上のワークの３次元情報ＩＭＧを取得しているが、これに限定されるものではない。ステレオカメラ２の代わりに、例えばカメラおよびレーザスキャナを用いて３次元情報を取得してもよい。
【００５８】
上記実施形態では、ロボット制御装置１は、例えば図２に示した多関節ロボット３を制御対象としているが、これに限定されるものではない。ロボット制御装置１が制御するロボットは、ワークの選択部位Ｐｓを把持して取り出すことができればよく、他の形態のロボットであってもよい。
【００５９】
上記実施形態では、例えば図３に示した形状の５つのワークを取り出し対象としているが、これに限定されるものではない。トレイ９上には複数の種類のワークが混在していてもよく、この場合には、ワークの種類ごとに取り出し部位を設定すればよい。
【００６０】
上記実施形態では、方向選択部１４、座標算出部１５、部位選択部１６、および制御部１７の機能は、認識処理部１１、記憶部１２、および入力部１３を備えるコンピュータによって実現されているが、これに限定されるものではない。例えば、制御部１７には、公知の実装方法を用いることができるため、制御部１７をさらに備えるコンピュータに、図６のＳ９の処理において選択部位Ｐｓの座標Σ０ＴＰｓを出力するプログラムを搭載してもよい。また、例えば、認識処理部１１の位置・姿勢認識処理をさらに行うプログラムをコンピュータに搭載してもよい。
【符号の説明】
【００６１】
１          ロボット制御装置
２          ステレオカメラ（３次元情報取得装置）
３          多関節ロボット
９          トレイ
１１        認識処理部
１２        記憶部
１３        入力部
１４        方向選択部
１５        座標算出部
１６        部位選択部
１７        制御部
３１        ハンド
Ｗ１〜Ｗ５  ワーク
【図１】
0005879704.tif 000007
【図２】
0005879704.tif 000008
【図３】
0005879704.tif 000009
【図４】
0005879704.tif 000010
【図５】
0005879704.tif 000011
【図６】
0005879704.tif 000012
【図７】
0005879704.tif 000013
【図８】
0005879704.tif 000014
【図９】
0005879704.tif 000015
【図１０】
0005879704.tif 000016