(57)【特許請求の範囲】
【請求項１】
内部に複数のセンサが分散されて配置された曲面状弾性体を物体把持面に有するフィンガを備えるロボットハンド又はマニピュレータによる物体把持制御方法であって、前記フィンガで物体を把持して持ち上げる際に、所定周期毎に前記各センサから得られた曲面状弾性体のせん断ひずみ又はせん断応力によって、曲面状弾性体と物体との間の固着領域の大きさを求め、該固着領域の大きさによって前記フィンガによる把持力及び持ち上げ力を制御することを特徴とするハンド又はマニピュレータによる物体把持制御方法。
【請求項２】
前記把持力及び持ち上げ力の制御は、フィンガの物体把持方向への移動量、物体を持ち上げる方向への移動量の制御によって行われる請求項１記載のハンド又はマニピュレータによる物体把持制御方法。
【請求項３】
前記センサは曲面状弾性体のせん断ひずみを検出するセンサで、前記各センサから得られた曲面状弾性体のせん断ひずみより、前記所定周期での各せん断ひずみの変化量を該所定周期で割ったひずみ変化速度の組、前記所定周期での各せん断ひずみの変化量を該所定周期での物体持ち上げ力の増加量で割った値の組、前記所定周期での各せん断ひずみの変化量を該所定周期での物体把持力の増加量で割った値の組、前記所定周期での各せん断ひずみの変化量を該所定周期での物体持ち上げ方向変位の増加量で割った値の組、前記所定周期での各せん断ひずみの変化量を該所定周期での物体把持方向変位の増加量で割った値の組のいずれか１組を求め、この求めた１組の値の内で所定値を超えるものの数が基準値を越えるか否かで固着領域の大きさを判別し、該判別結果に基づいて前記フィンガによる把持力及び持ち上げ力を制御する請求項１又は請求項２記載のハンド又はマニピュレータによる物体把持制御方法。
【請求項４】
前記センサは曲面状弾性体のせん断応力を検出するセンサで、前記各センサから得られた曲面状弾性体のせん断応力より、前記所定周期での各せん断応力の変化量を該所定周期で割ったせん断応力の時間微分の組、前記所定周期での各せん断応力の変化量を該所定周期での物体持ち上げ力の増加量で割った値の組、前記所定周期での各せん断応力の変化量を該所定周期での物体把持力の増加量で割った値の組、前記所定周期での各せん断応力の変化量を該所定周期での物体持ち上げ方向変位の増加量で割った値の組、前記所定周期でのせん断応力の変化量を該所定周期での物体把持方向変位の増加量で割った値の組のいずれか１組を求め、この求めた１組の値の内で所定値を超えるものの数が基準値を越えるか否かで固着領域の大きさを判別し、該判別結果に基づいて前記フィンガによる把持力及び持ち上げ力を制御する請求項１又は請求項２記載のハンド又はマニピュレータによる物体把持制御方法。
【請求項５】
前記１組の値の内で所定値を超えるものの数が、基準値より小さくなったときにはフィンガによって物体に向けて加えられる力ベクトルの前記所定周期毎の増分量を増大させ、逆に、基準値より大きくなったときには前記力ベクトルの前記所定周期毎の増分量を減少させるようにフィンガに加える力を制御する請求項３又は請求項４に記載のハンド又はマニピュレータによる物体把持制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットハンド又はマニピュレータによる物体の把持制御方法に関するもので、特に、重量及び摩擦係数が未知の物体をロボットハンド又はマニピュレータで把持し持ち上げるための把持制御方法に関する。
【０００２】
【従来の技術】
ロボットハンドやマニピュレータにより、重量及び摩擦係数が未知の物体を把持し持ち上げ搬送等を行うには、この物体が把持力でつぶされず、かつ把持部から滑り落ちないように、必要最小限の力で把持する必要がある。このため、ロボットハンド等で把持し持ち上げようとしたときの物体の滑り変位や滑り速度を検出し、この検出情報をフィードバックし把持力を制御する物体把持方法や、さらに、物体の摩擦係数を検出する方法等の提案が、「日本ロボット学会誌  Ｖol．１１  Ｎ0.７  ９５９〜９６５頁  １９９３年」に記載されている。
【０００３】
しかし、物体が滑りはじめる際の滑りを検出する方法では、ロボットハンドと物体との相対位置がわずかながら変化してしまい、物体を高精度に位置決めする等の作業には適さない。又、摩擦係数を検出する方法を用いれば物体が滑りはじめない範囲の適当な把持力を求めることができる。しかし、装置が複雑になるという欠点がある。
【０００４】
そこで、本願発明の発明者等は、重量及び摩擦係数が未知の物体を曲面状弾性体で把持し、物体とこの曲面状弾性体の接触面に物体の荷重を受け接線方向に接線力を生じせしめ、そのときの曲面状弾性体内部のせん断ひずみ分布を観測し、接線力を増大させると、接触領域の端部から初期局所滑りの領域が成長していき、ひずみ分布が、最終的に全体が滑る場合の固有の分布となる。しかし、全体的に滑りが生じる分布にならないように接線力及び物体を把持する法線力を増加すれば、ロボットハンドやマニピュレータによって重量及び摩擦係数が未知の物体を把持し持ち上げることができることを、「日本機械学会論文集（Ｃ編）６４巻６２０号  １９９８年４月  第１２５８〜第１２６５頁」で発表している。
【０００５】
又、本願発明の発明者等は、上述した曲面状弾性体内部のせん断ひずみ分布を検出することができるセンサとして、曲面状のシリコーンゴム内部にひずみゲージを添付した薄板を均一間隔に複数枚配置し、これらひずみゲージによって上述したひずみ分布を測定できることを、「日本機械学会論文集６４巻６２７号  Ｃ編  １９９８年１１月  第４２６４〜第４２７０頁」で発表している。
【０００６】
【発明が解決しようとする課題】
上述したように、重量及び摩擦係数が未知の物体を曲面状弾性体で把持し、この曲面状弾性体内部に配置したひずみゲージによってひずみ分布を検出し、このひずみ分布から、物体を握りつぶさず、かつ滑り落とさず、ロボットハンド等で物体を把持し持ち上げることが可能でることは、開示されているが、どのようなひずみ分布パターンを用いれば、物体を握りつぶさずかつ滑り落とさず持ち上げることができるか、又、その把持力制御方法も不明であった。
【０００７】
そこで、本発明の目的は、重量及び摩擦係数が未知の物体をロボットハンド又はマニピュレータによって、把持位置のずれも生じることなく把持し持ち上げることができる把持制御方法を提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、内部に複数のセンサが分散されて配置された曲面状弾性体を物体把持面に有するフィンガを備えるロボットハンド又はマニピュレータによる物体把持制御方法であって、前記フィンガで物体を把持して持ち上げる際に、所定周期毎に前記各センサから得られた曲面状弾性体のせん断ひずみ又はせん断応力によって、曲面状弾性体と物体との間の固着領域の大きさを求め、該固着領域の大きさによって前記フィンガによる把持力及び持ち上げ力を制御することにより、物体を握りつぶすことなく、かつ、滑り落とすことなく持ち上げることができるようにしたものである。
【０００９】
又、曲面状弾性体を介して物体を把持しているものであるから、把持力及び持ち上げ力は、フィンガの物体把持方向への移動量、持ち上げ方向の移動量に比例する。そこで、把持力及び持ち上げ力の制御を、フィンガの物体把持方向への移動量、物体を持ち上げる方向への移動量の制御によって行う。
【００１０】
前記固着領域の大きさを求める例として、前記所定周期での各せん断ひずみの変化量を該所定周期で割ったひずみ変化速度の組、前記所定周期での各せん断ひずみの変化量を該所定周期での物体持ち上げ力の増加量で割った値の組、前記所定周期での各せん断ひずみの変化量を該所定周期での物体把持力の増加量で割った値の組、前記所定周期での各せん断ひずみの変化量を該所定周期での物体持ち上げ方向変位の増加量で割った値の組、前記所定周期での各せん断ひずみの変化量を該所定周期での物体把持方向変位の増加量で割った値の組、前記所定周期での各せん断応力の変化量を該所定周期で割ったせん断応力の時間微分の組、前記所定周期での各せん断応力の変化量を該所定周期での物体持ち上げ力の増加量で割った値の組、前記所定周期での各せん断応力の変化量を該所定周期での物体把持力の増加量で割った値の組、前記所定周期での各せん断応力の変化量を該所定周期での物体持ち上げ方向変位の増加量で割った値の組、前記所定周期でのせん断応力の変化量を該所定周期での物体把持方向変位の増加量で割った値の組のいずれか１組を求め、この求めた１組の値の内で所定値を超えるものの数が基準値を越えるか否かで固着領域の大きさを判別し、該判別結果に基づいて前記フィンガによる把持力及び持ち上げ力を制御する。
【００１１】
そして、把持力、持ち上げ力の制御としては、１組の値の内で所定値を超えるものの数が、基準値より小さくなったときにはフィンガによって物体に向けて加えられる力ベクトルの前記所定周期毎の増分量を増大させ、逆に、基準値より大きくなったときには前記力ベクトルの前記所定周期毎の増分量を減少させるようにフィンガに加える力を制御する。
【００１２】
【発明の実施の形態】
図１は、重量と摩擦係数が未知の物体を把持し持ち上げる場合において、物体を把持するフィンガと物体間に加わる力を接触面に垂直な法線力（把持力）Ｆｎと接触面に平行な接線力（摩擦力）Ｆｔとに分けて解析した力関係の説明図である。摩擦力はクーロンの法則に従うものとし、簡単のため、動摩擦係数と静止摩擦係数は等しい値μであると仮定して解析している。
【００１３】
フィンガで物体を把持してこの把持力（法線力）Ｆｎと、垂直な上方向に持ち上げようとする力である接線力Ｆｔにおいて、物体が滑る条件は
Ｆｔ＝μ・Ｆｎ        ・・・・（１）
である。又、自重ｍｇの物体を持ち上げる条件は、
Ｆｔ＝ｍｇ／２        ・・・・（２）
である。物体を持ち上げるには、まず法線力Ｆｎを加え、その後、この加えた法線力Ｆｎによって生じる摩擦力以下の接線力（持ち上げ力）Ｆｔを徐々に増加して、接線力Ｆｔが物体の重力ｍｇ以上になると、物体は持ち上がるものである。すなわち図１において、上記１式の直線の下側の領域を通る力増加曲線を得れば、物体は滑り落ちることなく、持ち上げることができるものである。
【００１４】
法線力Ｆｎが大きすぎると、物体はつぶれたり損傷を受けたりする可能性があるので、接線力Ｆｔが物体の重力ｍｇに達し物体を持ち上げるときの力の到達点Ａの法線力
Ｆｎ＝ＦL           ・・・・（３）
は上記１式と２式の交点
Ｆｎ＝ｍｇ／２μ    ・・・・（４）
に十分に近いほどよい。
【００１５】
そこで、本発明は、物体を持ち上げる力到達点Ａの法線力（把持力）Ｆｎ＝ＦLが上記１式と２式の交点Ｆｎ＝ｍｇ／２μに近く、かつ常に図１における１式の直線の下側を通るように法線力Ｆｎ、接線力Ｆｔを制御することによって、重量と摩擦係数が未知の物体をロボットハンド又はマニピュレータで把持し持ち上げることができる、ハンド又はマニピュレータによる物体把持制御方法を得ることにある。
【００１６】
本発明は、曲面状弾性体でそのせん断ひずみ又はせん断応力を検出できるセンサを用いて、上記物体把持制御方法を得るもので、図２は、その一形態を示す図で、ロボットアーム２１の先端手首２２にロボットハンド１０を取り付け、該ロボットハンド１０のフィンガ１１ａ、１１ｂの先端には、物体Ｗを把持する面に対向して、上述した内部に複数のセンサが埋め込まれた曲面状弾性体で構成されたセンサ部１２、１２が取り付けられている。
【００１７】
なお、センサ部１２，１２の曲面状弾性体の内部の構造は任意であり、フィンガは図２では２本の場合を示したが、その数は２以上の任意の数でよく人の手のように５本あってもよい。また、センサ部はフィンガのうちの１つ以上に配置されておればよく、図２に示すように対向するフィンガ１１ａ、１１ｂにそれぞれセンサ部１２，１２を設けてもよく、若しくは、一方のフィンガにのみセンサ部を設け、他方は、センサ部を構成しない曲面状弾性体でもよい。
【００１８】
そして、このロボットハンド１０のフィンガ１１ａ、１１ｂはサーボモータによって開閉ができ、さらに、この開閉方向に対して垂直方向に、このフィンガ部１１をサーボモータで移動できるように構成されている。
【００１９】
上述した曲面状弾性体１３で構成されるセンサ部１２は図３（ａ）に示すように円筒面状に形成しても、又は図３（ｂ）に示すように球面状に形成してもよい。又、他の任意の曲率の面状に形成してもよいが、いずれにしても、曲面状になっていることにより、垂直反力（法線力）の大きさが場所によって異なり、後述する局所滑りが生じるような形状であればよい。
【００２０】
図４は、曲面状弾性体１３で構成されるセンサ部１２の内部構造説明図である。図４（ａ）に示す例は、ひずみゲージ、ＰＶＤＦ（ポリフッ化ビニリデン）などのセンサ１４を弾性体１３内に数枚埋め込む例である。この図４（ａ）に示す例は、センサとしてひずみゲージ１４を貼り付けたリン青銅板等の板ばね１４’が互いに平行で等間隔に接触面に対して約４５度（必ずしも４５度ではなく他の角度でもよい）傾けて曲面状弾性体１３内に複数埋め込まれている。なお、ひずみゲージ１４を直接埋め込む方法でも、さらには、片持ち梁状の位置にひずみゲージ１４を貼り付ける方法でもよい。
【００２１】
このセンサの場合、物体Ｗをこのセンサ部１２，１２の曲面状弾性体１３で把持した際、曲面状弾性体１３がたわみひずむので、このひずみを各ひずみゲージ１４で検出し出力するようにしたものである。
【００２２】
図４（ｂ）に示すセンサ部１２の例は、物体把持部とは反対側の面に突起を持つ曲面状弾性体１５、透明な光導波路１６、ＣＣＤなどの光検出部１７をサンドイッチ状に並べて配置して構成されるセンサ部１２である。曲面状弾性体１５がせん断変形すると、突起は何らかの変形を受けるため、突起と光導波路１６との接触部の形状が変化する。光導波路１６に光を通過させ、検出部１７から見ると光導波路１６と突起が接触している部分が乱反射して明るく見えるので、画像処理することによって突起接触部の形状を把握することができる。この画像情報から、曲面状弾性体１５のせん断ひずみ速度の分布又はせん断応力の時間微分の分布などを検出するようにする。
【００２３】
図５は物体Ｗに上述したセンサ部１２の曲面状弾性体１３（１５）を押圧し法線力Ｆｎのみを加えたときと、接線力Ｆｔをも加えたときのひずみ状態の説明図である。
【００２４】
図５の左側は、法線力Ｆｎのみを加えたときの図で、右側は、法線力Ｆｎと接線力Ｆｔを加えたときの図である。そして、曲面状弾性体１３（１５）の物体Ｗとの接触面付近を、法線力Ｆｎのみ加えて変形した状態のときに１０個の正方形に区画して考えている。法線力Ｆｎのみを加えた左側の図では、曲面状弾性体１３（１５）の正方形の物体Ｗとの接触点１〜１１は物体Ｗに固着（固定）している。そこで、右側の図のように上向きに接線力Ｆｔも追加して加えると、曲面状弾性体１３（１５）はせん断ひずみを受けるので、正方形は菱形にせん断変形する。
【００２５】
この点を詳細に検討すると、曲面状弾性体１３（１５）の物体Ｗへの接触領域の端の部分（この図５では点１〜３及び点９〜１１）は、加わるせん断力が最大静止摩擦力を越えているために物体Ｗとの接触点は滑っている。しかし中心部（図５の例で点４〜８）は加わるせん断力が最大静止摩擦力を越えないので固着されたままである。その結果、固着部分の正方形は菱形となり相似形である。滑っている部分は、固着部分の菱形より滑っている分、正方形に近い形をしている。
【００２６】
この図５の、左側と右側を比較してわかるように、曲面状弾性体１３（１５）と物体Ｗとの接触領域において、端の部分の滑りが生じた部分（この図５の点１〜３及び点９〜１１）は、せん断ひずみが少なく、中心部の滑りがなく接触面が物体に固着している部分（図５の例で点４〜８）はせん断ひずみ量が大きいことを示している。すなわち、せん断ひずみの変化率は端部で小さく中心部で大きいことを示している。このことは、接線力（持ち上げ力）Ｆｔを徐々に増加させ、せん断ひずみ変化速度を検出し、この値が基準値以上であるときは、曲面状弾性体１２（１５）と物体Ｗとの接触面での滑りが生ぜず固着しているものと想定でき、又基準値以下の場合には滑りが生じているものと想定することができる。
【００２７】
以上のように、上記曲面状弾性体１３（１５）のひずみを上述したひずみゲージ等のセンサ１４で検出し、曲面状弾性体１３（１５）のせん断ひずみの変化量の分布、せん断ひずみ速度の分布又はせん断応力の時間微分の分布などに基づいて、曲面状弾性体１３（１５）と物体Ｗとの間の固着領域の大きさに関連する量を検出し、その情報を利用してハンド又はマニピュレータに加える力又はその移動量を制御して物体を握りつぶすことも、滑り落とすことなく最適の把持力で把持し持ち上げることができる物体把持制御方法を得ることができる。
【００２８】
すなわち、固着領域が小さくなったならば、物体Ｗは滑り落ちそうになっているのであるから、力ベクトルの向きが接触面の法線方向に近づくように図１に示す力増加曲線の傾きを小さくする（法線力Ｆｎの増分を大きくする。または、接線力Ｆｔの増分を小さくする）。逆に、固着領域が大きくなったならば、法線力が大きすぎて物体Ｗを握りつぶす可能性があるから、力ベクトルの向きが接触面の法線方向から遠ざかるように力増加曲線の傾きを大きくするようにすればよい（法線力Ｆｎの増分を小さくする。または、接線力Ｆｔの増分を大きくする）。このような力制御を行うことによって、重量及び摩擦係数が未知な物体を、簡単に、握りつぶさず、かつ滑り落とすことなく把持し持ち上げることができる。
【００２９】
なお、物体Ｗを曲面状弾性体１３（１５）で把持し、その弾性力で物体Ｗを把持し持ち上げるものであるから、物体Ｗ及び曲面状弾性体１３（１５）に加わる力及び反力の法線力Ｆｎ、接線力（摩擦力）Ｆｔは、曲面状弾性体１３（１５）の法線方向への移動量、接線方向への移動量に対応する。そのため、上述した固着領域の大きさに応じた力増加曲線の制御を曲面状弾性体１３（１５）の移動量、すなわちハンド１０のフィンガ１１ａ、１１ｂの法線方向の移動量（開閉方向の移動量）、接線方向の移動量（フィンガ部１１の垂直方向への移動量）を制御することによって達成することができる。
【００３０】
図６は、上述した物体把持制御方法を適用した一実施形態のロボットシステムの要部ブロック図である。
符号３０は、ロボット制御装置である。該制御装置３０は、ロボットシステム全体を制御するプロセッサ３１、該プロセッサ３１とバス３６で接続されたＲＯＭ、ＲＡＭ、不揮発性ＲＡＭ等で構成されたメモリ３２、ロボットへの各種指令や教示動作プログラムを教示するときに使用される表示装置付き教示操作盤３３、ロボットに設けられたセンサや周辺機器のセンサやアクチュエータと接続される入出力回路３４、ロボット各軸のサーボモータを駆動し、各軸の位置、速度さらには力を制御するサーボ制御回路３５を備えている。
【００３１】
ロボット本体２０は、図示した例は、垂直方向に上下動する上下動軸２４、該上下動軸の先端に設けられ垂直軸周りに旋回する第１のアーム２３、該第１のアーム２３の先端に軸支され垂直軸周りに旋回する第２のアーム２１、該第２のアーム先端に設けられた手首２２、該手首２２には図２に示したように、ハンド１０が取り付けられ、該ハンド１０は、フィンガ１１ａ、１１ｂをサーボモータで開閉でき、かつ、このフィンガ部１１をフィンガ１１ａ、１１ｂの開閉方向と垂直で、上下方向（重力方向）にサーボモータで移動させることができるものである。
【００３２】
上述したロボットシステムは従来のロボットシステムとほぼ同一であるが、従来のロボットシステムと特別相違する点は、上述したようにハンド１０が、フィンガ１１ａ、１１ｂの物体把持面に曲面状弾性体１３（１５）で構成するセンサ部１２が取り付けられたものを使用している点、ハンド１０のフィンガ１１ａ、１１ｂの開閉を行うサーボモータ（以下把持用サーボモータという）、物体を持ち上げるためにフィンガ部１１を上下動させるサーボモータ（以下リフト用サーボモータという）を、ロボット制御装置３０内に設けられた付加軸用サーボ制御回路３５によって制御する点、及び、ハンド１０に設けたセンサ部１２の各ひずみゲージ等のセンサ１４（なお、この実施形態では、図４（ａ）で示した曲面状弾性体１３内に複数（Ｍ／２個）のひずみゲージ１４が埋め込まれたセンサを使用している例を示す）からのひずみ量を示す出力信号を入出力回路３４を介して、ロボット制御装置のプロセッサ３１が検出できるようにしている点である。なお、ひずみゲージ１４からの出力信号は入出力回路３４内のＡ／Ｄ変換器でデジタル信号に変換されるものである。
【００３３】
図７は、物体Ｗを把持し持ち上げるためにロボット制御装置３０のプロセッサ３１が実行する処理のフローチャートである。
ロボット制御装置３０は、ハンド１０のフィンガ１１ａ、１１ｂで物体Ｗを把持できる位置までロボット本体の各軸を駆動し位置決めした後、図７に示す処理を開始する。
【００３４】
まず、把持用サーボモータへ低速でフィンガ１１ａ、１１ｂを閉じる方向への移動指令を出力する（ステップＳ１）。該把持用サーボモータのサーボ制御回路はこの移動指令を受け、該サーボモータに取り付けられたパルスコーダ等の位置・速度検出器からのフィードバック信号に基づいて位置・速度及び電流検出器からのフィードバック信号に基づいてトルク（電流）制御を行い、把持用サーボモータを駆動制御する。フィンガ１１ａ、１１ｂが移動し、曲面状弾性体１２を介してフィンガ１１ａ、１１ｂが物体Ｗを把持し、センサ部１２の曲面状弾性体１３が変形し、その弾性力が負荷となり把持用サーボモータの駆動電流Ｉh が増大する。
【００３５】
プロセッサ３１は、この把持用サーボモータの駆動電流（フィードバック電流）Ｉh をサーボ制御回路３５を介して検出し、該電流Ｉh が所定把持力（法線力）に対応する電流値Ｉ0 以上に達したか判断し（ステップＳ２）、達すると移動指令を停止し（ステップＳ３）、物体Ｗをハンド１０で把持した状態を維持する。そして、センサ部１２、１２の各ひずみゲージ１４から出力されるひずみ量の信号εｉを入出力回路３４を介して読み取り、各レジスタＲi(ε)にそれぞれ格納する（ステップＳ４）。なお、本実施形態においては各センサ部１２はひずみゲージ１４を（Ｍ／２）個有しているものとし、各ゲージ１４のひずみ量εｉを記憶するレジスタＲi(ε)は、ｉ＝１〜ＭのＭ個備えるものとしている。
【００３６】
次に、把持用サーボモータへの移動指令量を記憶するレジスタＰに「０」を格納し、リフト用サーボモータへの移動量を記憶するレジスタＱに設定量「Δｙb 」を設定する。さらに、リフト用サーボモータの駆動電流値ＩL を記憶するレジスタＲ（ＩL）に「０」をセットする（ステップＳ５）。なお、説明を簡単にするために、ハンド１０のフィンガ１１ａ、１１ｂの開閉方向をＸ軸方向とし、又、リフト方向（重力方向）をＹ軸方向としている。又、後述するように、フィンガ１１ａ、１１ｂの閉じ方向への移動指令量は大きい量のΔｘb と小さい量のΔｘs が予め設定されており、リフト量（持ち上げ量）に対しても大きい量Δｙb と小さい量Δｙｓ がそれぞれ予め設定されている。
【００３７】
ステップＳ５の処理をした後、プロセッサ３１は、ステップＳ６〜ステップＳ２２の処理を所定周期Δｔ毎、実行する。
【００３８】
まず、把持用サーボモータへレジスタＰに記憶する移動量を出力し（最初はステップＳ５で設定された「０」が出力される）（ステップＳ６）、その後、リフト用サーボモータへレジスタＱに記憶する移動量（最初はステップＳ５で設定されたΔｙb ）を出力し（ステップＳ７）、リフト用サーボモータを駆動する。なお、ステップＳ１、Ｓ２の処理で物体Ｗは所定の把持力（法線力）で把持されているから、リフト用サーボモータを駆動してフィンガ１１ａ，１１ｂを所定微少量Δｙb だけ上昇させても、センサの曲面状弾性体１３と物体Ｗとの接触面での滑りは局部的に発生しても、全体的な滑り現象は生じない。
【００３９】
次に、リフト用サーボモータの駆動電流ＩL をサーボ制御回路３５を介して読みとる（ステップＳ８）、なお、ステップＳ７の処理を行った後、駆動電流が安定するまで所定時間遅れてリフト用サーボモータの駆動電流ＩL を読みとるようにしてもよい。この読み取った駆動電流ＩL からレジスタＲ（ＩL ）に記憶する値を差し引いた値が設定値β以下か判断する（ステップＳ９）。物体Ｗが持ち上がるまで、接線力（摩擦力）Ｆｔは増大し、リフト用サーボモータに加わる負荷も増大すので駆動電流も増大する。しかし、物体Ｗが持ち上がると物体の重力ｍｇのみが接線力としてリフト用サーボモータに負荷としてかかるのみとなるから、リフト用サーボモータの駆動電流は変化がなくなり前周期の検出値と今周期の検出値の差は非常に小さくなり、設定値β以下となる。
【００４０】
最初のうちは、設定値βを越えるのでステップＳ９からステップＳ１０に移行してステップＳ８で読みとった今周期のリフト用サーボモータの駆動電流値ＩL をレジスタＲ（ＩL）に格納する。
【００４１】
次に、センサ部１２のひずみゲージ１４を指定する指標ｉを「１」にセットすると共にカウンタＮを「０」にセットし（ステップＳ１１）、ひずみゲージ１４ｉから出力されるひずみ量εｉを入出力回路３４を介して読みとる（ステップＳ１２）。そして、この読みとったひずみ量εｉからレジスタＲi(ε)の値（最初はステップＳ４で記憶した値）を減算し、その値を周期Δｔで割ってひずみ量の変化速度（Δεｉ／Δｔ）を求める（ステップＳ１３）。
【００４２】
その後、ステップＳ１２で読みとったひずみゲージ１４ｉのひずみ量εｉをレジスタＲi(ε)に格納し（ステップＳ１４）、ステップＳ１３で求めたひずみ量の変化速度（Δεｉ／Δｔ）が設定値αを越えているか判断し（ステップＳ１５）、越えていれば、カウンタＮを「１」インクリメントし（ステップＳ１６）、越えていなければ、カウントアップは行わずにステップＳ１７に進む。ステップＳ１７では、指標ｉを「１」インクリメントし、該指標ｉの値がセンサ部１２，１２のひずみゲージ１４の数Ｍを越えているか判断し（ステップＳ１８）、この指標ｉの値がひずみゲージ１４の数Ｍを越えるまでステップＳ１２からステップＳ１８の処理を繰り返し実行し、各ひずみゲージ１４ｉで検出されるひずみ量εｉからその変化速度（Δεｉ／Δｔ）を求め、この変化速度が設定値αを越える数をカウンタＮで計数する。
【００４３】
指標ｉの値がひずみゲージ１４の数Ｍを越えると、ステップＳ１９に移行し、カウンタＮの値が設定基準値Ｎαを越えているか判断し、越えている場合には、フィンガ１１ａ、１１ｂを駆動する把持用サーボモータへの移動量を記憶するレジスタＰに小さい量の設定値Δｘs を格納し、リフト用のサーボモータへの移動量を記憶するレジスタＱに大きい方の設定値Δｙb を格納する（ステップＳ２０）。
【００４４】
又、カウンタＮの値が設定基準値Ｎαを越えていないときには、カウンタＮの値が設定基準値Ｎαより小さいか判断し（ステップＳ２１）、小さくもないとき、すなわち、等しいときは、レジスタＰ、Ｑの値は変更せず、又、小さいときには、レジスタＰに大きい方の設定値Δｘb を、レジスタＱには小さい方の設定値Δｙs を格納し（ステップＳ２２）、当該処理周期の処理を終了する。以下各周期毎ステップＳ６以下の処理を繰り返し実行する。なお、図７の処理でステップＳ６以下の処理は所定周期Δｔ毎の処理であるが説明を簡単にするためにステップＳ２２からステップＳ６に戻るように記載している。
【００４５】
以上の通り、所定周期Δｔ毎、把持用サーボモータ、リフト用サーボモータにレジスタＰ、Ｑに格納された微少移動量の指令が出力され（ステップＳ６，Ｓ７）、物体Ｗへの把持力（法線力Ｆｎ）は増大し、かつ接線力（持ち上げ力であり摩擦力に対応する）も増大する。そして、前周期と今周期で検出された各ひずみゲージ１４の出力から各ひずみゲージ１４が配置された位置におけるひずみ速度（Δεｉ／Δｔ）を求め。このひずみ速度が所定基準値αを越える数をカウンタＮで計数する（ステップＳ１２〜ステップＳ１８）。
【００４６】
すなわち、前述したように、物体Ｗとセンサ１２の曲面状弾性体１３の接触面で滑りが生じている部分は前周期と今周期のひずみ量の変化が少ないからひずみ量の変化速度（Δεｉ／Δｔ）は小さく、設定基準値αを越えない。しかし、物体Ｗとセンサの曲面状弾性体の接触面が固着されている部分は、滑りが生じていないから、リフト用サーボモータでフィンガ１１ａ、１１ｂの移動に対応する分ひずみが増加している。そのため、ひずみ量の変化速度（Δεｉ／Δｔ）は設定基準値αを越える。これがカウンタＮで計数される。その結果、カウンタＮの値は、物体Ｗとセンサの曲面状弾性体の接触面が固着された領域の大きさを示すものとなる。
【００４７】
そして、このカウンタＮの値が設定基準値Ｎαを越えているときには、固着領域の大きさが設定基準値Ｎαに対応する大きさよりも大きく、接線力Ｆｔに対して法線力Ｆｎが大きいことを示している。さらに、この法線力Ｆｎと接線力Ｆｔの増加割合で増加させると、必要以上の法線力Ｆｎが物体に加えられ、物体を握りつぶしてしまう可能性がある。そこで、この場合には、把持用サーボモータへの移動指令量を設定されている小さい方の量Δｘs とし、かつリフト用サーボモータへの移動指令量を設定されている大きい方の量Δｙb として、図１に示す力増加曲線の傾きを大きくする（ステップＳ２０）。
【００４８】
一方、カウンタＮの値が設定基準値Ｎαを越えていないときには、固着領域の大きさが設定基準値Ｎαに対応する大きさよりも小さく、接線力Ｆｔに対して法線力Ｆｎが小さいことを示している。そして、この法線力Ｆｎと接線力Ｆｔの増加割合で増加させると、法線力Ｆｎは接線力Ｆｔに対して相対的に小さいから、物体Ｗとセンサの曲面状弾性体１３の接触面で全面的な滑りが生じ、物体Ｗを滑り落とす可能性がある。そこで、この場合には、把持用サーボモータへの移動指令量を設定されている大きい方の量Δｘb とし、かつリフト用サーボモータへの移動指令量を設定されている大きい方の量Δｙs として、図１に示す力増加曲線の傾きを小さくする（ステップＳ２２）。
【００４９】
又、カウンタＮの値が設定基準値Ｎαに等しい場合には、法線力Ｆｎと接線力Ｆｔの増加割合が現在の状態で最適な状態であるから、レジスタＰ、Ｑの値を変えずに、前周期に用いた値を使用して、力増加曲線の傾きを変えずに把持用サーボモータ、リフト用サーボモータを駆動する。
【００５０】
なお、上述した基準値α、Ｎαは、実験若しくはシミュレーションによって最適値を求め、その値を設定するようにしている。
【００５１】
以上のステップＳ６からステップＳ２２の処理を所定周期Δｔ毎繰り返し実行し、物体Ｗが持ち上げられた後は、リフト用サーボモータ加わる負荷は、物体Ｗの自重ｍｇであり変化がないから、リフト用サーボモータが物体Ｗを持ち上げその位置を保持するためのトルク、すなわち駆動電流値ＩL は変化がなくなる。そこで、ステップＳ９で、今周期で検出されたリフト用サーボモータの駆動電流値ＩL と前今周期で検出されたリフト用サーボモータの駆動電流値（レジスタＲ(ＩL）に記憶する値）差が設定値β以下の場合には、物体Ｗが持ち上げられたとして、この処理を終了する。
【００５２】
上記実施形態では、ステップＳ１３で、ひずみ量の変化速度（Δεｉ／Δｔ）を求めたが、所定周期Δｔは一定であるから、ひずみの変化量Δεｉを求めるようにしてもよい。この場合ステップＳ１５の判断は、Δεｉ＞α・Δｔ＝設定値、となる。
【００５３】
又、ひずみ量の変化速度の代わりに、ひずみの変化量Δεｉを当該周期におけるリフト量Δｙb 又はΔｙs 割って、接線力Ｆｔの増加量に対するひずみ変化量の比を求め、又はひずみの変化量Δεｉを当該周期におけるフィンガ１１ａ、１１ｂの移動量Δｘb又はΔｘsで割って、法線力接線力Ｆｎの増加量に対するひずみ変化量の比を求め、これらの比の大きさによって、固着領域の大きさを判別するようにしてもよい。
【００５４】
又、上記実施形態では、力増加曲線の傾きを変えるために、フィンガ１１ａ、１１ｂの移動量、及び、リフト量をΔｘb 、Δｘa 、Δｙb 、Δｙs 、と大、小の量を設定し、力増加曲線の傾きを制御するようにしたが、どちらか一方を固定した値とし、他方を大、小２つの値を設定し力増加曲線の傾きを制御するように制御してもよい。例えば、リフト量をΔｙと固定し、ステップＳ２０ではフィンガ１１ａ、１１ｂの把持方向の移動量を小さい移動量Δｘs に設定し、ステップＳ２２では大きい移動量Δｘb に設定すればよい。これにより、ステップＳ２０での設定によって力増加曲線の傾きは大きくなり、ステップＳ２２の設定によって傾きは小さくなる。同様にフィンガ１１ａ、１１ｂの移動量Δｘを一定とし、リフト量をΔｙb 、Δｙsと変え、力増加曲線の傾きを調整するようにしてもよい。
【００５５】
又、センサとして、ひずみ量を測定するセンサを用いたが、せん断ひずみを測定するセンサを用いても、本発明は適用できるものである。
【００５６】
さらに上記実施形態は、物体Ｗ及び曲面状弾性体１３に加わる力及び反力の法線力Ｆｎ、接線力（摩擦力）Ｆｔは、曲面状弾性体１３の法線方向への移動量、接線方向への移動量に対応するとして、固着領域の大きさに応じた力増加曲線の制御を曲面状弾性体１３の移動量、すなわちハンド１０のフィンガ１１ａ、１１ｂの法線方向の移動量（開閉方向の移動量）、接線方向の移動量（フィンガ部１１の垂直方向への移動量）を制御した。この移動量を制御する代わりに、当然直接、法線力Ｆｎ、接線力Ｆｔを制御するようにしてもよい。
【００５７】
この場合、固着領域の大きさを判別するパラメータとして、上述したような、ひずみ量の変化量Δεｉを時間Δｔで割ったひずみ量の変化速度（Δεｉ／Δｔ）としてもよいが、むしろ、ひずみ量の変化量Δεｉを当該周期における法線力増加量ΔＦｎまたは接線力増加量ΔＦｔで割った値とし、ステップＳ１３で、ひずみ量の変化速度（Δεｉ／Δｔ）の代わりに、ひずみ量の変化量と法線力増加量との比（Δεｉ／ΔＦｎ）、または、ひずみ量の変化量と接線力増加量の比（Δεｉ／ΔＦｔ）を求め、ステップＳ１４以下と同様の処理を行い固着領域の大きさを判別する。
【００５８】
また、この場合には、把持用サーボモータ、リフト用サーボモータに対して、物体を把持する際に、法線力Ｆｎ、接線力Ｆｔの力指令を与え、各サーボモータの駆動電流を検出する電流検出器からのフィードバック信号に基づいて、力のフィードバック制御を行うように切り替え、法線力Ｆｎ、接線力Ｆｔを図７で示したアルゴリズムと同様な方法で調整し、力増加曲線の傾きを制御して物体を握りつぶすこともなく、かつ、滑り落とすこともなく持ち上げることができるようにする。
【００５９】
又、把持用サーボモータ、リフト用サーボモータの一方は、位置の制御とし他方は力の制御としてもよい。例えば、リフト用サーボモータは位置の制御として、所定周期毎、所定量移動させ、把持用サーボモータは力の制御とし、法線力を所定周期毎、その大きさを調整しながら増大するようにすればよい。
【００６０】
さらには、上記実施形態においては、フィンガ１１ａ、１１ｂ及び該フィンガ部１１を駆動するアクチュエータとして把持用サーボモータ、リフト用サーボモータを用いたが、油圧シリンダ、空気圧シリンダなどの流体シリンダ等の他のアクチュエータを用いてもよい。流体シリンダを用いる場合には、力制御による力増加曲線の傾き制御を行った方がよい。さらには、超音波モータ、高分子ゲルアクチュエータなどの他のアクチュエータを用いてもよい。
【００６１】
又、上記実施形態では、ハンドのアクチュエータである把持用サーボモータ、リフト用サーボモータをロボット制御装置３０によって制御する例を述べたが、ハンド自体に制御装置を備え、ロボット制御装置３０から、物体の把持、持ち上げ指令がこのハンド制御装置に出されると、ハンド制御装置のプロセッサが図７に示す処理を行って、物体の把持、持ち上げ制御を行うようにしてもよい。
【００６２】
【発明の効果】
本発明においては、重量及び摩擦係数が未知な物体を把持し、この物体を握りつぶすことも又滑り落とすこともなく持ち上げることができ、かつ、把持位置が変化しないことから、把持した物体を正確な位置に搬送位置決めすることができる。
【図面の簡単な説明】
【図１】物体を把持し持ち上げる場合の力増加曲線の説明図である。
【図２】本発明の一実施形態におけるハンドの説明図である。
【図３】ハンドのフィンガ先端に取り付けるセンサの曲面状弾性体の説明図である。
【図４】センサの構造の説明図である。
【図５】物体と曲面状弾性体との接触面における滑り及び固着の現象の説明図である。
【図６】本発明の一実施形態のロボットシステムの概要説明図である。
【図７】同実施形態におけるロボット制御装置のプロセッサが実行する物体の把持、持ち上げ動作処理のフローチャートである。
【符号の説明】
１０  ハンド
１１  フィンガ部
１１ａ、１１ｂ  フィンガ
１２  センサ部
Ｗ  物体
１４  ひずみゲージ（センサ）
【図１】
0003871293.tif 000002
【図２】
0003871293.tif 000003
【図３】
0003871293.tif 000004
【図４】
0003871293.tif 000005
【図５】
0003871293.tif 000006
【図６】
0003871293.tif 000007
【図７】
0003871293.tif 000008