"互いの間隔を変更可能に設けられた複数本の指部と、前記複数本の指部の間に設けられて前記指部の先端方向に向かって移動可能な掌部とを備えたハンド部を用いて対象物を把持するロボットであって、複数の位置から前記対象物を撮影する撮影手段と、前記対象物を撮影した画像に基づいて前記対象物の位置を検出する対象物検出手段と、前記指部の間隔が、前記対象物を把持する間隔よりも広く、且つ前記掌部の位置が、前記対象物を把持する位置よりも前記指部の先端側から後退した位置に設定された把持準備状態に、前記ハンド部を設定するハンド部準備手段と、前記ハンド部の状態を、前記指部の間隔が前記対象物を把持する間隔よりも広く、且つ前記掌部の位置が前記対象物を把持する位置よりも前記指部の先端側から後退した位置にある把持準備状態とするハンド部準備手段と、前記把持準備状態の前記ハンド部を前記対象物の位置に移動するハンド部移動手段と、前記掌部を前記把持準備状態から前記指部の先端方向に移動させて前記対象物に当接させる第1把持動作と、前記掌部を前記対象物に当接させた状態で、前記複数本の指部の間隔を狭めて前記複数本の指部を前記対象物に当接させる第2把持動作とを行うことによって、前記対象物を把持する把持手段とを備えることを特徴とするロボット。請求項1に記載のロボットであって、前記把持手段は、前記第1把持動作を行って前記掌部を前記対象物に当接させたまま、前記指部の先端に対する前記掌部の位置が所定位置となるように前記ハンド部の位置を修正して、前記第2把持動作を行うことを特徴とするロボット。しかし、提案されている技術では、実際にはティーチング作業を行うことなく対象物を把持することが難しいという問題があった。すなわち、通常のカメラの画像では位置分解能が低いので、複数の位置から撮影したカメラの画像に基づいて対象物の位置などの情報を取得しようとしても、十分な精度の情報を取得することができない。このため、ハンド部を対象物に近付ける際にハンド部が対象物に衝突して、対象物を破損させたり、ハンド部に搭載されたセンサー類を破損させたりするおそれが生じる。こうしたおそれを回避するためには、依然としてロボットに対するティーチング作業が必要になるという問題があった。この発明は、従来の技術が有する上述した課題の少なくとも一部を解決するためになされたものであり、複数の位置から撮影したカメラの画像に基づいて、ティーチング作業をせずとも対象物を把持することが可能なロボットを提供することを目的とする。上述した課題の少なくとも一部を解決するために、本発明のロボットは次の構成を採用した。すなわち、互いの間隔を変更可能に設けられた複数本の指部と、前記複数本の指部の間に設けられて前記指部の先端方向に向かって移動可能な掌部とを備えたハンド部を用いて対象物を把持するロボットであって、複数の位置から前記対象物を撮影する撮影手段と、前記対象物を撮影した画像に基づいて前記対象物の位置を検出する対象物検出手段と、前記指部の間隔が、前記対象物を把持する間隔よりも広く、且つ前記掌部の位置が、前記対象物を把持する位置よりも前記指部の先端側から後退した位置に設定された把持準備状態に、前記ハンド部を設定するハンド部準備手段と、前記把持準備状態の前記ハンド部を前記対象物の位置に移動するハンド部移動手段と、前記掌部を前記把持準備状態から前記指部の先端方向に移動させて前記対象物に当接させる第1把持動作と、前記掌部を前記対象物に当接させた状態で、前記複数本の指部の間隔を狭めて前記複数本の指部を前記対象物に当接させる第2把持動作とを行うことによって、前記対象物を把持する把持手段とを備えることを特徴とする。こうした構成を有する本発明のロボットにおいては、複数の位置から対象物を撮影した画像に基づいて対象物の位置を検出すると、ハンド部を把持準備状態とした後、対象物の位置まで移動させる。尚、対象物の画像は、異なる位置に設けられた複数の撮影手段によって撮影しても良いし、撮影手段の位置を動かすことによって複数の位置から撮影しても良い。また、把持準備状態とは、ハンド部に設けられた指部の間隔が、ハンド部で対象物を把持する時の指部の間隔よりも広く設定され、且つ、掌部の位置が、ハンド部で対象物を把持する時の掌部の位置よりも、指部の先端側から後退した位置に設定されたハンド部の状態である。そして、掌部を前進させて対象物に当接させる第1把持動作を行った後、掌部を対象物に当接させたまま、指部の間隔を狭めて対象物に当接させる第2把持動作を行うことによって、対象物を把持する。こうすれば、指部や掌部が対象物に衝突しないように余裕を持たせた間隔および位置に指部と掌部とが設定された状態で、ハンド部を対象物の位置まで移動させることができる。このため、たとえ対象物の位置を検出する精度が低くても、ハンド部の指部や掌部が対象物に衝突あるいは接触することがない。そして、ハンド部を対象物の把持位置まで移動させた後、第1把持動作で掌部を対象物に当接させ、第2把持動作で指部を対象物に当接させて対象物の把持を行う。これら第1把持動作あるいは第2把持動作では、ハンド部の全体ではなく、掌部あるいは指部を動かすだけなので、たとえ掌部や指部が対象物に当接しても大きな力は発生せず、対象物やハンド部のセンサー類に損傷を与えるおそれがない。その結果、対象物の位置の検出精度が低くても対象物を把持することができるので、ティーチング作業をせずとも、複数の位置から撮影したカメラの画像に基づいて対象物を把持することが可能となる。尚、ハンド部で対象物を把持する際に必要となる対象物の外形寸法に関する情報は、ロボットに予め設定しておき、その情報を読み出すことによって取得することもできるが、複数の位置から撮影した対象物の画像に基づいて取得するようにしても良い。また、上述した本発明のロボットにおいては、第1把持動作を行って掌部を対象物に当接させたまま、指部の先端に対する掌部の位置が所定位置となるようにハンド部の位置を修正してから、第2把持動作を行うようにしてもよい。こうすれば、掌部を対象物の当接させた後、ハンド部の位置を修正することができるので、たとえ対象物の位置の検出精度が低くても、指部の先端に対して掌部が適切な位置にある状態で対象物を把持することが可能となる。A.本実施例のロボットの構造:図1は、本実施例のロボット10の構造を例示した説明図である。図1aに示されるように、本実施例のロボット10は、本体部300と、本体部120から立設されたアーム部200と、アーム部200の先端に取り付けられて対象物Wrを把持するハンド部100と、把持しようとする対象物Wrの画像を撮影するカメラ400a,400bなどから構成されている。本体部300には、ロボット10全体の動作を制御する制御部302が内蔵されている。また、アーム部200には複数の関節202が設けられており、制御部302の制御によって関節202を任意の角度に屈曲させて、ハンド部100の位置および向きを移動させることが可能である。図1bに示されるように、ハンド部100は、力センサー108を介してアーム部200に取り付けられた基台102と、基台102から立設された複数本の指部104と、指部104と指部104との間に設けられた掌部106などから構成されている。指部104と指部104の間隔は、制御部302の制御によって広げたり狭めたりすることが可能である。また、掌部106についても、制御部302の制御によってシャフト106sを出し入れすることにより、指部104の先端に近づく方向以下、前進方向と呼ぶに移動させたり、指部104の先端から遠ざかる方向以下、後退方向と呼ぶに移動させたりすることが可能である。更に、指部104の間隔、あるいは掌部106の位置は、基台102に設けられた図示しないセンサーによって検出することができる。尚、ハンド部100を移動させるアーム部200が、本発明におけるハンド部移動手段に対応し、カメラ400a,400bが、本発明における撮影手段に対応する。B.対象物の把持動作:図2は、本実施例のロボット10が対象物Wrを把持する際に行う対象物把持処理のフローチャートである。対象物Wrを把持するに際しては、先ず始めに複数の位置から対象物Wrの画像を撮影するステップS100。本実施例のロボット10は、2台のカメラ400a,400bを備えているから、それぞれのカメラ400a,400bで撮影することにより、2つの位置から対象物Wrを撮影することができる。もちろん、3台以上のカメラを備えて、3つ以上の位置から対象物Wrを撮影しても良い。あるいは、1台のカメラ400を移動させて異なる位置から撮影することによって、複数の位置から対象物Wrを撮影するようにしても良い。次に、複数の位置から対象物Wrを撮影した画像に基づいて、対象物Wrの位置および外形形状を検出するステップS102。図3は、2台のカメラ400a,400bで撮影した画像から、対象物Wrの位置および外形形状を検出する方法を示した説明図である。図3aには、カメラ400aで撮影した画像が示されている。また、図中に示した細い破線は、画像を構成する画素の区切りを表している。尚、実際の画像はもっと多くの画素から構成されているが、図示が煩雑となることを避けるため、画素の数を実際よりも少なく表示している。また、図中に示した太い破線は、画像の中央の位置を表している。対象物Wrを撮影する際のカメラ400aの位置や向きおよびレンズの焦点距離などを決めておけば、画像に写る範囲撮影範囲が決まる。従って、カメラ400aで撮影した画像中で、対象物Wrが写った画素の位置を検出すれば、対象物Wrが存在する水平方向XY方向の位置を検出することができる。図3bに示したカメラ400bによる画像についても全く同様にして、対象物Wrの水平方向XY方向の位置を検出することができる。一方、対象物Wrの高さ方向Z方向の位置は、2台のカメラ400a,400bの画像から、いわゆる三角測量の原理によって検出することができる。例えば、対象物Wrの上面の左下隅のA点は、図3aに示した画像では太い破線で示した中央位置よりも少しだけ右側に写っている。一方、図3bに示した画像では、画像の中央位置よりも大きく左側に偏った位置に写っている。これら画像の中央位置からの隔たりは、カメラ400aあるいはカメラ400bから見てA点が存在する方向角度を示している。すなわち、カメラ400aの真正面にA点が存在すれば画像の中央位置にA点が写るはずであり、A点の存在する方向がカメラ400aの真正面から偏るほど角度が大きくなるほど、画像の中央位置から隔たった位置にA点が写るはずである。従って、画像の中央位置からの隔たりによって、カメラ400aあるいはカメラ400bの真正面方向からA点が存在する方向への角度を知ることができる。そして、カメラ400aとカメラ400bとの間の距離は予め計測しておくことができるから、三角測量の原理によってA点の位置を検出することが可能となる。図4は、2台のカメラ400a,400bの画像から、三角測量によって対象物Wrの高さ方向の位置を検出する方法を示した説明図である。例えば、カメラ400aの真正面方向からA点が存在する方向への角度がθaであり、カメラ400bの真正面方向からA点が存在する方向への角度がθbであったとする。すると、カメラ400aとカメラ400bとA点とを頂点とする三角形を考えることができる。そして、カメラ400aとカメラ400bとの間の距離Dが分かれば、三角形の一辺の長さおよびその辺の両側の角度が決まるので、三角形が1つに決定される。その結果、A点の座標を求めることができ、A点が存在する高さHを決定することができる。このような操作を、対象物Wrの全ての特徴点例えば、上面の他の3つの角などについても行えば、対象物Wrの位置および外形形状を検出することができる。尚、以上の説明では、高さ方向Z方向の位置についてだけ、三角測量の原理によって検出するものとして説明した。しかし、図4を用いて説明したように、三角測量を用いればXYZ方向の座標を求めることができるので、水平方向の位置についても、三角測量によって検出しても良い。また、ここでは2台のカメラ400a,400bを用いて対象物Wrの画像を撮影するものとして説明した。しかし、1台のカメラ400であっても、図4中でカメラ400aが存在する位置、およびカメラ400bが存在する位置まで移動させて、対象物Wrの画像を撮影すれば、上述した方法と全く同様にして、対象物Wrの位置および外形形状を検出することができる。図2のステップS102では、このようにして対象物Wrの位置および外形形状を検出する。尚、以上では、2台のカメラ400a,400bの画像を用いて対象物Wrの位置および外形形状を検出するものとして説明した。しかし、対象物Wrが予め1つに決まっている場合には、その対象物Wrの外形形状を予め記憶しておき、対象物Wrの位置のみを検出するようにしてもよい。また、複数種類の対象物Wrが存在する場合には、次のようにしても良い。先ず、それら対象物Wrの外形形状を予め記憶しておく。そして、2台のカメラ400a,400bの画像から、対象物Wrの大まかな大きさ例えば高さや幅などを検出して、予め記憶されている中から合致する外形形状を選択するようにしても良い。尚、2台のカメラ400a,400bの画像に基づいて対象物Wrの位置および外形形状を検出する処理は、本体部300の制御部302が実行する。従って、本実施例では制御部302が、本発明における対象物検出手段に対応する。以上のようにして対象物Wrの位置および外形形状を検出したら、今度は、対象物Wrの把持位置の情報すなわち、対象物Wrの何処を把持するかに関する情報を取得するステップS104。本体部300に内蔵された制御部302には、対象物Wrの外形形状や、把持位置に関する情報がデータベースとして記憶されている。そして、カメラ400a,400bの画像から検出した外形形状に該当する対象物Wrをデータベースの中から検索し、その対象物Wrに記憶されている把持位置を読み出すことによって、把持位置の情報を取得する。続いて、本実施例のロボット10は、指部104の間隔と、掌部106の位置とを、把持準備状態に設定するステップS106。ここで、把持準備状態とは、本実施例のロボット10が対象物Wrを把持する準備として設定するハンド部100の状態であり、ハンド部100が対象物Wrを把持した時の指部104の間隔よりも、一定量だけ広い間隔に指部104の間隔を設定し、且つ、ハンド部100が対象物Wrを把持した時の掌部106の位置よりも、一定量だけ後退させた指部104の先端から遠ざけた位置に掌部106の位置を設定した状態である。対象物Wrの外形形状は既に検出されておりステップS102、対象物Wrの把持位置も既に取得されているステップS104。従って、対象物Wrを把持した時の指部104の間隔Wや、指部104の先端からの掌部106の距離Lは容易に求めることができる。そこで、ハンド部100の把持準備状態として、指部104の間隔については、対象物Wrを把持する時の間隔Wよりも一定量aだけ広い間隔Waに設定し、掌部106の位置については、対象物Wrを把持する時の指部104の先端からの距離Lよりも、一定量bだけ後退した位置Lbに設定する。図5には、対象物Wrに応じて設定されたハンド部100の把持準備状態が例示されている。尚、対象物Wrを把持した時の指部104の間隔Wや、指部104の先端からの掌部106の距離Lは、対象物Wrに対するデータベースとして、制御部302に予め記憶しておくことができる。また、指部104の間隔に関するaの値、あるいは掌部106の位置に関するbの値は、対象物Wrに応じて異ならせることができる。たとえば、大きな対象物Wrや、壊れやすい材質で形成された対象物Wrに対しては、aあるいはbの値を大きな値に設定することができる。尚、ハンド部100を把持準備状態とする動作は、本体部300の制御部302が実行する。従って、本実施例では制御部302が、本発明におけるハンド部準備手段に対応する。ハンド部100を把持準備状態に設定したら、対象物Wrを把持する位置までハンド部100を移動させるステップS108。尚、ここでは、対象物Wrを上方から把持するものとして、対象物Wrの上方にハンド部100を移動させる。図5に示したように、指部104は対象物Wrを把持する間隔よりも広い間隔に設定されており、掌部106は対象物Wrを把持する位置よりも後退した位置に設定されている。このため、対象物Wrを把持する位置までハンド部100を移動させても、ハンド部100が対象物Wrに衝突あるいは接触することはない。続いて、掌部106の前進指部104の先端方向に移動を開始するステップS110。そして、掌部106が対象物Wrから受ける反力Fが所定値に達したか否かを判断するステップS112。上述したようにハンド部100を対象物Wrの把持位置まで移動させた段階では、掌部106と対象物Wrとの間には隙間が存在するので、掌部106を前進させても対象物Wrから反力Fを受けることはない。しかし、掌部106を前進させているうちに、やがて掌部106が対象物Wrに当接して、対象物Wrからの反力Fを受けるようになる。そして、図1に示したように、ハンド部100は力センサー108を介してアーム部200に取り付けられているので、掌部106の受けた反力Fが力センサー108で検出される。ステップS112では、この反力Fが所定値に達したか否かを判断する。その結果、反力Fが所定値に達していなければステップS112:no、そのまま掌部106の前進を継続する。これに対して、反力Fが所定値に達したらステップS112:yes、掌部106の移動を停止するステップS114。尚、反力Fが所定値に達するまで掌部106を前進させる動作が、本発明の第1把持動作に対応する。次に、本実施例のロボット10は、掌部106が受ける反力Fを所定値に保ったまま、ハンド部100の基台102と、掌部106との位置関係を修正するステップS116。これは次のような動作である。先ず、ハンド部100の把持準備状態では、掌部106は、対象物Wrを把持した時の掌部106の位置から、距離bだけ後退した位置指部104の先端からの距離がLbの位置に設定される。その後、対象物Wrを把持する位置までハンド部100を移動させて、掌部106を前進させる。従って、対象物Wrの位置が誤差無く検出できていれば、掌部106が距離bだけ前進した時点で対象物Wrに当接する筈である。しかし、対象物Wrの高さ方向Hは三角測量によって計算で求めているので、画素位置から直接求めた水平方向の位置に比べて大きな誤差を含んでいる。このため、実際には、掌部106が距離bだけ前進した時点で対象物Wrに当接するわけではない。換言すれば、対象物Wrを把持した時の掌部106は、指部104の先端から距離Lだけ下がった位置で対象物Wrに当接しているべきであるが、実際には誤差の分だけ異なった位置で対象物Wrに当接する。そこで、掌部106の位置が正しい位置となるように、ハンド部100の基台102と掌部106との位置関係を修正するのである。例えば、掌部106が前過ぎる位置指部104の先端に近過ぎる位置で対象物Wrに当接している場合には、基台102をアーム部200で対象物Wrに押しつける方向に移動させながら、基台102の移動量だけ掌部106を後退させることによって、基台102と掌部106との位置関係従って、指部104の先端と掌部106との距離を修正する。実際には、アーム部200で基台102を対象物Wrに近付けながら、力センサー108で検出される反力Fが所定値となるように、掌部106の位置を後退させる。あるいは逆に、アーム部200で基台102を対象物Wrから遠ざけながら、力センサー108で検出される反力Fが所定値となるように、掌部106の位置を前進させる。図6には、ハンド部100が対象物Wrを上方から把持する際に、ハンド部100の基台102と掌部106との位置関係を修正する様子が示されている。先ず、ハンド部100を対象物Wrを把持する位置に移動させた状態では、図6aに示したように、掌部106の位置は指部104の先端からLbの位置にある。また、掌部106と対象物Wrとの間にも隙間が存在している。この隙間は、対象物Wrの位置が誤差無く検出されているのであれば、距離bとなる筈であるが、実際に距離bとなっているか否かは定かではない。図6bには、対象物Wrから反力Fを受けるまで掌部106を前進させた状態が示されている。対象物Wrの検出位置に誤差が含まれていた影響で、掌部106は指部104の先端から距離L0の位置で対象物Wrに当接している。そこで、距離L0が本来の距離Lよりも小さい場合すなわち、掌部106が前進しすぎている場合は、基台102を対象物Wrに近付けながら、掌部106を後退させることによって、掌部106が対象物Wrから受ける反力Fを所定値に保ったまま、掌部106の位置を修正する。逆に、距離L0が本来の距離Lよりも大きい場合すなわち、掌部106が十分に前進していない場合は、基台102を対象物Wrから遠ざけながら、掌部106を前進させることによって、掌部106が対象物Wrから受ける反力Fを所定値に保ったまま、掌部106の位置を修正する。こうすることによって、図6cに示されるように、掌部106の位置を、指部104の先端からの距離がLの正しい位置に修正することが可能となる。このようにして掌部106の位置を修正した後図2のステップS116、指部104の間隔を狭めることによって、対象物Wrの把持を完了するステップS118。尚、指部104が対象物Wrを把持したことは、次のような方法で検出することができる。例えば、指部104に図示しない力センサーを設けておき、力センサーの出力が適切な値となったら、把持が完了したと判断することができる。あるいは、基台102とアーム部200とを接続する力センサー108の出力によって検出することもできる。すなわち、全ての指部104が同時に対象物Wrに当接することは事実上、起こり得ない。必ず何れかの指部104が対象物Wrに当接し、その後、更に指部104の間隔を狭めていくことによって、全ての指部104が対象物Wrに当接する。従って、何れかの指部104が対象物Wrに当接した時点で、力センサー108では水平方向の反力が検出され、その後、全ての指部104が対象物Wrに当接すると、それまで検出されていた水平方向の反力が検出されなくなる。このことから、力センサー108で検出されていた水平方向の反力が検出されなくなった時点で、対象物Wrの把持が完了したと判断することもできる。尚、掌部106が対象物Wrから受ける反力Fを所定値に保ったまま、指部104の間隔を狭めて対象物Wrに当接させる動作が、本発明の第2把持動作に対応する。そして、上述した第1把持動作および第2把持動作は、本体部300の制御部302が実行する。従って本実施例においては、制御部302が本発明における把持手段に対応する。以上に説明したように、本実施例のロボット10では、ハンド部100で対象物Wrを把持する際に、指部104の間隔が、実際に把持する際の間隔よりも広く設定され、掌部106の位置が、実際に把持する際の位置よりも指部104の先端から後退した位置に設定された状態把持準備状態にハンド部100を設定し、その状態でハンド部100を把持位置まで移動させている。このため、移動中にハンド部100が対象物Wrに衝突あるいは接触して、対象物Wrを破損させたり、ハンド部100のセンサー類力センサー108などを破損させたりするおそれがない。その結果、ハンド部100を把持位置まで移動させる速度を上げても、重たいハンド部100が高速で対象物Wrに衝突あるいは接触して、対象物Wrあるいはハンド部100を損傷させるおそれが生じることがない。加えて、移動後のハンド部100が対象物Wrの把持位置で多少振れても対象物Wrに衝突あるいは接触することがないので、アーム部200の剛性を低く設定することができる。その結果、アーム部200の重量や回転慣性を抑えることが可能となり、ハンド部100をより速い速度で移動させることが可能となる。更に、掌部106を対象物Wrに当接した後、ハンド部100の基台102と掌部106との位置関係を修正してから、指部104の間隔を狭めて対象物Wrを把持しているので、対象物Wrの位置を精度良く検出することができなくても、常に理想的な位置で対象物Wrを把持することが可能となる。以上、本実施例のロボット10について説明したが、本発明は上記の実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。"