(57)【要約】【課題】一度、把持不能と判定しても、把持対象物を把持することができるロボットハンドの制御装置を提供する。【解決手段】ロボットハンドの制御装置１３は、把持対象物Ｔの形状及び位置を特定する把持対象物特定手段１５と、障害物を特定する障害物特定手段１６と、ロボットハンド３の軌道を導出する軌道導出手段１７と、ロボットハンド３の把持手段が把持対象物Ｔと障害物との間に挿入可能か否かを判定する判定手段１８と、ロボットハンド３を制御する制御手段１９と、を備える。軌道導出手段１７は、ロボットハンド３の把持手段が把持対象物Ｔと障害物との間に挿入不能と判定されると、ロボットハンド３が把持対象物Ｔを障害物から離れる方向に転がすための軌道を導出する。【選択図】図３
2014138964.tif 000002
【特許請求の範囲】
【請求項１】
把持手段を有するロボットハンドの周辺情報を取得する周辺情報取得手段と、
複数の把持候補を示す情報が格納されたデータベースと、
前記周辺情報と前記把持候補を示す情報とに基づいて、把持対象物の形状及び位置を特定する把持対象物特定手段と、
前記周辺情報と前記把持対象物の形状及び位置を示す情報とに基づいて、障害物を特定する障害物特定手段と、
前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドの軌道を導出する軌道導出手段と、
前記ロボットハンドが前記把持対象物を把持するための軌道を示す情報に基づいて、前記ロボットハンドを制御したとき、前記ロボットハンドの把持手段が前記把持対象物と前記障害物との間に挿入可能か否かを、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて判定する判定手段と、
前記ロボットハンドの軌道を示す情報に基づいて、前記ロボットハンドを制御する制御手段と、を備え、
前記軌道導出手段は、前記ロボットハンドの把持手段が前記把持対象物と前記障害物との間に挿入不能と判定されると、前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を導出するロボットハンドの制御装置。
【請求項２】
前記ロボットハンドの把持手段の先端に設けられ、前記把持手段が前記把持対象物に印加する圧力値を検出する圧力検出手段を備え、
前記把持候補を示す情報には、許容する圧力値を示す情報を含み、
前記制御手段は、前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を示す情報に基づいて、前記ロボットハンドを制御するとき、前記圧力検出手段が検出する圧力値が前記許容する圧力値未満となるように、前記ロボットハンドを制御する請求項１に記載のロボットハンドの制御装置。
【請求項３】
前記軌道導出手段は、転がした後の前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記把持対象物を把持するための軌道を導出する請求項１又は２に記載のロボットハンドの制御装置。
【請求項４】
請求項１乃至３のいずれか１項に記載のロボットハンドの制御装置を備えるロボット。
【請求項５】
ロボットハンドの周辺情報を取得する工程と、
前記周辺情報と複数の把持候補を示す情報とに基づいて、把持対象物の形状及び位置を特定する工程と、
前記周辺情報と前記把持対象物の形状及び位置を示す情報とに基づいて、障害物を特定する工程と、
前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドが前記把持対象物を把持するための軌道を導出する工程と、
前記ロボットハンドが前記把持対象物を把持するための軌道を示す情報に基づいて、前記ロボットハンドを制御したとき、前記ロボットハンドが有する把持手段が前記把持対象物と前記障害物との間に挿入可能か否かを、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて判定する工程と、
前記ロボットハンドの把持手段が前記把持対象物と前記障害物との間に挿入不能と判定すると、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を導出する工程と、
前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を示す情報に基づいて、前記ロボットハンドを制御する工程と、
を備えるロボットハンドの制御方法。
【請求項６】
前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を示す情報に基づいて、前記ロボットハンドを制御するとき、前記ロボットハンドが前記把持対象物に印加する圧力値を検出する工程と、
前記圧力値が、前記把持対象物が許容する圧力値未満となるように、前記ロボットハンドを制御する請求項５に記載のロボットハンドの制御方法。
【請求項７】
転がした後の前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドが前記把持対象物を把持するための軌道を導出する請求項５又は６に記載のロボットハンドの制御方法。
【請求項８】
コンピュータに、
ロボットハンドの周辺情報を取得する処理と、
前記周辺情報と複数の把持候補を示す情報とに基づいて、把持対象物の形状及び位置を特定する処理と、
前記周辺情報と前記把持対象物の形状及び位置を示す情報とに基づいて、障害物を特定する処理と、
前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドが前記把持対象物を把持するための軌道を導出する処理と、
前記ロボットハンドが前記把持対象物を把持するための軌道を示す情報に基づいて、前記ロボットハンドを制御したとき、前記ロボットハンドが有する把持手段が前記把持対象物と前記障害物との間に挿入可能か否かを、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて判定する処理と、
前記ロボットハンドの把持手段が前記把持対象物と前記障害物との間に挿入不能と判定すると、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を導出する処理と、
前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を示す情報に基づいて、前記ロボットハンドを制御する処理と、
を実行させるロボットハンドの制御プログラム。
【請求項９】
コンピュータに、
前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を示す情報に基づいて、前記ロボットハンドを制御するとき、前記ロボットハンドが前記把持対象物に印加する圧力値を検出する処理と、
前記圧力値が、前記把持対象物が許容する圧力値未満となるように、前記ロボットハンドを制御する処理と、
を実行させる請求項８に記載のロボットハンドの制御プログラム。
【請求項１０】
コンピュータに、
転がした後の前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドが前記把持対象物を把持するための軌道を導出する処理を実行させる請求項８又は９に記載のロボットハンドの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットハンドの制御装置、制御方法並びに制御プログラム及びロボットに関する。
【背景技術】
【０００２】
ロボットハンドの制御装置は、自律的に把持対象物を特定して把持する構成とされている。ここで、特許文献１に開示されたロボットハンドの制御装置は、ロボットハンドの目標軌道と部材を把持した状態のロボットハンドの軌道とを比較し、ロボットハンドで把持している部材が把持可能な部材か否かを判定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２００９４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般的なロボットハンドの制御装置は、ロボットハンドによって把持対象物を把持するとき、ロボットハンドが周辺環境に接触しないように当該ロボットハンドの軌道が導出される。このとき、ロボットハンドと把持対象物の周辺の部材とが接触する可能性が高く、一度、把持不能と判定すると、把持対象物を把持することはない。
【０００５】
本発明は、このような問題を解決するためになされたものであり、一度、把持不能と判定しても、把持対象物を把持することができるロボットハンドの制御装置、制御方法並びに制御プログラム及びロボットを提供することを目的とするものである。
【課題を解決するための手段】
【０００６】
本発明の一形態に係るロボットハンドの制御装置は、把持手段を有するロボットハンドの周辺情報を取得する周辺情報取得手段と、複数の把持候補を示す情報が格納されたデータベースと、前記周辺情報と前記把持候補を示す情報とに基づいて、把持対象物の形状及び位置を特定する把持対象物特定手段と、前記周辺情報と前記把持対象物の形状及び位置を示す情報とに基づいて、障害物を特定する障害物特定手段と、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドの軌道を導出する軌道導出手段と、前記ロボットハンドが前記把持対象物を把持するための軌道を示す情報に基づいて、前記ロボットハンドを制御したとき、前記ロボットハンドの把持手段が前記把持対象物と前記障害物との間に挿入可能か否かを、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて判定する判定手段と、前記ロボットハンドの軌道を示す情報に基づいて、前記ロボットハンドを制御する制御手段と、を備え、前記軌道導出手段は、前記ロボットハンドの把持手段が前記把持対象物と前記障害物との間に挿入不能と判定されると、前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を導出する。
【０００７】
上述のロボットハンドの制御装置において、前記ロボットハンドの把持手段の先端に設けられ、前記把持手段が前記把持対象物に印加する圧力値を検出する圧力検出手段を備え、前記把持候補を示す情報には、許容する圧力値を示す情報を含み、前記制御手段は、前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を示す情報に基づいて、前記ロボットハンドを制御するとき、前記圧力検出手段が検出する圧力値が前記許容する圧力値未満となるように、前記ロボットハンドを制御することが好ましい。
【０００８】
上述のロボットハンドの制御装置において、前記軌道導出手段は、転がした後の前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記把持対象物を把持するための軌道を導出することが好ましい。
【０００９】
本発明の一形態に係るロボットは、上述のロボットハンドの制御装置を備える。
【００１０】
本発明の一形態に係るロボットハンドの制御方法は、ロボットハンドの周辺情報を取得する工程と、前記周辺情報と複数の把持候補を示す情報とに基づいて、把持対象物の形状及び位置を特定する工程と、前記周辺情報と前記把持対象物の形状及び位置を示す情報とに基づいて、障害物を特定する工程と、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドが前記把持対象物を把持するための軌道を導出する工程と、前記ロボットハンドが前記把持対象物を把持するための軌道を示す情報に基づいて、前記ロボットハンドを制御したとき、前記ロボットハンドが有する把持手段が前記把持対象物と前記障害物との間に挿入可能か否かを、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて判定する工程と、前記ロボットハンドの把持手段が前記把持対象物と前記障害物との間に挿入不能と判定すると、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を導出する工程と、前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を示す情報に基づいて、前記ロボットハンドを制御する工程と、を備える。
【００１１】
上述のロボットハンドの制御方法において、前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を示す情報に基づいて、前記ロボットハンドを制御するとき、前記ロボットハンドが前記把持対象物に印加する圧力値を検出する工程と、前記圧力値が、前記把持対象物が許容する圧力値未満となるように、前記ロボットハンドを制御することが好ましい。
【００１２】
上述のロボットハンドの制御方法において、転がした後の前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドが前記把持対象物を把持するための軌道を導出することが好ましい。
【００１３】
本発明の一形態に係るロボットハンドの制御プログラムは、コンピュータに、ロボットハンドの周辺情報を取得する処理と、前記周辺情報と複数の把持候補を示す情報とに基づいて、把持対象物の形状及び位置を特定する処理と、前記周辺情報と前記把持対象物の形状及び位置を示す情報とに基づいて、障害物を特定する処理と、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドが前記把持対象物を把持するための軌道を導出する処理と、前記ロボットハンドが前記把持対象物を把持するための軌道を示す情報に基づいて、前記ロボットハンドを制御したとき、前記ロボットハンドが有する把持手段が前記把持対象物と前記障害物との間に挿入可能か否かを、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて判定する処理と、前記ロボットハンドの把持手段が前記把持対象物と前記障害物との間に挿入不能と判定すると、前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を導出する処理と、前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を示す情報に基づいて、前記ロボットハンドを制御する処理と、を実行させる。
【００１４】
上述のロボットハンドの制御プログラムにおいて、コンピュータに、前記ロボットハンドが前記把持対象物を前記障害物から離れる方向に転がすための軌道を示す情報に基づいて、前記ロボットハンドを制御するとき、前記ロボットハンドが前記把持対象物に印加する圧力値を検出する処理と、前記圧力値が、前記把持対象物が許容する圧力値未満となるように、前記ロボットハンドを制御する処理と、を実行させることが好ましい。
【００１５】
上述のロボットハンドの制御プログラムにおいて、コンピュータに、転がした後の前記把持対象物の形状及び位置を示す情報と前記障害物の形状及び位置を示す情報とに基づいて、前記ロボットハンドが前記把持対象物を把持するための軌道を導出する処理を実行させることが好ましい。
【発明の効果】
【００１６】
以上、説明したように、本発明によると、一度、把持不能と判定しても、把持対象物を把持することができるロボットハンドの制御装置、制御方法並びに制御プログラム及びロボットを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１のロボットを概略的に示す図である。
【図２】実施の形態１のロボットのハードウェア系の構成ブロック図である。
【図３】実施の形態１のロボットにおける演算処理手段の構成ブロック図である。
【図４】実施の形態１のロボットハンドの制御装置の動作を示すフローチャート図である。
【図５】周辺情報取得手段によって取得した周辺情報である三次元点群を示す図である。
【図６】壁に対する法線ベクトルを説明する図である。
【図７】把持対象物をロボットハンドによって転がす際の当該ロボットハンドの把持対象物へのアプローチを概略的に示す図である。
【図８】把持対象物をロボットハンドによって転がす際の様子を概略的に示す図である。
【図９】把持対象物をロボットハンドによって転がす際の様子を概略的に示す図である。
【図１０】把持対象物が転がされて壁から十分に離れた状態を示す図である。
【図１１】把持対象物が転がされて壁から十分に離れてロボットハンドによって把持される様子を示す図である。
【図１２】実施の形態２のロボットのハードウェア系の構成ブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための最良の形態について、添付図面を参照しながら説明する。但し、本発明が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【００１９】
＜実施の形態１＞
先ず、本実施の形態のロボットハンドの制御装置（以下、単に制御装置と省略する場合がある。）が搭載されるロボットの外観構成を簡単に説明する。ここで、図１は、ロボットの外観を概略的に示す図である。
【００２０】
図１に示すように、ロボット１は、胴体部２、ロボットハンド３及び頭部４等を備えている。胴体部２は、底部に移動手段として同軸に配置された２個の車輪５を備えている。この２個の車輪５を制御することで、ロボット１は倒立制御されつつ、前後進及び旋回が実現される。但し、ロボット１の移動手段は、上述の構成に限定されない。
【００２１】
ロボットハンド３は、所謂マニピュレータである。すなわち、ロボットハンド３は、腕部６及び把持部７を備えている。腕部６は、多関節アームであり、一方の端部が胴体部２に連結されている。
【００２２】
把持部７は、複数の挟み込み部を備えており、当該複数の挟み込み部が開閉可能な構成とされている。本実施の形態の把持部７は、第１の挟み込み部７ａ、第２の挟み込み部７ｂ及び基部７ｃを備えている。第１の挟み込み部７ａと第２の挟み込み部７ｂとは、開閉可能な構成とされている。
【００２３】
第１の挟み込み部７ａは、先端部７ａ１及び根元部７ａ２を備えている。先端部７ａ１の根元と根元部７ａ２の先端とは、第１の関節部によって回転可能に連結されている。そして、根元部７ａ２の根元は、第２の関節部によって回転可能に基部７ｃに連結されている。
【００２４】
第２の挟み込み部７ｂは、先端部７ｂ１及び根元部７ｂ２を備えている。先端部７ｂ１の根元と根元部７ｂ２の先端とは、第１の関節部によって回転可能に連結されている。そして、根元部７ｂ２の根元は、第２の関節部によって回転可能に基部７ｃに連結されている。
【００２５】
基部７ｃは、腕部６の他方の端部に連結されている。但し、ロボットハンド３の構成は、一般的なマニピュレータの構成を採用することができ、上述の構成に限定されない。
【００２６】
頭部４は、胴体部２の上部に設けられている。本実施の形態の頭部４は、上下左右に回転可能に胴体部２に連結されている。
【００２７】
次に、本実施の形態のロボットハンドの制御装置が搭載されるロボットのハードウェア系の構成を簡単に説明する。ここで、図２は、ロボットのハードウェア系の構成ブロック図である。
【００２８】
図２に示すように、ロボット１は、上述の要素に加えて、さらに周辺情報取得手段８、データベース９、演算処理手段１０、通信インターフェース１１を備えている。
【００２９】
周辺情報取得手段８は、ロボット１の周辺情報を取得する。詳細には、周辺情報取得手段８は、一般的な撮像素子を有するカメラである。本実施の形態の周辺情報取得手段８は、周辺情報を三次元点群（ポイントクラウド）として取得する。この周辺情報取得手段８は、頭部４に搭載されている。
【００３０】
データベース９は、ロボット１の各種機能を実現するためのプログラム等が格納される記憶装置である。演算処理手段１０は、外部のユーザインターフェース１２から通信インターフェース１１を介して入力される指示情報に基づいて、データベース９から所定のプログラムを読み出し、ロボット１の各種機能を実現するべく、ロボットハンド３や車輪５を制御する。
【００３１】
次に、本実施の形態のロボットハンドの制御装置の構成を説明する。図２に示すように、本実施の形態の制御装置１３は、ロボット１に搭載された周辺情報取得手段８、データベース９及び演算処理手段１０を用いて構成することができる。
【００３２】
データベース９には、上述の各種プログラムに加えて、複数の把持候補を示す情報が格納される。詳細には、複数の把持候補を示す情報としては、把持候補のサンプル画像情報であり、例えば抽象的な円錐形、多角錐、円柱、多角柱などの画像情報であったり、具体的な物品の画像情報であったりする。
【００３３】
ここで、図３は、ロボットハンドの制御を実現するための演算処理手段１０の構成ブロック図である。図３に示すように、演算処理手段１０は、自己位置姿勢導出手段１４、把持対象物特定手段１５、障害物特定手段１６、軌道導出手段１７、判定手段１８及び制御手段１９を備えている。
【００３４】
自己位置姿勢導出手段１４は、車輪５に設けられたエンコーダ（図示を省略）やロボット１に設けられたランドマーク（図示を省略）等から入力される情報に基づいて、ロボット１の自己位置姿勢を導出する。また、自己位置姿勢導出手段１４は、ロボットハンド３の各関節部に設けられたエンコーダ（図示を省略）から入力される情報やロボット１の自己位置姿勢を示す情報等に基づいて、ロボットハンド３の各関節軸の位置や姿勢等を導出する。
【００３５】
把持対象物特定手段１５は、周辺情報取得手段８が取得した周辺情報とデータベース９に格納された把持候補を示す情報とに基づいて、ユーザインターフェース１２を介して把持するように指示された把持対象物の形状、姿勢及び位置等を特定する。
【００３６】
障害物特定手段１６は、周辺情報と把持対象物の形状、姿勢及び位置等を示す情報とに基づいて、障害物の形状及び位置等を特定する。
【００３７】
軌道導出手段１７は、ロボットハンド３で把持対象物を把持するべく、把持対象物の形状、姿勢及び位置等を示す情報と障害物の形状及び位置等を示す情報とに基づいて、ロボットハンド３の軌道を示す情報を導出する。また、軌道導出手段１７は、後述のように、ロボットハンド３の把持部７の第１の挟み込み部７ａ又は第２の挟み込み部７ｂが把持対象物と障害物との間に挿入不能と判定されると、把持対象物の形状、姿勢及び位置等を示す情報と障害物の形状及び位置等を示す情報とに基づいて、ロボットハンド３が把持対象物を障害物から離れる方向に転がすための軌道を導出する。
【００３８】
判定手段１８は、ロボットハンド３が把持対象物を把持するための軌道を示す情報に基づいて、ロボットハンド３を制御したとき、ロボットハンド３の把持部７の第１の挟み込み部７ａ又は第２の挟み込み部７ｂが把持対象物と障害物との間に挿入可能か否かを、把持対象物の形状、姿勢及び位置等を示す情報と障害物の形状及び位置等を示す情報とに基づいて判定する。
制御手段１９は、導出されたロボットハンド３の軌道を示す情報に基づいてロボットハンド３を制御する。
【００３９】
次に、本実施の形態のロボットハンドの制御装置の動作を説明する。ここで、図４は、ロボットハンドの制御装置の動作を示すフローチャート図である。図４に示すように、先ず、周辺情報取得手段８がロボット１の周辺情報を取得する（Ｓ１）。
【００４０】
次に、演算処理手段１０の把持対象物特定手段１５は、データベース９に格納されている複数の把持候補を示す情報を読み出し、ユーザがユーザインターフェース１２を介して把持することを指示した把持対象物を当該複数の把持候補の中から特定する。そして、把持対象物特定手段１５は、特定した把持候補を示す情報と周辺情報とに基づいて、周辺情報内の把持対象物の形状、姿勢及び位置等を特定する（Ｓ２）。このとき、把持対象物特定手段１５は、把持対象物の形状、姿勢及び位置等を三次元点群として取得する。
【００４１】
次に、演算処理手段１０の自己位置姿勢導出手段１４は、車輪５に設けられたエンコーダやロボット１に設けられたランドマーク等から入力される情報に基づいて、ロボット１の自己位置姿勢を導出する（Ｓ３）。ここで、ロボット１の自己位置姿勢は、グローバル座標系等を用いた一般的な導出方法を用いることができる。
【００４２】
次に、演算処理手段１０の自己位置姿勢導出手段１４は、ロボットハンド３の各関節部に設けられたエンコーダから入力される情報やロボット１の自己位置姿勢を示す情報等に基づいて、ロボットハンド３の関節軸の位置姿勢を導出する（Ｓ４）。ここで、ロボットハンド３の関節軸の位置姿勢は、順運動学等を用いた一般的な導出方法を用いることができる。
【００４３】
次に、演算処理手段１０の障害物特定手段１６は、周辺情報と把持対象物の形状、姿勢及び位置等を示す情報とに基づいて、障害物の形状及び位置等を特定する（Ｓ５）。一例として、本実施の形態では、障害物として壁を特定している。ここで、図５は、周辺情報取得手段８によって取得した周辺情報である三次元点群を示す図である。図６は、壁Ｗに対する法線ベクトルを説明する図である。
【００４４】
一般的に平面の方程式は、以下の式（１）で表すことができる。
【数１】
2014138964.tif 000003
【００４５】
そして、当該平面の法線ｎは、例えばラグランジェの未定乗数及び最小自乗法を用いて以下の式（２）から導出することができる。
【数２】
2014138964.tif 000004
【００４６】
そこで、障害物特定手段１６は、把持対象物Ｔの周辺に存在する壁Ｗを式（１）から特定し、当該壁Ｗに対する法線ベクトルを式（２）から導出する。
【００４７】
次に、演算処理手段１０の軌道導出手段１７は、把持対象物Ｔの形状、姿勢及び位置等を示す情報及び壁Ｗの形状及び位置等を示す情報に基づいて、ロボットハンド３が把持対象物Ｔを把持するための軌道を導出する（Ｓ６）。
【００４８】
次に、演算処理手段１０の判定手段１８は、Ｓ６の工程で導出したロボットハンド３の軌道を示す情報に基づいてロボットハンド３で把持対象物Ｔを把持したとき、壁Ｗと把持対象物Ｔとの間にロボットハンド３の把持部７の第１の挟み込み部７ａ又は第２の挟み込み部７ｂが挿入可能か否かを判定する（Ｓ７）。例えば、判定手段１８は、ロボットハンド３の把持対象物Ｔへのアプローチが可能な把持パターン群（複数の軌道）を導出し、当該把持パターン群における把持対象物Ｔと壁Ｗとの最小間隔を、一般的なユークリッド距離やＧＪＫアルゴリズム（Gillbert Johnson Keerthi Algorithm）等を用いて導出する。
【００４９】
導出した壁Ｗと把持対象物Ｔとの最小間隔がロボットハンド３の把持部７の第１の挟み込み部７ａ又は第２の挟み込み部７ｂの幅寸法より広いと、判定手段１８は、壁Ｗと把持対象物Ｔとの間に当該把持部７の第１の挟み込み部７ａ又は第２の挟み込み部７ｂが挿入可能であると判定し、判定結果を示す情報を制御手段１９に出力する（Ｓ７のＹＥＳ）。
【００５０】
制御手段１９は、導出した軌道を示す情報に基づいてロボットハンド３を制御する（Ｓ８）。これにより、ロボットハンド３は、把持対象物Ｔを把持する。
【００５１】
一方、導出した壁Ｗと把持対象物Ｔとの最小間隔がロボットハンド３の把持部７の第１の挟み込み部７ａ又は第２の挟み込み部７ｂの幅寸法より狭いと、判定手段１８は、壁Ｗと把持対象物Ｔとの間に当該把持部７の第１の挟み込み部７ａ又は第２の挟み込み部７ｂが挿入不能であると判定し、判定結果を示す情報を軌道導出手段１７に出力する（Ｓ７のＮＯ）。
【００５２】
軌道導出手段１７は、把持対象物Ｔの形状、姿勢及び位置等を示す情報と壁Ｗの形状及び位置等を示す情報とに基づいて、ロボットハンド３が把持対象物Ｔを壁Ｗから離れる方向に転がすための軌道を導出する（Ｓ９）。ここで、図７は、把持対象物Ｔをロボットハンド３によって転がす際の当該ロボットハンド３の把持対象物Ｔへのアプローチを概略的に示す図である。図８及び図９は、把持対象物Ｔをロボットハンド３によって転がす際の様子を概略的に示す図である。
【００５３】
軌道導出手段１７は、例えば図７〜図９に示すロボットハンド３の軌道を導出する。詳細には、先ず図７に示すように、ロボットハンド３が壁Ｗと干渉しないように、把持対象物Ｔの略直上からロボットハンド３を当該把持対象物Ｔにアプローチする。
【００５４】
次に、図８に示すように、ロボットハンド３の把持部７の第２の挟み込み部７ｂの先端部７ｂ１の先端を把持対象物Ｔの上面に所定の圧力で接触させる。
【００５５】
次に、図９に示すように、ロボットハンド３の把持部７の第２の挟み込み部７ｂの先端部７ｂ１の先端を把持対象物Ｔに接触させた状態で、当該先端部７ｂ１を第１の挟み込み部７ａ側に回転させて、把持対象物Ｔを壁Ｗから離れる方向に回転させる。
【００５６】
このようなロボットハンド３の軌道を軌道導出手段１７が導出すると、再び、Ｓ１〜Ｓ７の工程を繰り返す。ここで、図１０は、把持対象物Ｔが転がされて壁Ｗから十分に離れた状態を示す図である。図１１は、把持対象物Ｔが転がされて壁Ｗから十分に離れてロボットハンド３によって把持される様子を示す図である。
【００５７】
上述のように繰り返された工程でのＳ７の工程において、判定手段１８は、把持対象物Ｔが転がされることで、図１０に示すように、導出した壁Ｗと把持対象物Ｔとの最小間隔がロボットハンド３の把持部７の第１の挟み込み部７ａ又は第２の挟み込み部７ｂの幅寸法より広いと判定すると、壁Ｗと把持対象物Ｔとの間に当該把持部７の第１の挟み込み部７ａ又は第２の挟み込み部７ｂが挿入可能であると判定し、判定結果を示す情報を制御手段１９に出力する。
【００５８】
そして、制御手段１９は、図１１に示すように、導出した軌道を示す情報に基づいてロボットハンド３を制御する。
【００５９】
このように、把持対象物と障害物との間にロボットハンド３の把持部７の第１の挟み込み部７ａ又は第２の挟み込み部７ｂを挿入不能と判定した場合、ロボットハンド３によって把持対象物を障害物から離れる方向に転がす。そのため、一度、把持不能と判定しても、把持対象物を把持することができる。
【００６０】
＜実施の形態２＞
本実施の形態のロボットハンドの制御装置は、ロボットハンド３で把持対象物Ｔを転がす際に、良好な圧力で把持対象物を押圧することができる構成とされている。ここで、図１２は、本実施の形態のロボットのハードウェア系の構成ブロック図である。なお、以下の説明において、実施の形態１と重複する説明は省略し、同一の要素には同一の符号を用いて説明する。
【００６１】
図１２に示すように、本実施の形態のロボット２０は、実施の形態１のロボット１と略同様の構成とされているが、ロボットハンド３の制御装置２１における、ロボットハンド３の把持部７の第１の挟み込み部７ａの先端部７ａ１の先端又は第２の挟み込み部７ｂの先端部７ｂ１の先端に圧力検出手段２２を備えている。
【００６２】
圧力検出手段２２は、第１の挟み込み部７ａの先端部７ａ１の先端又は第２の挟み込み部７ｂの先端部７ｂ１の先端が把持対象物Ｔに接触した際の圧力値を検出する。そして、圧力検出手段２２は、検出した圧力値を示す情報を制御手段１９に出力する。
【００６３】
制御手段１９は、圧力検出手段２２から入力される圧力値が把持対象物Ｔの許容圧力値未満になるように、ロボットハンド３を制御する。詳細には、夫々の把持候補に対応する許容圧力値、即ちロボットハンド３によって押圧された際に把持対象物Ｔが許容できる圧力値を示す情報を、予め把持候補を示す情報に含めておき、当該把持候補を示す情報をデータベース９に格納しておく。そして、制御手段１９は、データベース９から把持候補を示す情報を読み出して、圧力検出手段２２から入力される圧力値が把持対象物Ｔの許容圧力値未満になるように、ロボットハンド３を制御する。
【００６４】
このように、ロボットハンド３によって印加される圧力値が把持対象物Ｔの許容圧力値未満となるように、ロボットハンド３を制御するので、把持対象物Ｔが破損する可能性が少ない。
【００６５】
以上、本発明に係る実施の形態を説明したが、上記の構成に限らず、本発明の技術的思想を逸脱しない範囲で、変更することが可能である。
【００６６】
例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。）
【００６７】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６８】
例えば、上述の実施の形態では、第２の挟み込み部７ｂによって把持対象物Ｔを転がしたが、第１の挟み込み部７ａによって把持対象物Ｔを転がしてもよい。
【００６９】
例えば、上述の実施の形態では、挟み込み部の先端部を回転させることで、把持対象物Ｔを転がしたが、把持対象物Ｔを転がすことができるロボットハンド３の動作であれば特に限定されない。
【００７０】
例えば、上述の実施の形態では、把持対象物Ｔの形状、姿勢及び位置等に基づいてロボットハンド３の軌道を導出しているが、少なくとも把持対象物Ｔの形状及び位置に基づけばロボットハンド３の軌道を導出することができる。
【符号の説明】
【００７１】
１  ロボット
２  胴体部
３  ロボットハンド
４  頭部
５  車輪
６  腕部
７  把持部
７ａ  第１の挟み込み部、７ａ１  先端部、７ａ２  根元部
７ｂ  第２の挟み込み部、７ｂ１  先端部、７ｂ２  根元部
７ｃ  基部
８  周辺情報取得手段
９  データベース
１０  演算処理手段
１１  通信インターフェース
１２  ユーザインターフェース
１３  制御装置
１４  自己位置姿勢導出手段
１５  把持対象物特定手段
１６  障害物特定手段
１７  軌道導出手段
１８  判定手段
１９  制御手段
２０  ロボット
２１  制御装置
２２  圧力検出手段
Ｔ  把持対象物
Ｗ  壁
【図１】
2014138964.tif 000005
【図２】
2014138964.tif 000006
【図３】
2014138964.tif 000007
【図４】
2014138964.tif 000008
【図５】
2014138964.tif 000009
【図６】
2014138964.tif 000010
【図７】
2014138964.tif 000011
【図８】
2014138964.tif 000012
【図９】
2014138964.tif 000013
【図１０】
2014138964.tif 000014
【図１１】
2014138964.tif 000015
【図１２】
2014138964.tif 000016