(57)【要約】【課題】マニピュレータでワークを把持する際に、外力に対して安定して把持する。【解決手段】フィンガ１４がワーク１６をいずれかの姿勢で把持可能となる移動手段の位置を求める（Ｓ３）。ワーク１６をフィンガ１４の先端で把持する把持位置の初期位置Ｐ０を特定し、該初期位置Ｐ０を計算対象位置Ｐとする（Ｓ４）。その時点の計算対象位置Ｐでワーク１６を把持した場合に、許容される外力の大きさを示す指標である許容外力Ｄｐを算出する（Ｓ５）。計算対象位置Ｐの回りの複数の近傍点Ｐｃで把持した場合の許容外力Ｄｃをそれぞれ算出する（Ｓ６）。許容外力Ｄｐがその回りの全てのＤｃ以上である場合に、計算対象位置Ｐを把持候補位置として特定する（Ｓ９）。それ以外の場合に、許容外力Ｄｃが最も大きい近傍点Ｐｃを計算対象位置Ｐに更新し、ステップＳ５に戻る（Ｓ８）。【選択図】図３
2010179443.tif 000002
【特許請求の範囲】
【請求項１】
移動手段によって移動可能に設けられた多関節のマニピュレータによってワークを把持する位置を、コンピュータのオフライン処理で特定する把持位置計算装置であって、
与えられた把持条件に対して、許容される外力の大きさを示す指標である許容外力を算出する許容外力算出部と、
複数の前記把持条件に対して前記許容外力算出部によって許容外力を求め、算出された許容外力が最も大きい把持条件を選択する選択部と、
を有することを特徴とする把持位置計算装置。
【請求項２】
請求項１記載の把持位置計算装置において、
許容外力は、前記把持条件によって前記マニピュレータの先端が前記ワークを把持する位置を基準とした摩擦力の円錐境界面、及び前記マニピュレータの先端が発生し得る把持力の限界境界面からの距離のうち最も小さい距離を基準に求められることを特徴とする把持位置計算装置。
【請求項３】
移動手段によって移動可能に設けられた多関節のマニピュレータによってワークを把持する位置を、コンピュータのオフライン処理で特定する把持位置計算方法であって、
前記マニピュレータが前記ワークをいずれかの姿勢で把持可能となる前記移動手段の位置を求める第１工程と、
前記第１工程で求められた前記移動手段の位置を基準に、前記ワークを前記マニピュレータの先端で把持する把持位置の初期値を特定し、該初期値を計算対象位置とする第２工程と、
その時点の計算対象位置で前記ワークを把持した場合に、許容される外力の大きさを示す指標である許容外力を算出して記憶する第３工程と、
前記計算対象位置の回りの複数の近傍位置で把持した場合の許容外力をそれぞれ算出して記憶する第４工程と、
前記第３工程及び前記第４工程の後に、前記計算対象位置における許容外力がその回りの全ての前記近傍位置における許容外力以上である場合に、前記計算対象位置を把持候補位置として特定し、それ以外の場合に、許容外力が最も大きい前記近傍位置を前記計算対象位置に更新し、前記第４工程に戻る判断をする第５工程と、
を有することを特徴とする把持位置計算方法。
【請求項４】
請求項３記載の把持位置計算方法において、
許容外力は、前記把持条件によって前記マニピュレータの先端が前記ワークを把持する位置を基準とした摩擦力の円錐境界面、及び前記マニピュレータの先端が発生し得る把持力の限界境界面からの距離のうち最も小さい距離を基準に求められることを特徴とする把持位置計算方法。
【請求項５】
請求項３及び４記載の把持位置計算方法において、
前記第２工程における初期値を複数設定し、複数の該初期値に基づいて前記第３工程〜第５工程をそれぞれ行い、
複数の前記把持候補位置のうち、許容外力が最も大きいものをさらに選択することを特徴とする把持位置計算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動手段によって移動可能に設けられた多関節のマニピュレータによってワークを把持する位置を、コンピュータのオフライン処理で特定する把持位置計算装置及び把持位置計算方法に関する。
【背景技術】
【０００２】
自動車の製造工程ではマニピュレータによる自動化の取り組みがなされており、例えば、予めティーチングされた動作を再現するティーチングプレイバック動作によって、溶接や塗装等の種々の処理が自動化されている。
【０００３】
一方、単なるティーチングプレイバックではなく、ワークに応じて異なる動作が可能になると該マニピュレータの適用範囲が一層広がることになり、例えば、異なる形状のワーク又は異なる向きに配置されたワークを把持できると好適である。
【０００４】
マニピュレータによって異なる形状のワークを把持する場合として、特許文献１には、ワークに対して最も接触点数が多くなる条件を最適な把持条件として算出する手段について記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２６８７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の特許文献１では、ワークに対して最も接触点数が多くなるように制御をしているが、このような条件が最適な把持条件になるとの定量的な評価はなされていない。
【０００７】
本発明はこのような課題を考慮してなされたものであり、マニピュレータでワークを把持する際に、より安定してワークを把持することのできる位置を求める把持位置計算装置及び把持位置計算方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る把持位置計算装置は、移動手段によって移動可能に設けられた多関節のマニピュレータによってワークを把持する位置を、コンピュータのオフライン処理で特定する把持位置計算装置であって、与えられた把持条件に対して、許容される外力の大きさを示す指標である許容外力を算出する許容外力算出部と、複数の前記把持条件に対して前記許容外力算出部によって許容外力を求め、算出された許容外力が最も大きい把持条件を選択する選択部とを有することを特徴とする。
【０００９】
このように、許容される外力の大きさを示す指標である許容外力に基づいて把持位置を求めることにより、マニピュレータでワークを把持する際に、より安定して把持することができる。
【００１０】
許容外力は、前記把持条件によって前記マニピュレータの先端が前記ワークを把持する位置を基準とした摩擦力の円錐境界面、及び前記マニピュレータの先端が発生し得る把持力の限界境界面からの距離のうち最も小さい距離を基準に求められてもよい。このように、摩擦力の円錐境界面、及びマニピュレータの先端が発生し得る把持力の限界境界面に基づいた判断によれば、許容外力が適切に求められ、一層安定してワークを把持することができる。
【００１１】
また、本発明に係る把持位置計算方法は、移動手段によって移動可能に設けられた多関節のマニピュレータによってワークを把持する位置を、コンピュータのオフライン処理で特定する把持位置計算方法であって、前記マニピュレータが前記ワークをいずれかの姿勢で把持可能となる前記移動手段の位置を求める第１工程と、前記第１工程で求められた前記移動手段の位置を基準に、前記ワークを前記マニピュレータの先端で把持する把持位置の初期値を特定し、該初期値を計算対象位置とする第２工程と、その時点の計算対象位置で前記ワークを把持した場合に、許容される外力の大きさを示す指標である許容外力を算出して記憶する第３工程と、前記計算対象位置の回りの複数の近傍位置で把持した場合の許容外力をそれぞれ算出して記憶する第４工程と、前記第３工程及び前記第４工程の後に、前記計算対象位置における許容外力がその回りの全ての前記近傍位置における許容外力以上である場合に、前記計算対象位置を把持候補位置として特定し、それ以外の場合に、許容外力が最も大きい前記近傍位置を前記計算対象位置に更新し、前記第４工程に戻る判断をする第５工程とを有することを特徴とする。
【００１２】
このように、許容される外力の大きさを示す指標である許容外力に基づいて把持位置を求めることにより、マニピュレータでワークを把持する際に、より安定して把持することができる。また、第４工程及び第５工程を繰り返すことにより、一層適切な把持位置を求めることができる。
【００１３】
許容外力は、前記把持条件によって前記マニピュレータの先端が前記ワークを把持する位置を基準とした摩擦力の円錐境界面、及び前記マニピュレータの先端が発生し得る把持力の限界境界面からの距離のうち最も小さい距離を基準に求められてもよい。
【００１４】
前記第２工程における初期値を複数設定し、複数の該初期値に基づいて前記第３工程〜第５工程をそれぞれ行い、複数の前記把持候補位置のうち、許容外力が最も大きいものをさらに選択してもよい。これにより、さらに安定してワークを保持することが可能になる。
【発明の効果】
【００１５】
本発明に係る把持位置計算装置及び把持位置計算方法によれば、許容される外力の大きさを示す指標である許容外力に基づいて把持位置を求めることにより、マニピュレータでワークを把持する際に、外力に対して安定して把持することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態に係る把持位置計算装置による制御対象の把持装置の模式図である。
【図２】本実施の形態に係る把持位置計算装置のブロック構成図である。
【図３】本実施の形態に係る把持位置計算方法のフローチャートを示す図である。
【図４】４本のフィンガによりワークを把持する様子を示す図である。
【図５】１つの初期位置から許容外力を求める様子を示す模式図である。
【図６】複数の初期位置から許容外力を求める様子を示す模式図である。
【図７】ＵｉfingerとＵｉfingerの当初の位置関係を示す図である。
【図８】ＵｉfingerとＵｉfingerの移動後の位置関係を示す図である。
【図９】凸多面体の模式図である。
【図１０】非凸多面体の模式図である。
【図１１】摩擦円錐を示す図である。
【図１２】摩擦円錐と複数の限界境界面からなる立体を示す図である。
【図１３】図１２の立体の一部を多角錐で近似した図である。
【図１４】許容外力楕円体を示す図である。
【図１５】ワーク表面上における把持可能な領域にメッシュを設けた図である。
【発明を実施するための形態】
【００１７】
以下、本発明に係る把持位置計算装置及び把持位置計算方法について実施の形態を挙げ、添付の図１〜図１５を参照しながら説明する。
【００１８】
本実施の形態に係る把持位置計算装置としてのコンピュータ１１は、図１に示す制御装置１０で制御される把持装置１２におけるフィンガ１４の姿勢を予めオフライン処理で設定するものである。本実施の形態に係る把持位置計算方法は、コンピュータ１１において行われる計算方法である。コンピュータ１１は、パーソナルコンピュータやワークステーション等である。先ず、制御装置１０、把持装置１２及びフィンガ１４について説明する。
【００１９】
図１に示すように、制御装置１０は、把持装置１２が有する４本のフィンガ（マニピュレータ）１４の制御をする装置である。把持装置１２は、４本のフィンガ１４を用いてパレットに格納されたワーク１６を把持して搬送する。把持装置１２は、多関節ロボット（移動手段）１７の先端部に設けておき、ばら積み（位置、向きが不定）状態のワーク１６を多関節ロボット１７と協動して安定した状態で搬送可能となる。図１では、ワーク１６を単純な円柱形状に示すが、形状、大きさ、向きは限定されない。
【００２０】
制御装置１０は、外部のコンピュータ１１によってオフラインティーチングによって得られたデータを一部利用して把持装置１２の制御をする。
【００２１】
把持装置１２は、ベースプレート１８と、該ベースプレート１８の下面四隅にそれぞれ設けられたフィンガ１４とを有する。
【００２２】
フィンガ１４は、ベースプレート１８の下面から下方に向けて突出するように設けられており、基端部においてベースプレート１８と水平に旋回可能な第１軸１４ａと、該第１軸１４ａと直交する向きに回転可能で第１アーム２０を屈曲させる第２軸１４ｂと、該第２軸１４ｂと同じ向きに回転可能で第１アーム２０に対して第２アーム２２を屈曲させる第３軸１４ｃとを有する。フィンガ１４は、さらに、第１軸１４ａ、第２軸１４ｂ及び第３軸１４ｃ（以下、簡便に関節とも呼ぶ。）の駆動モータとしてのモータ２４ａ、モータ２４ｂ及びモータ２４ｃと、第１軸１４ａ、第２軸１４ｂ及び第３軸１４ｃの角度を検出する角度センサ２６ａ、角度センサ２６ｂ及び角度センサ２６ｃとを有する。
【００２３】
このように、フィンガ１４は３軸を有する多関節構成であり、第２アーム２２の先端部がワーク１６に当接する。４本のフィンガ１４は同構成であって、ベースプレート１８の中心部を基準として対称に設けられている。フィンガ１４には角度センサ２６ａ〜２６ｃ以外に特にセンサ（力センサやトルクセンサ等）がなく、簡便構成である。モータ２４ａ〜２４ｃ及び角度センサ２６ａ〜２６ｃは、必ずしも関節に直接的に設ける必要はなく所定の回転伝達部材を介して接続されていてもよい。モータ２４ａ〜２４ｃには減速機が設けられていてもよい。モータ２４ａ〜２４ｃにはサーボモータを用いると好適である。
【００２４】
制御装置１０は、フィンガ１４毎に制御部を有しており、一部又は全部をコンピュータによるソフトウェア処理によって実現している。制御装置１０は、図示しないワーク認識装置に接続されている。該ワーク認識装置は、光学手段等を用いて個別のワーク１６を識別し、その位置及び向きを示す情報を制御装置１０に供給する。制御装置１０ではワーク認識装置から得られた情報に基づいて、ワーク１６を適切に把持するべく、状況に応じて位置制御モード及び力制御モードに切換可能である。
【００２５】
制御装置１０は、コンピュータ１１から予め得ている複数のティーチングデータから、ワーク１６の状況に応じて適切なものを選択し、位置制御モードでフィンガ１４を制御することができる。
【００２６】
次に、コンピュータ１１及び該コンピュータ１１において行われるオフライン処理について説明する。
【００２７】
図２に示すように、コンピュータ１１は、ワーク設定部１００と、ロボット位置算出部１０２と、メッシュ作成部１０４と、把持条件算出部１０６と、複数の把持条件１０８を記憶する記憶部１１０と、初期値特定部１１２と、許容外力算出部１１４と、選択部１１６とを有する。
【００２８】
ワーク設定部１００はワーク１６の形状及び向きを設定する。ロボット位置算出部１０２は、ワーク設定部１００で設定されたワーク１６の状態に基づいて多関節ロボット１７の姿勢を求める。メッシュ作成部１０４は、ワーク１６の全面又は、フィンガ１４によって把持可能な領域について所定のメッシュ（又は、把持候補点群）を作成する。把持条件算出部１０６は、４本のフィンガ１４によってワーク１６を把持する条件である把持条件１０８を算出する。算出された把持条件１０８は記憶部１１０に記憶される。把持条件１０８は、メッシュ作成部１０４で設定されるメッシュに応じて複数求められる。初期値特定部１１２は、メッシュ作成部１０４で設定されたメッシュに基づいて、いずれか点（１以上の点）から計算を開示するか設定する。許容外力算出部１１４は、初期値特定部１１２で特定された点及びその周辺の点について許容外力Ｄを算出する。選択部１１６は、許容外力算出部１１４で算出された許容外力Ｄが最も大きいものを選択する。
【００２９】
図２に示すコンピュータ１１の各機能部は一部又は全部をソフトウェア処理によって実現しているが、条件によっては一部（例えば、初期位置Ｐ０の特定）を人手によって設定してもよい。図２に示す各機能は、必ずしも１台のコンピュータ内で行う必要はない。
【００３０】
以下に説明する処理は、コンピュータ１１によって設定される仮想の３次元空間において行われるオフライン処理である。オフライン処理では、実際の把持装置１２が不要であって、モデルを自由に設定でき、しかも計算時間の制約がない。以下の説明では、理解を容易にするため、把持装置１２の４本のフィンガ１４のうち３本は予め姿勢が設定されており、残余の１本の姿勢について設定するものとし、特に断りのない限りフィンガ１４は設定対象の１本を示す。
【００３１】
先ず、図３〜図６に基づいて、全体的な処理について説明し、その後に個別の処理について説明する。
【００３２】
図３のステップＳ１において、モデル（例えばポリゴンモデル）のワーク１６を所定の向きに配置する。この向きは適宜変更し、複数の向きについて以下の処理を行っておき、各向きに対応してフィンガ１４の把持データを求めておくとよい。ワーク１６については、図１に示すような円柱形状だけでなく、想定される種々の形状、大きさ及び向きについて処理を行い、データを設けておくとよい。
【００３３】
ステップＳ２において、初期段階として、ワーク１６の表面に対してフィンガ１４の先端部が当接するための全ての候補としてメッシュを設ける（図５、図１５参照）。ここではメッシュを格子状とするが、例えば、ワーク１６のモデルとして表されているポリゴンメッシュ（例えば三角形のメッシュ）等をそのまま用いてもよい。メッシュは、把持位置を特定する候補として十分に細かく、且つ不必要に計算負荷が増大しない程度に設定しておく。メッシュを設けるステップは、後述するようにＵｉfingerに基づいて行ってもよい。
【００３４】
ステップＳ３において、図４に示すように、多関節ロボット１７によって配置される把持装置１２の位置を設定する。この位置は、フィンガ１４がワーク１６をいずれかの姿勢で把持可能となるように設定する。
【００３５】
ステップＳ４において、図５に示すように、ステップＳ３で求められた位置を基準として、ワーク１６をフィンガ１４の先端で把持する初期位置（初期値）Ｐ０をステップＳ２で設定したメッシュに基づいて特定し、該初期位置Ｐ０を計算対象位置Ｐとする。初期位置Ｐ０は予め複数設定しておき、そのうち未処理のもののいずれか１つを選択する。
【００３６】
ここで、初期位置Ｐ０及びその周辺の近傍点Ｐｃによる把持条件は、その把持位置だけでなく、ベクトル量としての把持力ｆm（図１２参照）も併せて設定されているものとする。
【００３７】
ステップＳ５において、その時点の計算対象位置Ｐでワーク１６を把持した場合に、把持位置を維持できる外力の大きさを示す指標である許容外力Ｄを算出して記憶する。計算対象位置Ｐに対応する許容外力ＤをＤｐとする。許容外力Ｄの詳細については後述する。
【００３８】
ステップＳ６において、計算対象位置Ｐの回りの８つの近傍点Ｐｃで把持した場合の許容外力Ｄをそれぞれ算出して記憶する。近傍点Ｐｃにおける許容外力ＤをＤｃとする。近傍点Ｐｃは、計算対象位置Ｐを基準として上下左右及び斜め４方の合計８つの点としているが、例えば、上下左右の４点だけにしてもよい。
【００３９】
ステップＳ７において、ステップＳ５及びＳ６で得られた許容外力Ｄｐと各許容外力Ｄｃとを比較する。許容外力Ｄｐが全ての許容外力Ｄｃより大きいときには、ステップＳ９へ移り、いずれかの許容外力Ｄｃが許容外力Ｄｐより大きいときにはステップＳ８へ移る。
【００４０】
ステップＳ８において、許容外力Ｄｃが最も大きい近傍点Ｐｃを選び出し、計算対象位置Ｐを該近傍点Ｐｃに更新する（図５の矢印Ａ参照）。この後、ステップＳ５へ戻り、計算を続行する。
【００４１】
このような繰り返し処理によれば、図５に示すように、最初に選んだ初期位置Ｐ０に基づいた収束計算が行われ、少なくともその周辺の中で最も許容外力Ｄが大きい箇所を選び出すことができる。この場合、繰り返し計算の最中に、更新された計算対象位置Ｐ、及び許容外力Ｄが計算済みの近傍点Ｐｃについては、許容外力Ｄの再計算を省略してもよい。また、繰り返し計算を所定回数行っても許容外力Ｄが収束しないときには、計算を途中で打ち切り、所定の対応処理を行ってもよい。
【００４２】
一方、ステップＳ９においては、その時点の計算対象位置Ｐを把持候補位置として設定する。
【００４３】
ステップＳ１０において、予め準備した初期位置Ｐ０の全てについて処理が終わっているか否かを確認し、未処理のものがあればステップＳ４へ戻り、全て終了していればステップＳ１０へ移る。
【００４４】
ステップＳ１１において、複数の初期位置Ｐ０に基づいて得られた複数の把持候補のうち、許容外力Ｄｃが最も大きいものを選択して最終的な把持位置として設定する。得られた把持位置は所定の記憶部に記憶するとともに、制御装置１０に供給しておく。
【００４５】
制御装置１０では、把持装置１２の運転時に、所定の光学手段から得られる情報に基づいて複数のワーク１６の把持すべき１つを選択し、該ワーク１６の状態に近いモデルに基づいて得られた把持条件及び把持位置のデータを検索する。検索して得られたデータに基づいてフィンガ１４を位置制御モードで駆動し、ワーク１６を把持する。この時点でフィンガ１４の先端とワーク１６の表面との間に多少の位置誤差があったとしても、その後に力制御モードに移行することによって位置誤差はなくなり、ワーク１６を適切な姿勢及び力で把持することができる。
【００４６】
このように、複数の初期位置Ｐ０に基づいて収束計算をそれぞれ行うことにより、図６に示すように、各初期位置Ｐ０（図６ではＰ０1、Ｐ０2、Ｐ０3、Ｐ０4と示す。）に対応して複数の把持位置候補Ｐｔが得られる場合において、そのうち最も許容外力Ｄが大きいものを選択することができる。
【００４７】
次に、ステップＳ３の詳細処理について説明する。理解を容易にするため、把持装置１２は平行移動し、姿勢の変化はないものとする。
【００４８】
一般化し、把持装置１２にはフィンガ１４がＮ本あるとし、ｆｉｎｇｅｒ（０）〜ｆｉｎｇｅｒ（ｎ−１）と識別する。ｆｉｎｇｅｒ（ｉ）のワーク１６の表面上の把持位置をＰiとする（ｉは０〜ｎ−１の整数）。
【００４９】
図７及び図８に示すように、ｆｉｎｇｅｒ（ｉ）の先端をＰiに到達させることができる把持装置１２の位置の集合Ｕｉhandを求める。集合Ｕｉfingerを、把持装置１２の基準位置Ｐｘ（プレート１８における所定点（例えば、Ｆｉｎｇｅｒ（０）とｆｉｎｇｅｒ（１）の中間点）とする。）から見てｆｉｎｇｅｒ（ｉ）の先端が到達可能な範囲とする。このとき、
【００５０】
【数１】
2010179443.tif 000003
【００５１】
となる。
【００５２】
ｆｉｎｇｅｒ（０）〜ｆｉｎｇｅｒ（ｎ−１）の先端がそれぞれ把持位置Ｐ0〜Ｐn-1に到達できる把持装置１２の位置の集合Ｕhandは、
【００５３】
【数２】
2010179443.tif 000004
【００５４】
となる。
【００５５】
このような集合を求める際のワーク１６の近似的な表現方法を検討する。
【００５６】
全てのｆｉｎｇｅｒ（ｉ）の先端が到達可能な範囲の集合Ｕｉhandが凸形状である場合、それらの積集合Ｕhandも凸形状となる。Ｕhandが凸形状である場合、この集合に内接する凸多面体ＰhandでＵhandを近似するとよい。
【００５７】
図９に示すように、凸多面体Ｐhandは、次の（３）式で示される線形行列不等式を満たすＰbとなる。ここで、Ａb、ｂbは凸多面体Ｐhandの頂点で決まる行列及びベクトルである。
【００５８】
【数３】
2010179443.tif 000005
【００５９】
図１０に示すように、Ｕhandが非凸である場合には、複数の凸多面体に分割し、その和集合で近似し、（４）式のように表すとよい。（４）式はｎ個の凸多面体に分割した場合の例である。
【００６０】
【数４】
2010179443.tif 000006
【００６１】
次に、把持装置１２の位置の準最適化について説明する。
【００６２】
ワーク１６を安定的に把持するためには、把持力によりワーク１６が働く力とモーメントが釣り合う必要があり、力の釣り合いを示す（５）式及びモーメントの釣り合いを示す（６）式で表される。
【００６３】
【数５】
2010179443.tif 000007
【００６４】
【数６】
2010179443.tif 000008
【００６５】
ｆi：ｆｉｎｇｅｒ（ｉ）の把持力のベクトル
ｍ：ワーク１６の質量
ｇ：重力加速度ベクトル
Ｐi：基準座標系からみたｆｉｎｇｅｒ（ｉ）の先端の把持位置を示す位置ベクトル
Ｐm：基準座標系からみたワーク１６の重心を表す位置ベクトル
である。
【００６６】
次に、ステップＳ５における許容外力Ｄの算出について説明する。
【００６７】
許容外力Ｄは、ワーク１６を安定して把持しているときに許容できる外力の大きさを示す指標であり、換言すればロバスト性の高さを示す。許容外力Ｄは、評価関数Ｆevaluationとして記述し、（５）式、（６）式及び（３）式による制約下（若しくは（５）式、（６）式及び（４）式による制約下）で、Ｆevaluationを最大にする把持装置１２の位置Ｐb（ｆｉｎｇｅｒ（ｉ）の把持位置は固定とする。）に基づいて求める。
【００６８】
図１１に示すように、ｆｉｎｇｅｒ（ｉ）とワーク１６の摩擦係数がμである場合に、ワーク１６上の把持点における法線ベクトルＶNを中心に描いた摩擦円錐５０を設定する。
【００６９】
摩擦円錐５０の開き角度γは、γ＝ｔａｎ-1μである。ｆｉｎｇｅｒ（ｉ）が滑らないためには把持力ｆiのベクトルがこの摩擦円錐５０内にあることが必要であるが、実際には把持力ｆiとして発生し得る上限値が存在するため、図１２に示すように、該上限値が複数の限界境界面５２、５４、５６として表され、全体として、一部が円錐形状の立体５８が設定される。
【００７０】
このとき、把持力ｆiから立体５８の各面（つまり、摩擦円錐５０、限界境界面５２、５４、５６）までの距離ｄiが大きいほど許容できる外力が大きいことになるので、距離ｄiの最小値を次の（７）式のように評価関数Ｆevaluationとして記述する。
【００７１】
【数７】
2010179443.tif 000009
【００７２】
把持装置１２の最適化においては、（５）式、（６）式及び（３）式による制約下（若しくは（５）式、（６）式及び（４）式による制約下）で、（７）式を最大化するＰｂを求めればよい。
【００７３】
この最適化問題の解法としては、例えば、最急降下法等の最適化手法を用いることにより準最適解（局所的な最適解）を求めてもよい。
【００７４】
また、距離ｄiを求めるにあたっては、計算を簡単にするために摩擦円錐５０の部分を、図１３に示すように、多角錐５０ａ（例えば正八角錐）で近似してもよい。
【００７５】
距離ｄiの最小値、つまりＦevaluationから許容外力Ｄを求める手順は次の通りである。
【００７６】
【数８】
2010179443.tif 000010
【００７７】
ここで、左辺は把持力によるワーク１６に作用する合力を示し、左辺左側の行列をＡ、左辺右側の行列をｆとする。右辺左側の行列をＢとする。ｆmはワーク１６に作用する外力である。
【００７８】
ついで、次の（９）式の計算をする。
【００７９】
【数９】
2010179443.tif 000011
【００８０】
ここで、Ｂ+Ａは、外力と把持力とを関係付ける変換行列であり、Ｂ+はＢの擬似逆行列である。
【００８１】
さらに、次の（１０）式によって特異値分解をする。
【００８２】
【数１０】
2010179443.tif 000012
【００８３】
この後、許容外力Ｄを図１４に示す許容外力楕円体７０に基づき、Ｄ＝ｍｉｎ（ｄminσi）として求められる。
【００８４】
ここで、ｕiは許容外力楕円体７０の主軸の３次元ベクトルであり、ｄminσiは、各軸の許容外力の大きさであり、ｍｉｎ（）は最小値を選択する関数とする。
【００８５】
前記のステップＳ２におけるメッシュ作成の処理では、把持装置１２の位置を上記手段で求める位置に固定した状態でｆｉｎｇｅｒ（ｉ）の先端が到達可能な範囲をＵｉfingerとし、ワーク１６表面上における把持可能な領域をＯとする。Ｓi＝Ｕｉfinger∩Ｏとし、図１５に示すようにＳi上の点を十分な点集合で近似してメッシュを構成すればよい。この点群に関してそれぞれ隣接する点間の関係を記録し、又は所定の関係式で明らかとなるようにしておく。
【００８６】
上述したように、本実施の形態に係る把持位置計算装置としてのコンピュータ１１及び把持位置計算方法によれば、許容される外力の大きさを示す指標である許容外力に基づいて把持位置を求めることにより、フィンガ１４でワーク１６を把持する際に、より安定して把持することができる。
【００８７】
また、摩擦円錐５０、及びフィンガ１４の先端が発生し得る把持力の限界境界面５２、５４、５６に基づいた判断によれば、許容外力Ｄが適切に求められ、一層安定してワーク１６を把持することができる。
【００８８】
制御装置１０によって制御される把持装置１２のフィンガ１４の数は４本に限らず、例えば、２本や３本でもよい。また、可動のフィンガ１４は１本として、ワーク１６を挟持する相手方部材は固定部材としてもよい。
【００８９】
フィンガ１４の関節の数は３に限らず、２又は４以上であってもよい。
【００９０】
本発明に係る把持位置計算装置及び把持位置計算方法は、上述の実施の形態に限らず、本発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【符号の説明】
【００９１】
１０…制御装置                              １１…コンピュータ
１２…把持装置                              １４…フィンガ
１４ａ…第１軸                              １４ｂ…第２軸
１４ｃ…第３軸                              １６…ワーク
１８…ベースプレート                        ２０…第１アーム
２２…第２アーム                            ２４ａ〜２４ｃ…モータ
２６ａ〜２６ｃ…角度センサ                  ５０…摩擦円錐
５２、５４、５６…限界境界面                ５８…立体
７０…許容外力楕円体                        １００…ワーク設定部
１０２…ロボット位置算出部                  １０４…メッシュ作成部
１０６…把持条件算出部                      １０８…把持条件
１１０…記憶部                              １１２…初期値特定部
１１４…許容外力算出部                      １１６…選択部
【図１】
2010179443.tif 000013
【図２】
2010179443.tif 000014
【図３】
2010179443.tif 000015
【図４】
2010179443.tif 000016
【図５】
2010179443.tif 000017
【図６】
2010179443.tif 000018
【図７】
2010179443.tif 000019
【図８】
2010179443.tif 000020
【図９】
2010179443.tif 000021
【図１０】
2010179443.tif 000022
【図１１】
2010179443.tif 000023
【図１２】
2010179443.tif 000024
【図１３】
2010179443.tif 000025
【図１４】
2010179443.tif 000026
【図１５】
2010179443.tif 000027