"対象物を把持する把持部と、前記把持部を移動させる移動部とを備え、前記把持部で把持した前記対象物を移動させるロボットであって、前記把持部および前記移動部に対する教示データを記憶している教示データ記憶部と、前記教示データに従って前記把持部および前記移動部の動作を制御する動作制御部とを備え、前記教示データ記憶部は、前記教示データとして、前記対象物の重量、および前記対象物に加えることのできる許容把持力に関する情報を記憶しており、前記動作制御部は、前記対象物を認識して、前記教示データが示す把持箇所を把持可能であるかについて判断し、前記判断の結果が把持可能でない旨の結果である場合は、前記教示データが示す前記把持箇所とは別の前記把持箇所を設定する把持箇所設定部と、前記教示データが示す前記把持箇所とは別の前記把持箇所で前記対象物を把持して前記対象物を移動させるために必要な必要把持力を算出する必要把持力算出部と、前記必要把持力が前記許容把持力よりも大きい場合は、前記教示データが示す把持力および前記教示データが示す前記対象物の移動加速度を変更する教示データ変更部とを備えることを特徴とするロボット。請求項1に記載のロボットであって、前記把持力の設定値を複数記憶している設定値記憶部を備え、前記教示データ変更部は、前記必要把持力が前記教示データの前記許容把持力よりも大きい場合は、複数の前記設定値の中から、前記必要把持力より大きく且つ前記許容把持力より小さな前記設定値を選択設定値として選択して、前記教示データの把持力を前記選択設定値に変更することを特徴とするロボット。対象物を把持する把持部と、前記把持部を移動させる移動部とを備え、前記把持部で把持した前記対象物を移動させるロボットの制御方法であって、前記把持部および前記移動部に対する教示データを記憶する記憶工程と、前記対象物を認識して、前記教示データが示す把持箇所を把持可能であるかについて判断し、前記判断の結果が把持可能でない旨の結果である場合は、前記教示データが示す前記把持箇所とは別の前記把持箇所を設定する設定工程と、前記教示データが示す前記把持箇所とは別の前記把持箇所で前記対象物を把持して前記対象物を移動させるために必要な必要把持力を算出する算出工程と、前記必要把持力が前記許容把持力よりも大きい場合は、前記教示データが示す把持力および前記教示データが示す前記対象物の移動加速度を変更する変更工程と、前記教示データに従って前記把持部および前記移動部の動作を制御する制御工程とを備えることを特徴とするロボットの制御方法。請求項3に記載のロボットの制御方法であって、前記変更工程は、複数記憶されている前記把持力の設定値の中から、前記必要把持力より大きく且つ前記許容把持力より小さな前記設定値を選択設定値として選択して、前記教示データの前記把持力を前記選択設定値に変更する工程であることを特徴とするロボットの制御方法。しかし、上記提案の技術では、教示データの把持箇所で対象物を把持できない事態に、必ずしも十分に対応することができないという問題があった。たとえば、教示データの把持箇所からずれたことに対応して把持力を増加させた結果、把持力が過大となって対象物に傷を付けてしまうことが起こり得る。あるいは、教示データに設定されていない新たな把持箇所で対象物を把持した場合は、搬送中に対象物を把持し続けるために必要な力が、ロボットハンドで発生可能な把持力を超えてしまい、対象物を落としてしまうことが起こり得る。この発明は、従来の技術が有する上述した課題の少なくとも一部を解決するためになされたものであり、教示データに設定された把持箇所で対象物を把持することができない事態が生じた場合例えば、ロボットハンドを対象物に近付ける経路上に何らかの障害物が進入して教示データの通りの把持箇所で対象物を把持することができなかったり、搬送中に対象物が障害物と干渉して把持箇所がずれてしまったりした場合などでも、適切に対象物を把持することが可能な技術の提供を目的とする。上述した課題の少なくとも一部を解決するために、本発明のロボットは次の構成を採用した。すなわち、対象物を把持する把持部と、前記把持部を移動させる移動部とを備え、前記把持部で把持した前記対象物を移動させるロボットであって、前記把持部および前記移動部に対する教示データを記憶している教示データ記憶部と、前記教示データに従って前記把持部および前記移動部の動作を制御する動作制御部とを備え、前記教示データ記憶部は、前記教示データとして、前記対象物の重量、および前記対象物に加えることのできる許容把持力に関する情報を記憶しており、前記動作制御部は、前記対象物を認識して、前記教示データが示す把持箇所を把持可能であるかについて判断し、前記判断の結果が把持可能でない旨の結果である場合は、前記教示データが示す前記把持箇所とは別の前記把持箇所を設定する把持箇所設定部と、前記教示データが示す前記把持箇所とは別の前記把持箇所で前記対象物を把持して前記対象物を移動させるために必要な必要把持力を算出する必要把持力算出部と、前記必要把持力が前記許容把持力よりも大きい場合は、前記教示データが示す把持力および前記教示データが示す前記対象物の移動加速度を変更する教示データ変更部とを備えることを特徴とする。また、上記のロボットに関する本発明は、ロボットの制御方法としての態様で把握することも可能である。すなわち、対象物を把持する把持部と、前記把持部を移動させる移動部とを備え、前記把持部で把持した前記対象物を移動させるロボットの制御方法であって、前記把持部および前記移動部に対する教示データを記憶する記憶工程と、前記対象物を認識して、前記教示データが示す把持箇所を把持可能であるかについて判断し、前記判断の結果が把持可能でない旨の結果である場合は、前記教示データが示す前記把持箇所とは別の前記把持箇所を設定する設定工程と、前記教示データが示す前記把持箇所とは別の前記把持箇所で前記対象物を把持して前記対象物を移動させるために必要な必要把持力を算出する算出工程と、前記必要把持力が前記許容把持力よりも大きい場合は、前記教示データが示す把持力および前記教示データが示す前記対象物の移動加速度を変更する変更工程と、前記教示データに従って前記把持部および前記移動部の動作を制御する制御工程とを備えることを特徴とする。このような構成を有する本発明のロボット、あるいは本発明のロボットの制御方法においては、ロボットの把持部および移動部に対する教示データを記憶しておく。教示データとしては、把持しようとする対象物の把持箇所、把持力、移動経路、移動加速度に関する情報、対象物の重量、および対象物に加えることのできる許容把持力に関する情報などを含んだデータとすることができる。また、移動経路としては、対象物が移動する経路そのものを記憶しておく必要はなく、たとえば把持部の移動経路や、把持部を移動させる移動部の動作などのように、対象物が移動する経路を間接的に表す内容を記憶しておいても良い。また、対象物の移動加速度に関する情報としては、移動加速度そのものを記憶しておいても良いが、間接的に移動加速度を表す内容を記憶しておいてもよい。例えば、移動速度の時間当りの変化量は移動加速度を表すことから、時間とともに変化する移動速度を記憶しておいても良い。更に、対象物に加えることのできる許容把持力は、対象物の材質や構造に応じて、対象物に損傷を与えることなく把持することのできる上限の把持力とすることができるし、ロボットが発生可能な最大把持力を許容把持力とすることもできる。また、許容把持力に関する情報としては、許容把持力の値を記憶しておくことも可能であるが、許容把持力を特定可能な情報例えば、対象物の材質などを記憶しておいても良い。対象物を把持するに際しては、把持しようとする対象物を認識する。対象物の認識には、対象物の位置あるいは形状などを用いることができる。そして、教示データが示す把持箇所で対象物を把持可能であるかを判断し、把持可能でない場合は、教示データが示す把持箇所とは別の把持箇所を設定する。更に、教示データが示す把持箇所とは別の把持箇所で把持して対象物を移動させるために必要となる必要把持力を算出する。その結果、得られた必要把持力が、対象物の許容把持力よりも大きい場合は、教示データの把持力および移動加速度を変更し、教示データに従って把持部および移動部の動作を制御することによって、対象物を移動させる。こうすれば、教示データが示す把持箇所で対象物を把持できない事態が生じた場合でも、別の把持箇所を設定して、その把持箇所で把持するための必要把持力を算出する。そして必要があれば、教示データの把持力および移動加速度を変更して、変更した教示データに従って対象物を搬送することができる。このため、把持力が大きすぎて対象物に損傷を与えたり、把持力が不足して対象物の移動中に対象物を落としたりすることがない。その結果、適切に対象物を把持して移動させることが可能となる。また、上述した本発明のロボットあるいはロボットの制御方法においては、次のようにして教示データの把持力を変更しても良い。先ず、予め、把持力の設定値を複数記憶しておく。そして、新たに設定した把持箇所での必要把持力が許容把持力よりも大きい場合には、複数の設定値の中から必要把持力より大きく、且つ、許容把持力より小さな設定値を選択設定値として選択し、その選択設定値に教示データの把持力を変更してもよい。こうすれば、予め記憶されている複数の設定値の中から選択すればよいので、教示データの新たな把持力を簡単に決定することが可能となる。また、把持部が発生する把持力は、予め記憶されている設定値に限られるので、把持部が対象物を把持する際の制御が簡単になり、その結果、ロボットの制御を単純化することが可能となる。以下では、上述した本願発明の内容を明確にするために、次のような順序に従って実施例を説明する。A.本実施例のロボットの構造:B.対象物把持処理:B-1.教示データ:B-2.力学モデルを用いた必要把持力の算出方法:A.本実施例のロボットの構造:図1は、本実施例のロボット10の大まかな構造を示す説明図である。図1aに示されるように、本実施例のロボット10は、地面に設置された本体部120と、本体部120から立設されたアーム部110と、アーム部110の先端に設けられたハンド部100などから構成されている。アーム部110は、複数本のリンク部112が関節部114によって接続されて構成されており、関節部114で屈曲したり回転したりすることが可能である。また、ハンド部100は、リンク部112の先端に取り付けられた基台部104と、基台部104から立設されて対象物Wを把持する複数本の指部102などから構成されている。尚、本実施例では、ハンド部100が本発明における把持部に対応し、アーム部110が本発明における移動部に対応する。図1bには、ハンド部100の大まかな構造が示されている。図示するように本実施例のハンド部100には、四本の指部102a~dが設けられている。このうち、二本の指部102a,bは並べて同じ向きに設けられており、残りの二本の指部102c,dは、これら二本の指部102a,bと向かい合わせになるように、並べて同じ向きに設けられている。また、二本の指部102a,bは、向かい側の二本の指部102c,dの方向に移動可能である。同様に、二本の指部102c,dも、向かい側の二本の指部102a,bの方向に移動可能である。このため、指部102a,bと、向かい側に設けられた指部102c,dとの間で対象物Wを把持することができる。また、図1aに示されるように、ロボット10には、対象物Wの画像を撮影する画像撮影部130が設けられている。更に、本体部120の内部には、ロボット10の全体の動作を制御する制御部122が設けられている。詳細には後述するが、制御部122は、画像撮影部130で撮影した画像から対象物Wを確認すると、アーム部110を動かしてハンド部100で対象物Wを把持した後、その把持力を保ったまま再びアーム部110を動かすことによって、対象物Wを搬送することが可能である。尚、本実施例では、制御部122が本発明における動作制御部に対応する。B.対象物把持処理:図2および図3は、本実施例のロボット10が対象物Wを把持するために行う対象物把持処理のフローチャートである。この処理は、本体部120に内蔵された制御部122によって実行される。対象物把持処理を開始すると、先ず始めに教示データを取得するステップS100。教示データとは、対象物Wを把持するためのアーム部110やハンド部100の動作が記述されたデータである。教示データは、制御部122に内蔵されたメモリーに予め記憶されている。従って、本実施例の制御部122は、本発明における教示データ記憶部に対応する。また、この教示データは、対象物把持処理を実行するための基礎となるデータである。そこで、教示データの内容について簡単に説明しておく。B-1.教示データ:図4には、本実施例の対象物把持処理で用いられる教示データが例示されている。図示されるように、教示データには、対象物Wを把持するための情報把持情報や、把持した対象物Wを移動させるための情報移動情報に加えて、予備的な情報予備情報が設定されている。把持情報としては、対象物Wの形状寸法を含むや、把持力、把持箇所、把持形態が設定されており、移動情報としては、対象物Wの移動経路や、移動の加速度移動加速度、移動中の把持形態が設定されている。更に予備情報としては、対象物Wの重量や、対象物Wの重心位置、対象物Wを把持した時の対象物Wとハンド部100との位置関係や、対象物Wの材質などが設定されている。図5は、対象物Wの形状および重心位置Gを例示した説明図である。図に例示した対象物Wは、幅の寸法が30、奥行き寸法が40、高さ寸法が60の直方体形状であり、このことと対応して、教示データの把持情報中の形状の項目には、対象物Wが直方体であることを表すデータ01と、幅W、奥行きD、高さHを示す寸法30,40,60とが設定されている。また、対象物Wの重心位置Gは、幅W、奥行きD、高さHのちょうど中心の位置にある。このことと対応して、教示データの予備情報中の重心位置の項目には、重心位置Gを示す座標15,20,30が設定されている。尚、重心位置Gを示す座標の原点は、図5に示した対象物Wの左下手前側の角に設定されており、直方体の稜線に沿って、幅方向にX軸、奥行き方向にY軸、高さ方向にZ軸が設定されている。図6は、対象物Wの把持箇所を例示した説明図である。図1を用いて前述したように、本実施例のハンド部100には四本の指部102a~dが設けられており、ハンド部100が対象物Wを把持するとそれぞれの指部102a~dが対象物Wに当接するので、四つの把持箇所が存在する。このことに対応して、図4に示した教示データの把持情報中の把持箇所には、四つの把持箇所Na~Ndの座標を示すデータが設定されている。また、図6に示した例では、ハンド部100が対象物Wを真上から把持しているが、ハンド部100は、必ずしも真上から対象物Wを把持するとは限らない。本実施例のロボット10では、対象物Wを真上から把持する把持形態の他に、対象物Wを横方向から把持することも可能である。そこで、図4に示した教示データの把持情報中の把持形態という項目には、対象物Wを真上から把持する把持形態であることを示すデータ1が設定されている。図7には、本実施例のロボット10に設定されている把持形態が例示されている。図7aに示した把持形態1は、ハンド部100が対象物Wを真上から把持する形態である。図7bに示した把持形態2は、ハンド部100の指部102a~dを左右水平方向に開いた状態で対象物Wを横から把持する形態である。更に、図7cに示した把持形態3および把持形態4は、指部102a~dを上下重力方向に開いた状態で対象物Wを横から把持する形態である。尚、把持形態3で対象物Wを把持した場合は、対象物Wがハンド部100の基台部104から力を受けるのに対して、把持形態4で対象物Wを把持した場合は、対象物Wが基台部104から受ける力は無視して良い。そこで、把持形態3と把持形態4とは別の把持形態としている。また、図6に示したように、四つの指部102a~dがそれぞれの把持箇所Na~Ndで対象物Wに当接するようにすると、自ずから、ハンド部100は対象物Wに対して所定の位置に来る。このときのハンド部100と対象物Wと位置関係は、次のように表される。先ず、ハンド部100とともに移動する座標軸ハンド部100基準の座標軸を考える。図6中には、ハンド部100基準の座標軸が、破線で示したxyz座標軸によって表されている。このハンド部100基準の座標軸の原点oは、対象物Wを基準とする座標軸図中に実線で示したXYZ座標軸の原点Oとは異なる位置にある。そこで、対象物W基準の座標軸XYZ座標軸の原点Oから、ハンド部100基準の座標軸xyz座標軸の原点oへの並進ベクトルPを考える。すると、対象物W基準のXYZ座標軸の原点Oを並進べクトルPだけ平行移動させることによって、ハンド部100基準のxyz座標軸の原点oに一致させることができる。もちろん、原点を一致させただけで二つの座標軸が重なるわけではない。そこで、原点Oを中心として対象物W基準のXYZ座標軸を回転させることによって、対象物W基準のXYZ座標軸がハンド部100基準のxyz座標軸に重なるようにする。このときの対象物W基準のXYZ座標軸の回転を、3行3列の回転行列Rによって表すものとする。このような並進ベクトルPおよび回転行列Rは、対象物W基準のXYZ座標軸と、ハンド部100基準のxyz座標軸との位置関係を表している。従って、ハンド部100が対象物Wを把持したときの並進ベクトルPおよび回転行列Rが分かれば、ハンド部100が対象物Wに対してどれくらい離れた距離で、どちらの方向から把持しているかを知ることができる。そこで、図4に示した教示データの予備情報中の対象物とハンド部との位置関係という項目には、ハンド部100が対象物Wを把持する時の並進ベクトルPおよび回転行列Rが設定されている。また、上述した並進ベクトルPおよび回転行列Rは、対象物Wを把持した時のハンド部100と対象物Wとの位置関係を表しているが、把持動作を行うために対象物Wに近付く前のすなわち、基準位置にあるハンド部100と、対象物Wとの間にも並進ベクトルおよび回転行列を考えることができる。教示データの予備情報中の対象物とハンド部との位置関係という項目には、把持動作に入る前の基準位置にあるハンド部100に対する並進ベクトルおよび回転行列も、それぞれ並進ベクトルpおよび回転行列rとして設定されている。図8は、対象物Wを把持した後に、対象物Wを移動させる移動経路や、移動加速度、移動中の把持形態が例示されている。図8aは、把持した対象物Wの移動経路および移動中の把持形態を表している。すなわち、対象物Wの移動経路は、対象物Wを把持した位置P1から、P2の位置、P3の位置を経由して、P4の位置に至る経路に設定されている。また、P1の位置からP2の位置への移動中、およびP2の位置からP3の位置への移動中は、把持形態1図7参照で対象物Wを把持し、P3の位置からP4の位置への移動中は把持形態3図7参照で把持する。すなわち、P3の位置で把持形態1から把持形態3に変更していることになる。尚、P1の位置での把持形態すなわち対象物Wを把持する際の把持形態については、前述したように、教示データの把持情報中の把持形態という項目に設定されている。また、図8bには、把持した対象物Wを移動させる移動加速度が示されている。図示した例では、P1の位置から一定の加速度で加速し、毎秒1m1m/sの速度に達したら、今度は一定の加速度で減速して、P2の位置で停止する。尚、このときの加速度10m/s2は、ロボット10が発生させることが可能な最大加速度であり、速度1m/sは、ロボット10が発生させることが可能な最大速度である。また、P2の位置からは最大加速度で最大速度に達するまで加速し、暫くの間、最大速度を維持した後、最大加速度と同じ大きさの加速度で減速してP3の位置で停止する。更にP3の位置からは、最大加速度で最大速度に達するまで加速し、その後、最大加速度と同じ大きさの加速度で減速してP4の位置で停止する。すなわち、P1,P2,P3,P4の各停止位置の間では、加速および減速は最大加速度あるいは最大加速度と同じ大きさの加速度で行い、速度が最大速度に達した場合は最大速度でクリップされるように設定されている。以上に示した対象物Wの移動経路や、移動中の把持形態、移動加速度に関する情報は、教示データの移動情報中の移動経路、移動加速度、把持形態という項目として設定されている。図4に示した例では、教示データの移動情報中の移動経路という項目には、P1、P2、P3、P4の各停止位置の座標が設定されている。また、教示データの移動情報中の移動加速度という項目には、P1の位置からP2の位置までの区間区間P12、P2の位置からP3の位置までの区間区間P23、P3の位置からP4の位置までの区間区間P34のそれぞれについて、対象物Wを移動させる加速度および速度の上限値が、最大加速度および最大速度を基準として設定されている。例えば、P12a,bとは、区間P12での加速および減速は、ロボット10が発生させることの可能な最大加速度に対してaの比率で行い、且つ区間P12での速度の上限は、ロボット10が発生させることの可能な最大速度に対してbの比率に制限されることを表している。また、教示データの移動情報中の把持形態という項目には、それぞれの区間P12、P23、P34での把持形態が設定されている。図4に示した例では、区間P12および区間P23では把持形態1に設定されており、区間P34では把持形態3に設定されている。教示データには、以上の各種データの他に、対象物Wの重量に関するデータや、対象物Wの材質についても、予備情報中の重量および材質という項目に設定されている。これらの項目が教示データに設定されている理由については後述する。図2および図3に示した対象物把持処理を開始すると、先ず始めに、以上に説明した教示データを取得するステップS100。続いて、画像撮影部130を用いて対象物Wの画像を取得しステップS102、取得した画像を解析することによって、対象物Wを把持する際の障害物の有無、換言すれば、対象物Wが障害物の陰になっているか否かを判断するステップS104。その結果、対象物Wが障害物の陰になっている場合ステップS104:yesは、対象物Wを把持することができないものと考えられるので、障害物を取り除くことを促すべく警報を出力して図3のステップS134、対象物把持処理を終了する。これに対して、対象物Wが障害物の陰になっていない場合はステップS104:no、対象物Wの置かれた位置および姿勢あるいは向きが教示データの予備情報中の対象物とハンド部との位置関係という項目中に設定されている並進ベクトルpおよび回転行列rの内容と一致するか否かを判断するステップS106。その結果、対象物Wの置かれた位置が教示データの並進ベクトルpに示される通りであり、且つ、対象物Wの姿勢が教示データの回転行列rに示される通りであった場合は、対象物Wの位置および姿勢が教示データと一致すると判断するステップS106:yes。そして、この場合は、対象物Wは障害物の陰になっておらずステップS104:no、且つ、対象物Wが正しい位置に正しい姿勢で置かれていることになるので、教示データの通りに対象物Wを把持することが可能である。そこで、教示データに従って把持動作を実行する図3のステップS136。これに対して、対象物Wの位置および姿勢が教示データと一致しなかった場合はステップS106:no、対象物Wの姿勢が、教示データの回転行列rに示される姿勢と一致するか否かを判断するステップS108。その結果、対象物Wの姿勢が教示データの姿勢と一致していた場合はステップS108:yes、対象物Wの置かれた位置がずれているだけなので、位置がずれている量だけ、教示データに設定された把持箇所からオフセットさせた箇所を新たな把持箇所として設定するステップS110。一方、対象物Wの姿勢が教示データに設定されている姿勢とも一致しなかった場合はステップS108:no、教示データに設定された把持箇所以外に、把持可能な箇所が存在するか否かを判断するステップS112。把持可能な箇所が存在するか否かは次のようにして判断する。図9は、対象物Wを把持可能な箇所が、その対象物Wに存在するか否かを判断する方法を示した説明図である。対象物Wを把持可能であるためには、互いに平行で且つ向かい合う平面が存在しなければならない。例えば、図9a中に示した三角柱の対象物Wを把持する場合、図中のA面とB面とは、互いに平行であり且つ向かい合う平面であるため、A面とB面とを把持することで対象物Wを把持することができる。これに対して、図9b中に示したC面とD面とは互いに向かい合ってはいるが平行ではないため、C面とD面とで把持しても対象物Wを把持できない。あるいは、図9cに示すような形状の対象物Wでは、E面とF面とは互いに平行ではあるが、互いに向き合っていないので、E面とF面とで把持しようとしても対象物Wを把持できない。図2に示した対象物把持処理のステップS112では、教示データに示される把持箇所を含んだ平面以外に、互いに平行で且つ向かい合う平面を対象物Wに見いだすことができるか否かによって、把持可能な箇所が存在するか否かを判断する。尚、このような平面は、二本の指部102a,bおよび向かい側の二本の指部102c,dで把持可能な広さお必要となる。その結果、そのような平面を見いだすことができなかった場合は、教示データに示された把持箇所以外には把持可能な箇所が存在しないと判断してステップS112:no、警報を出力することによって対象物Wを把持できない旨を報知した後図3のステップS134、対象物把持処理を終了する。これに対して、教示データに示される把持箇所を含んだ平面以外に、互いに平行で且つ向かい合う平面が見つかった場合は、教示データの把持箇所以外にも把持可能な箇所が存在すると判断してステップS112:yes、見つけた平面上に新たな把持箇所を設定するステップS114。尚、教示データに設定された以外の新たな把持箇所を設定する処理は、制御部122が図2の対象物把持処理を実行する中で行われる。従って、本実施例においては制御部122が、本発明における把持箇所設定部に対応する。以上のようにして、教示データとは全く異なる平面に新たな把持箇所を設定ステップS114した場合や、把持する平面は教示データと同じであるが、対象物Wの位置ずれに応じて把持箇所をオフセットさせて新たな把持箇所を設定ステップS110した場合は、新たな把持箇所で対象物Wを把持して搬送するために必要な把持力必要把持力を算出するステップS116。必要把持力は、把持形態毎に設定されている力学モデルを用いて算出する。以下では、力学モデルを用いて必要把持力を算出する方法について説明する。B-2.力学モデルを用いた必要把持力の算出方法:図10は、把持形態毎に設定された力学モデルの概要を示す説明図である。前述したように本実施例のロボット10は、把持形態1~4の四つの把持形態を備えており、それぞれの把持形態に対して力学モデルが設定されている。例えば、把持形態1では、対象物Wは、四本の指部102a~dと対象物Wとの間で発生する摩擦力によって支えられていると考えることができる。従って、指部102aと対象物Wとの間に生じる摩擦力以下では、指部102aでの摩擦力と称する。他の指部102b~dについても同様をfa、指部102bでの摩擦力をfb、指部102cでの摩擦力をfc、指部102dでの摩擦力をfdとし、対象物Wの重量mgとすると、摩擦力fa~fdと対象物Wの重量mgとの間で、重力方向の力、およびモーメントが釣り合うような力学モデルを考えることができる。そして、この力学モデルから、対象物Wの重量mgを支えるために必要な最低限の摩擦力fa~fdが求められ、指部102a~dと対象物Wとの間での静摩擦係数をμとすると、その摩擦力fa~fdを発生させるために必要な最低限の把持力Nを決定することができる。また、把持形態2では、対象物Wが回転しようとして基台部104から反力を受けるので、この反力nを考慮する必要がある。簡単のために、対象物Wを同じ側から支える二本の指部102aおよび指部102bを一本の指部102にまとめ、同様に指部102cおよび指部102dを一本の指部102にまとめる。更に、こうしてまとめた左右どちらの指部102にも同じ大きさの力が作用するものとして、それらの指部102を一つの指部102で代表させる。すると、図10に示すように把持形態2に対する力学モデルは、指部102と対象物Wとの間で発生する摩擦力fの重力方向成分f1と、水平方向成分f2と、対象物Wの重量mgと、基台部104から受ける反力nとの間で、力およびモーメントが釣り合うような力学モデルとなる。把持形態3では、対象物Wの重量mgは、対象物Wの下側にある指部102からの反力によって主に支えられると考えられる。しかし、対象物Wが回転しようとして基台部104からの反力も受けるので、この反力を支えるために指部102で発生する摩擦力も考慮する必要がある。簡単のために、対象物Wを同じ側から支える二本の指部102aおよび指部102bを一本の指部102にまとめ、同様に指部102cおよび指部102dを一本の指部102にまとめる。そして、対象物Wの下側の指部102から受ける反力をn1、この反力n1に伴う摩擦力をf1とし、対象物Wの上側の指部102から受ける反力をn2、この反力n2に伴う摩擦力をf2とし、更に、対象物Wが基台部104から受ける反力をn3、この反力n3に伴う摩擦力をf3とする。すると、図10に示すように把持形態3に対する力学モデルは、上下の指部102での反力n1,n2と、上下の指部102での摩擦力f1,f2と、基台部104での反力n3と、基台部104での摩擦力f3と、対象物Wの重量mgとの間で、力およびモーメントが釣り合うような力学モデルとなる。把持形態4では、対象物Wの重量mgは、対象物Wの下側にある二本の指部102からの反力によって主に支えられると考えられる。上述した把持形態3とは異なって、対象物Wが回転しようとしても基台部104から反力を受けることはない。従って、図10に示すように把持形態4に対する力学モデルは、対象物Wの下側の二本の指部102からの反力n1、n2と、対象物Wの重量mgとの間で、力およびモーメントが釣り合うような力学モデルとなる。尚、このような力学モデルによって求められた反力が負の値となった場合は、対象物Wの上側の指部102から反力を受けているものと考えればよい。また、各把持形態に対応するこれらの力学モデルは、制御部122内のメモリーに予め記憶されている。図4あるいは図8を用いて前述したように、本実施例では、把持形態1および把持形態3で対象物Wを把持することから、それぞれの把持形態に対応する力学モデルを用いて必要把持力対象物Wを把持するために最低限必要な把持力を算出する。図11は、把持形態1での必要把持力を算出するための詳細な力学モデルを示した説明図である。図11aに示すように、指部102aと指部102bとの間隔指部102cと指部102dとの間隔をSとする。また、対象物Wの重心位置Gは、指部102aと指部102bとの中間の位置からの水平方向の距離Lの位置にあるものとする。すると、重力方向の力の釣り合いは、図11b中の1式によって表される。尚、指部102aでの摩擦力faが二倍されているのは、指部102cでの摩擦力fcも摩擦力faに含めたためであり、指部102bでの摩擦力fbが二倍されているのは、指部102dでの摩擦力fdも摩擦力fbに含めたためである。また、指部102aと指部102bとの中間の位置を中心とするモーメントの釣り合いは、図11b中の2式によって表される。指部102aと指部102bとの間隔Sは予め分かっている。また、対象物Wに対して新たに設定された把持箇所から、対象物Wの重心位置Gを表す距離Lを求めることができる。更に、図4に示したように教示データの予備情報には、対象物Wの重量mgも設定されている。従って、図11bに示した1式および2式から、把持形態1で対象物Wを把持するために必要な摩擦力fa,fbを決定することができる。また、指部102と対象物Wとの間での静摩擦係数をμとすると、図11cに示したクーロンの摩擦法則から、摩擦力faを発生させるために指部102aおよび指部102cで必要な最低限の把持力naと、摩擦力fbを発生させるために指部102bおよび指部102dで必要な最低限の把持力nbとを決定することができる。そして、これら把持力na、nbの大きい方の把持力が必要把持力となる。次に、把持形態3での必要把持力を算出する方法について説明する。図10を用いて前述したように把持形態3に対する力学モデルでは、対象物Wの下側の指部102から受ける反力n1および摩擦力f1と、上側の指部102から受ける反力n2および摩擦力f2と、基台部104から受ける反力n3および摩擦力f3とを考えればよい。しかし、長い対象物Wを把持した場合と短い対象物Wを把持した場合とでは、対象物Wが回転する方向が違うので、基台部104からの反力n3がかかる位置や摩擦力f3の方向が異なったものとなる。また、指部102が重心位置Gで対象物Wを支えた場合は対象物Wが回転しないので、基台部104からの反力n3や摩擦力f3を考慮する必要はない。このため、把持形態3に対する力学モデルは、長い対象物Wを把持する場合対象物Wの重心位置Gがハンド部100の外側にある場合に対応する力学モデルと、短い対象物Wを把持する場合対象物Wの重心位置Gが指部102の把持箇所と基台部104との間にある場合に対応する力学モデルと、その中間の場合指部102が対象物Wの重心位置Gを真下から支える場合に対応する力学モデルの三つのモデルに分けられる。図12は、指部102が対象物Wの重心位置Gを真下から支える場合の必要把持力を算出するための詳細な力学モデルを示した説明図である。図12aに示すように、対象物Wの長さを2Lとすると、対象物Wの重心位置Gは基台部104からの距離Lの位置にある。指部102が、この重心位置Gで真下から対象物Wを支えるためには、指部102の長さが基台部104からDRで、且つ、先端の長さRの部分で対象物Wを支えるとしたときに、重心位置GがこのRの範囲内にあればよい。ここで、指部102の長さDRや、対象物Wに当接する部分の長さRは予め分かっている。また、教示データの把持情報に基づいて対象物Wの長さ2Lを求めることができる。従って、D≦L≦DRが成立する場合には、図12aに示すような力学モデルを用いることができる。そして、対象物Wに当接する指部102の長さRの部分のうち、先端側の端部基台部104からの距離がDRの箇所で発生する反力をn1、根元側の端部基台部104からの距離がDの箇所で発生する反力をn2とすると、重力方向の力の釣り合いは、図12b中の3式によって表される。また、指部102が対象物Wに当接する長さRの部分の根元側の端部を中心とするモーメントの釣り合いは、図12b中の4式によって表される。従って、教示データに設定されている対象物Wの重量mgを用いて、3式および4式を満足する反力n1,n2を決定することができる。尚、反力n1,n2が負の値となった場合は、その反力は対象物Wの上側の指部102から受ける反力と考えればよい。そして、これら反力n1,n2のうちで絶対値の大きい方の反力が必要把持力となる。図13は、長い対象物Wを把持する場合の必要把持力を算出するための詳細な力学モデルを示した説明図である。対象物Wの長さ2Lが長くなると、基台部104から重心位置Gまでの距離Lが、指部102の先端までの長さDRよりも長くなる。そしてこの場合は、対象物Wの先端側基台部104から遠い側が下がろうとして対象物Wが回転し、その結果、対象物Wの基台部104側では、下側の角が基台部104に押しつけられて反力n3を受けるようになる。従って、DR<Lが成立する場合には、図13aに示すような力学モデルを用いることができる。また、この力学モデルでは、下側の指部102から受ける反力n1は、指部102が対象物Wに当接する長さR部分の先端側基台部104からの距離がDRの箇所に発生し、上側の指部102から受ける反力n2は、指部102が対象物Wに当接する長さR部分の根元側基台部104からの距離がDの箇所に発生する。従って、重力方向の力の釣り合いは、図13b中の5式によって表され、水平方向の力の釣り合いは、6式によって表される。また、下側の指部102が対象物Wに当接する長さRの部分の根元側の端部を中心とするモーメントの釣り合いは、図13b中の7式によって表される。尚、7式中のSは、下側の指部102が対象物Wに当接する部分と、上側の指部102が対象物Wに当接する部分との距離を表している。また、摩擦力f1,f2,f3は、反力n1,n2,n3に静摩擦係数μを乗算した値となる。従って、5式~7式を満足する反力n1,n2,n3を決定することができる。そして、反力n1,n2のうちで絶対値の大きい方の反力が必要把持力となる。図14は、短い対象物Wを把持する場合の必要把持力を算出するための詳細な力学モデルを示した説明図である。対象物Wの長さ2Lが短くなると、指部102は、対象物Wの重心位置Gよりも遠い箇所で対象物Wを把持するようになる。そしてこの場合は、対象物Wの手前側基台部104に接する側が下がろうとして対象物Wが回転し、その結果、対象物Wの上側の角が基台部104に押しつけられて反力n3を受けるようになる。従って、L<Dが成立し、且つ、DR<2Lが成立する場合には、図14aに示すような力学モデルを用いることができる。尚、DR<2Lが条件に含まれるのは、この条件が成立しないと、基台部104および指部102を用いて対象物Wを安定した状態で把持することができなくなることによる。また、図14aに示した力学モデルでは、下側の指部102から受ける反力n1は、指部102が対象物Wに当接する長さR部分の根元側基台部104からの距離がDの箇所に発生し、上側の指部102から受ける反力n2は、指部102が対象物Wに当接する長さR部分の先端側基台部104からの距離がDRの箇所に発生する。このとき、重力方向の力の釣り合いは、図14b中の8式によって表され、水平方向の力の釣り合いは、9式によって表される。また、下側の指部102が対象物Wに当接する長さRの部分の根元側の端部を中心とするモーメントの釣り合いは、図14b中の10式によって表される。また、図13の場合と同様に、摩擦力f1,f2,f3は、反力n1,n2,n3に静摩擦係数μを乗算した値となる。従って、8式~10式を満足する反力n1,n2,n3を決定することができる。そして、反力n1,n2のうちで絶対値の大きい方の反力が必要把持力となる。以上では、それぞれの把持形態で対象物Wを静止した状態で把持するために必要な把持力以下では、静的な必要把持力と称するを、力学モデルに基づいて決定する方法について説明した。しかし、図4あるいは図8を用いて前述したように、ハンド部100は対象物Wを把持した状態で移動するので、対象物Wには慣性力も作用する。従って実際には、対象物Wに働く慣性力の影響も考慮して必要把持力を決定する必要がある。図15は、対象物Wに働く慣性力も考慮して必要把持力を決定する様子を示した説明図である。図15aには、教示データに示された対象物Wの移動加速度が示されている。また、図15bには、力学モデルを用いて決定された静的な必要把持力が示されている。この静的な必要把持力に対して、対象物WがP1の位置からP2の位置まで移動する間区間P12と、P3の位置からP4の位置まで移動する間区間P34とでは、対象物Wが加減速する加速度に応じて重力方向の慣性力が作用する。また、対象物WがP2の位置からP3の位置に移動する間区間P23では、対象物Wが加減速する加速度に応じて水平方向の慣性力が作用する。その結果、対象物Wに加わる慣性力も考慮した必要把持力は、図15cに示した把持力となる。以上、把持形態に応じた力学モデルを用いて必要把持力を算出する方法について説明した。図2および図3に示す対象物把持処理のステップS116では、新たに設定した把持箇所で対象物Wを把持した状態で、教示データに示される移動経路を移動加速度で移動させたときに必要な把持力必要把持力を算出する。尚、新たな把持箇所での必要把持力を算出する処理は、制御部122が図2の対象物把持処理を実行する中で行われる。従って、本実施例においては制御部122が、本発明における必要把持力算出部に対応する。続いて、算出した必要把持力が、許容把持力以下であるか否かを判断する図3のステップS118。許容把持力とは、実際に対象物Wを把持するときに許容し得る最大の把持力である。例えば、あまりに大きな把持力で把持すると対象物Wを損傷してしまうおそれがあるから、把持力の上限は、対象物Wの材質あるいは構造に応じて制限される。また、ロボット10が発生させることの可能な把持力にも限界がある。従って、対象物Wの材質あるいは構造によって決まる上限の把持力や、ロボット10が発生可能な上限の把持力などが許容把持力となり得る。もっとも、多くの場合は、対象物Wの材質あるいは構造によって決まる上限の把持力の方が、ロボット10が発生可能な上限の把持力よりも小さいので、対象物Wの材質あるいは構造によって許容把持力が決定される。本実施例では、教示データに設定された対象物Wの材質ステンレスが耐え得る把持力を許容把持力とする。従って、本実施例においては、教示データに設定されている対象物Wの材質が、本発明における許容把持力に関する情報に対応する。図15cに示したように、慣性力を考慮した必要把持力は、対象物WをP3の位置からP4の位置に移動させる間区間P34で、材質ステンレスの許容把持力を超えている。従って、図3のステップS118ではnoと判断し、続いて、静的な必要把持力は許容把持力以下であるか否かを判断するステップS120。その結果、静的な必要把持力も許容把持力を超えていた場合はステップS120:no、新たに設定した把持箇所では対象物Wを把持できないと考えられるので、その旨の警報を出力してステップS134、図2および図3に示した対象物把持処理を終了する。尚、警報を出力する前に別の把持箇所を探して、別の把持箇所を見いだすことができなかった場合に警報を出力するようにしても良い。一方、静的な必要把持力は許容把持力を超えていなかった場合はステップS120:yes、対象物Wに加わる慣性力を抑制することで、慣性力を考慮した場合でも必要把持力を許容把持力以下に抑えることが可能である。そこで、慣性力を考慮した必要把持力が許容把持力を超える区間での移動加速度を低下させるステップS122。図15cに示した例では、慣性力を考慮した必要把持力は、P3の位置からP4の位置までの間区間P34で許容把持力を超えているから、この区間P34で対象物Wを加速させる際および減速させる際の加速度を小さくする。教示データの移動情報には、区間P34では、ロボット10が発生可能な最大加速度で加減速させる旨が設定されているが図4あるいは図8を参照、この区間での移動加速度を、最大加速度の例えば半分の加速度に変更する。そして、その移動加速度での必要把持力慣性力を考慮した必要把持力を算出しステップS124、得られた必要把持力が許容把持力以下であるか否かを判断するステップS126。図16には、区間P34での移動加速度を最大加速度の半分の加速度にしたときの移動速度、静的な必要把持力、および慣性力を考慮した必要把持力が示されている。図16aに示されるように、P1の位置からP3の位置まで区間P12および区間P23は教示データと同じ移動速度および移動加速度で移動するが、区間P34では移動加速度が半分に減少している。尚、これに伴って区間P34で達する最高速度が低くなり、区間P34の移動に要する時間も少し長くなっている。もちろん、移動加速度が半分になっても、図16bに示すように静的な必要把持力は変わらない。しかし、移動加速度が半分になると対象物Wに作用する慣性力も半分になるので、図16cに示すように慣性力を考慮した必要把持力は小さくなる。その結果、必要把持力が許容把持力以下であると判断されるステップS126:yes。また、仮に、移動加速度を半分にしても、慣性力を考慮した必要把持力が許容把持力以下にならなかった場合は、ステップS126ではnoと判断して、ステップS122に戻って、更に移動加速度を低下させた後、その移動加速度での慣性力を考慮した必要把持力を計算するステップS124。そして、慣性力を考慮した必要把持力が許容把持力以下であった場合はステップS126:yes、予め複数設定されている把持力の設定値の中から、新たな把持箇所で対象物Wを把持するための把持力を選択するステップS128。すなわち、本実施例のロボット10では、ハンド部100の把持力を複数段階に切り換えるようになっており、ある把持力に設定されると、対象物Wを把持してから離すまで、その把持力を維持するようになっている。こうすることで、対象物Wを把持する際や、把持した対象物Wの移動中に把持力を細かく調整する必要が無くなるので、制御を簡単にすることができる。また、複数の設定値の中から把持力を選択すればよいので、新たな把持力を簡単に設定することが可能となる。図16cに示した例では、把持力の設定値として、8ニュートン以下、ニュートンをNと略記する、10N、12N、14Nの四つの設定値が設定されている。また、慣性力を考慮した必要把持力は約9.5Nであり、許容把持力は11Nであるから、必要把持力よりも大きく、且つ許容把持力よりも小さな設定値である10Nを新たな把持力選択設定値として選択する。尚、把持力の設定値は、制御部122に内蔵されたメモリーに記憶されている。従って、本実施例においては制御部122が、本発明における設定値記憶部に対応する。以上では、新たな把持箇所に対して算出した必要把持力が許容把持力を超えていたためにステップS118:no、教示データに設定された移動加速度を変更して、新たな必要把持力を算出する場合について説明した。これに対して、新たな把持箇所に対して算出した必要把持力が許容把持力を超えていなかった場合ステップS118:yesは、ステップS128において、その必要把持力よりも大きく、且つ許容把持力よりも小さな設定値を、新たな把持力選択設定値として選択すればよい。以上のようにして、新たな把持箇所に対する把持力を設定したら、教示データを変更するステップS130。上述した例では、図16aに示したように、区間P34での移動加速度の設定を、ロボット10が発生可能な最大加速度に対して50の設定に変更し、また、把持力を10Nに変更している。これに伴って、図17に示すように、教示データの把持情報中の把持力および把持箇所と、移動情報中の移動加速度とについての教示データを変更する。そして、変更した教示データを用いて把持動作を実行した後ステップS132、図2および図3に示した対象物把持処理を終了する。尚、変更した教示データは、新たに設定した把持箇所に対する教示データとして記憶しておき、再度、その把持箇所で対象物Wを把持する場合には、記憶しておいた教示データを用いて対象物Wを把持するようにしても良い。また、教示データを変更する処理は、制御部122が図2の対象物把持処理を実行する中で行われる。従って、本実施例においては制御部122が、本発明における教示データ変更部に対応する。以上のような対象物把持処理を行う本実施例のロボット10は、教示データに設定された把持箇所で対象物Wを把持することができない事態が生じると、新たな把持箇所を設定し、設定した把持箇所に応じた必要把持力を教示データに基づいて算出する。そして、得られた必要把持力と、教示データに基づいて定められた許容把持力との範囲内で新たな把持力を設定して対象物Wを把持する。このため、把持力が大きすぎて対象物Wに損傷を与えたり、あるいはロボット10が発生可能な把持力が不足して対象物Wの移動中に対象物Wを落としてしまったりすることがない。その結果、適切に対象物Wを把持して移動させることが可能となる。また、新たな把持力を設定するに際しては、予め設定されている複数の設定値の中から選択すればよいので、簡単に把持力を設定することが可能となる。加えて、ハンド部100の発生する把持力が設定値の把持力に限られるので、ハンド部100が対象物Wを把持する制御が簡単になり、ロボット10の制御を単純にすることも可能となる。以上、本実施例のロボットについて説明したが、本発明は上記の実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。"