(57)【要約】【課題】物体を傷つけることのない、複数の指で物体を把持して持ち上げるロボットハンドの各指と物体との間の摩擦係数同定方法、把持制御方法、この把持制御方法を行うロボットハンド及びプログラムを提供する。【解決手段】各指を物体の表面に接触させて物体に法線力を加え（ステップＳ１）、法線力を徐々に増加させる。力覚センサが法線力を検知し始めたら、法線力を増加させながらロボットハンドを上昇させて、各指を物体の表面に沿って滑らせる（ステップＳ２）。各指の力覚センサが法線力及び接線力を検知し（ステップＳ３）、接線力が一定となったら（ステップＳ４）、接線力が一定になった指の駆動を停止し（ステップＳ５）、駆動が停止した指について摩擦係数を算出する（ステップＳ６）。【選択図】図３
2010271118.tif 000002
【特許請求の範囲】
【請求項１】
複数の指で物体を把持して持ち上げるロボットハンドの各指と物体との間の摩擦係数同定方法であって、
前記ロボットハンドは、
前記各指に設けられ、該各指と前記物体との間に作用する力のうち、少なくとも、前記指が前記物体に加える法線力、及び前記指と前記物体との間に生じる接線力を検知する力覚センサと、
該力覚センサから前記法線力及び前記接線力を受信する制御部と
を備え、
前記摩擦係数同定方法は、
前記各指を前記物体の表面に接触させて前記物体に法線力を加え、該法線力を増加させるように駆動させるステップと、
前記力覚センサが前記法線力を検知し始めたら、該法線力を増加させながら前記ロボットハンドを上昇させて、前記各指を前記物体の表面に沿って動かすステップと、
前記各指の前記力覚センサが検知する接線力が一定となったら、接線力が一定になった指による前記法線力の増加を停止するステップと
を含み、
前記制御部は、接線力が一定となったときの法線力と、一定となった接線力とから、前記各指と前記物体との間の摩擦係数を算出する摩擦係数同定方法。
【請求項２】
前記複数の指は３本以上である、請求項１に記載の摩擦係数同定方法。
【請求項３】
前記複数の指のうちの少なくとも１本の指の駆動を停止した後、残りの指の間で前記物体が回転した場合には、前記ロボットハンドの上昇を停止させると共に下降させて前記物体を載置し直し、前記摩擦係数同定方法の各ステップをやり直す、請求項２に記載の摩擦係数同定方法。
【請求項４】
前記物体の重さを検出するステップと、
請求項１〜３のいずれか一項に記載の摩擦係数同定方法によって算出された各指と前記物体との間の摩擦係数と、前記物体の重さとから、各指が前記物体に加える法線力を算出するステップと、
前記制御装置が、前記物体に前記算出された法線力を加えるように各指を駆動させるステップと
を含む把持制御方法。
【請求項５】
請求項４に記載の把持制御方法を行うロボットハンド。
【請求項６】
請求項４に記載の各ステップを前記制御部に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、摩擦係数同定方法、把持制御方法、この把持制御方法を行うロボットハンド及びプログラムに係り、特に、複数の指で物体を把持して持ち上げるロボットハンドの各指と物体との間の摩擦係数を同定する方法と、同定された摩擦係数を用いて、物体を把持する際の把持力を制御する方法と、この制御方法を行うロボットハンド及びプログラムに関する。
【背景技術】
【０００２】
複数の指を有するロボットハンドがそれらの指で物体を把持して持ち上げるためには、ロボットハンドの指と物体との間に摩擦力が必要となる。物体を把持する把持力が小さすぎると、指と物体との間の摩擦力も小さくなるため、物体を持ち上げる際に、物体がロボットハンドから滑り落ちるおそれがある。一方、把持力が大きすぎると、摩擦力も大きくなるが、物体が把持力により変形したり、押しつぶされたりするおそれが生じる。
【０００３】
特許文献１には、把持位置のずれを生じることなく重量及び摩擦係数が未知の物体を把持して持ち上げる物体把持制御方法が開示されている。２本の指で物体（質量ｍ）を把持する際、指が物体の表面に対して加える法線力をＦｎとし、指が物体の表面に沿って加える接線力をＦｔとし、指と物体との間の静止摩擦係数をμとすると、物体が滑る条件は、
Ｆｔ＝μ・Ｆｎ  ・・・（１）
であり、物体を持ち上げる条件は
Ｆｔ＝ｍｇ／２  ・・・（２）
である。法線力Ｆｎを増加させると接線力Ｆｔが増加し、接線力Ｆｔがｍｇ／２以上になると、物体を持ち上げることができるようになるが、法線力Ｆｎが大きすぎると物体をつぶしてしまう可能性があるので、法線力Ｆｎを
Ｆｎ＝ｍｇ／２μ  ・・・（３）
に十分近い値に設定する。
【０００４】
また、特許文献２には、ロボットハンドの指に設けられた力検出部を物体の表面に対して法線力Ｎで接触させながら物体の表面に沿って接線力Ｆを作用させ、このとき力検出部が動いたかどうかを判断し、動いた場合にはその時の法線力Ｎ及び接線力Ｆから静止摩擦係数μ（＝Ｆ／Ｎ）を算出し、得られた静止摩擦係数から把持力を決定して、その把持力となるような制御を行うことが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２５４８８４号公報
【特許文献２】特開２００４−２６８１６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１において、物体の重心が物体中心にない場合、把持面の摩擦が個所によって異なる場合、３本以上の指での把持を行う場合には、ロボットハンドの各指に必要な接線力Ｆｔ及び法線力Ｆｎが異なるため、上記式（２）の条件を変更しなければならないといった問題点があった。また、特許文献２では、最初にロボットハンドの指を物体に法線力Ｎで接触させる必要があるが、物体がつぶれないようにするための法線力Ｎの大きさがわからないため、物体によっては物体が傷つく可能性があるといった問題点があった。
【０００７】
この発明はこのような問題点を解決するためになされたもので、物体を傷つけることのない、複数の指で物体を把持して持ち上げるロボットハンドの各指と物体との間の摩擦係数同定方法、把持制御方法、この把持制御方法を行うロボットハンド及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
複数の指で物体を把持して持ち上げるロボットハンドの各指と物体との間の摩擦係数同定方法であって、ロボットハンドは、各指に設けられ、各指と物体との間に作用する力のうち、少なくとも、指が物体に加える法線力、及び指と物体との間に生じる接線力を検知する力覚センサと、力覚センサから法線力及び接線力を受信する制御部とを備え、摩擦係数同定方法は、各指を物体の表面に接触させて物体に法線力を加え、法線力を増加させるように駆動させるステップと、力覚センサが法線力を検知し始めたら、法線力を増加させながらロボットハンドを上昇させて、各指を物体の表面に沿って動かすステップと、各指の力覚センサが検知する接線力が一定となったら、接線力が一定になった指による法線力の増加を停止するステップとを含み、制御部は、接線力が一定となったときの法線力と、一定となった接線力とから、各指と物体との間の摩擦係数を算出する。各指を物体表面に沿って動かしながら徐々に物体への法線力を増加させていくので、物体を傷つけることがない。
複数の指は３本以上であってもよい。
複数の指のうちの少なくとも１本の指の駆動を停止した後、残りの指の間で物体が回転した場合には、ロボットハンドの上昇を停止させると共に下降させて物体を載置し直し、摩擦係数同定方法の各ステップをやり直してもよい。
物体の重さを検出するステップと、算出された各指と物体との間の摩擦係数と、物体の重さとから、各指が物体に加える法線力を算出するステップと、制御装置が、物体に算出された法線力を加えるように各指を駆動させるステップとを含む方法から、ロボットアームによる物体の把持を制御してもよい。
この発明に係るロボットハンドは、これらの各ステップを含む方法によって物体の把持を制御してもよい。
この発明に係るプログラムは、これらの各ステップを制御部に実行させてもよい。
【発明の効果】
【０００９】
この発明によれば、各指を物体の表面に沿って動かしながら徐々に物体への法線力を増加させていくことにより、法線力で物体を傷つけることがないので、物体を傷つけることなく、ロボットハンドの各指と物体との間の摩擦係数を同定することができる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態に係るロボットハンドの要部を示す図である。
【図２】この実施の形態に係るロボットハンドの構成を示す概略図である。
【図３】この実施の形態に係るロボットハンドの各指と物体との間の摩擦係数を測定する方法を説明するためのフローチャートである。
【図４】この実施の形態に係るロボットハンドの動作を説明するための概略図である。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態を添付図面に基づいて説明する。
図１に、この実施の形態に係るロボットハンド１の要部を示す。ロボットハンド１は、地面Ｇに載置された物体Ｏ（質量ｍ）を把持するための３本の指２ａ，２ｂ，２ｃと、指２ａ〜２ｃが共に取り付けられる共通の基部３とを備えている。指２ａ〜２ｃは基部３の底部に取り付けられており、基部３の頂部にはアーム４が取り付けられている。アーム４には駆動装置５が接続されており、駆動装置５がアーム４を駆動することによって、ロボットハンド１全体が三次元的に移動する。また、駆動装置５は、ロボットハンド１の動作を制御するための制御部６に電気的に接続されており、制御部６に制御されてアーム４を駆動する。尚、駆動装置５がアーム４を駆動する駆動力から、制御部６は、ロボットハンド１が把持している物体Ｏの重さを検出可能になっている。また、制御部６には、後述するステップＳ１〜Ｓ１０を実行するためのプログラムが内蔵されている。
【００１２】
指２ａ〜２ｃはそれぞれ同一の構成を有しており、円筒状の第一節２１をそれぞれ備えている。第一節２１の上端側は基部３の底部に固定されており、第一節２１の下端側には、サーボモータ７を介して略円筒状の第二節２２が連結されている。第二節２２は、サーボモータ７に駆動され、サーボモータ７を中心にして変位可能となっている。すなわち、ロボットハンド１による物体Ｏの把持は、指２ａ〜２ｃのそれぞれの第二節２２を物体Ｏに向けて変位させ、物体Ｏを挟み込むとともに、指２ａ〜２ｃがそれぞれ物体Ｏの表面に法線力を加えることによって行なわれる。
【００１３】
第二節２２の先端部には、第二節２２と物体Ｏとの間に作用する力を検知するための力覚センサ９が設けられており、第二節２２と物体Ｏとが、力覚センサ９を介して接触するようになっている。力覚センサ９としては、６軸力覚センサ（例えば、ニッタ株式会社製ＴＦＳ１２−１０等）が用いられる。６軸力覚センサとは、ある１点に力が作用する場合、その力の三次元直交座標系における各軸方向成分と、各軸周りのモーメントとを検知するセンサである。ロボットハンド１において、物体Ｏを把持して上方に持ち上げる場合を例とすると、力覚センサ９は、第二節２２が物体Ｏに加える法線力Ｆｎ１，Ｆｎ２，Ｆｎ３と、第二節２２と物体Ｏとの間に生じる接線力Ｆｔ１，Ｆｔ２，Ｆｔ３とを検知する。
【００１４】
図２に概略的に示すように、指２ａ〜２ｃのサーボモータ７及び力覚センサ９は、それぞれ制御部６に電気的に接続されている。サーボモータ７は、制御部６に制御されて第二節２２を変位させる。また、力覚センサ９が検知した力及びモーメントは、それぞれ制御部６に出力される。
【００１５】
次に、この発明の実施の形態に係るロボットハンド１の各指２ａ〜２ｃと物体Ｏとの間の摩擦係数を測定する方法について、図３に示すフローチャート及び図４を用いて説明する。
まず、制御部６から物体Ｏへの移動指示が出力され、制御部６からの当該移動指示を受け取った駆動装置５は、アーム４を駆動してロボットハンド１を物体Ｏの位置まで移動させると共に各指２ａ〜２ｃの第二節２２を物体Ｏに向けて変位させ、図４（ａ）に示されるように、物体Ｏを挟み込み、各指２ａ〜２ｃの第二節２２が物体Ｏに法線力Ｆｎ１〜Ｆｎ３を加え始め（ステップＳ１）、法線力Ｆｎ１〜Ｆｎ３を徐々に増加させる。
【００１６】
各指２ａ〜２ｃの第二節２２が物体Ｏに法線力Ｆｎ１〜Ｆｎ３を加え始めると、各力覚センサ９が法線力Ｆｎ１〜Ｆｎ３を検知し始める。力覚センサ９によって検知された法線力は制御部６に出力されるので、図４（ｂ）に示されるように、制御部６は、物体Ｏに法線力が加えられ始めたことを認識したら、駆動装置５によってアーム４を駆動して、ロボットハンド１を上方に移動させる。すると、ロボットハンド１を移動させ始めたときは法線力Ｆｎ１〜Ｆｎ３がまだ小さいので、各指２ａ〜２ｃの第二節２２が物体Ｏの表面に沿って滑る（ステップＳ２）、すなわち表面に沿って動く。
【００１７】
各指２ａ〜２ｃの第二節２２が物体Ｏの表面に沿って滑る間、法線力Ｆｎ１〜Ｆｎ３が徐々に増加していくが、各指２ａ〜２ｃの力覚センサ９は、各指２ａ〜２ｃの第二節２２からの法線力Ｆｎ１〜Ｆｎ３及び接線力Ｆｔ１〜Ｆｔ３を検知する（ステップＳ３）。続くステップＳ４において、制御部６は、各指２ａ〜２ｃの接線力Ｆｔ１〜Ｆｔ３が一定になったか否かを判定する。一定でないと判断された場合には、各指２ａ〜２ｃの接線力Ｆｔ１〜Ｆｔ３の増加を継続する、すなわちステップＳ２へ戻る。いずれかの指の接線力が一定になったことを判定したら、制御部６は、その指の駆動を停止し（ステップＳ５）、すなわち、その指による法線力の増加を停止し、一定となった接線力Ｆｔｃｏｎｓｔと、接線力が一定となったときの法線力Ｆｎ０とから、摩擦係数μ（＝Ｆｔｃｏｎｓｔ／Ｆｎ０，以下、各指２ａ〜２ｃの摩擦係数をμ１，μ２，μ３とする）を算出する（ステップＳ６）。
【００１８】
ここで、
Ｆｔ１＋Ｆｔ２＋Ｆｔ３＝ｍｇ
の関係が成立すると、図４（ｃ）に示されるように、物体Ｏは、ロボットハンド１によって持ち上げられる。物体Ｏが持ち上げられている状態で、一本の指だけが物体Ｏの表面に沿って滑っておらず、他の二本の指が依然として物体Ｏの表面に沿って滑っている場合には、物体Ｏが回転してしまうことがある。物体Ｏが回転してしまうと、正しい摩擦係数が算出できなくなってしまうので、制御部６は、力覚センサ９が物体Ｏの回転モーメントを検知したか否かを判定し（ステップＳ７）、回転モーメントが検知された場合には、制御部６は、駆動装置５によってアーム４を駆動して、物体Ｏを地面Ｇに載置し（ステップＳ８）、ステップＳ１に戻る。ステップＳ６において、回転モーメントが検知されない場合には、各指２ａ〜２ｃについて、滑りが止まるまで上記動作を行い、全ての指２ａ〜２ｃの駆動が停止されると（ステップＳ９）、全ての指２ａ〜２ｃについて、物体Ｏとの間の摩擦係数μ１，μ２，μ３が算出される（ステップＳ１０）。
【００１９】
既に述べたように、上記動作中、制御部６は、物体Ｏの重さを検出している。上記動作によって算出された各摩擦係数μ１，μ２，μ３と、検出された物体Ｏの重さとから、制御部６は、各指２ａ〜２ｃが物体Ｏへ加える法線力Ｆｎ１，Ｆｎ２，Ｆｎ３を算出する。摩擦係数μ１，μ２，μ３及び法線力Ｆｎ１，Ｆｎ２，Ｆｎ３の算出後、制御部６は、各指２ａ〜２ｃが物体Ｏに加える法線力を算出された法線力Ｆｎ１，Ｆｎ２，Ｆｎ３に調整して、ロボットハンド１に物体Ｏを把持させて移動等させてもよいし、一旦、物体Ｏを地面Ｇに載置して、再び各指２ａ〜２ｃが物体Ｏに算出された法線力Ｆｎ１，Ｆｎ２，Ｆｎ３を加えるように物体Ｏを把持し直し、移動等させてもよい。物体Ｏによっては、ロボットハンド１によって把持されている間や、地面Ｇに載置して再把持されている間に、その重さが変化してしまうものもある。このような場合でも、物体Ｏを把持する際に、その重さを検出しているので、既に同定されている摩擦係数μ１〜μ３と、検出された重さとから、適切な法線力Ｆｎ１〜Ｆｎ３を算出することができる。
【００２０】
このように、各指２ａ〜２ｃを物体Ｏの表面に沿って滑らせながら徐々に物体Ｏへの法線力Ｆｎ１〜Ｆｎ３を増加させていくことにより、法線力Ｆｎ１〜Ｆｎ３で物体Ｏを傷つけることがないので、物体Ｏを傷つけることなく、ロボットハンド１の各指２ａ〜２ｃと物体Ｏとの間の摩擦係数μ１，μ２，μ３を同定することができる。
【００２１】
この実施の形態において、ロボットハンド１を、３本の指２ａ〜２ｃを有するものとして説明したが、指の本数を限定するものではなく、二本の指を有するもの、あるいは、四本以上の指を有する多指ロボットハンドであってもよい。
【００２２】
この実施の形態において、物体Ｏがロボットハンド１に持ち上げられるための条件を、
Ｆｔ１＋Ｆｔ２＋Ｆｔ３＝ｍｇ
として説明したが、加速度ａで物体Ｏを持ち上げる場合、上式を、
Ｆｔ１＋Ｆｔ２＋Ｆｔ３＝ｍ（ｇ＋ａ）
として、物体Ｏを持ち上げる加速度ａを加味した制御を行うこともできる。
【００２３】
この実施の形態において、駆動装置５がアーム４を駆動する駆動力から、制御部６が物体Ｏの重さを検出していたが、この形態に限定するものではない。物体Ｏの重さを検出する重量センサ等を別途設けてもよい。
【００２４】
この実施の形態において、制御部６の配置場所を明確にしていないが（図１参照）、ロボットハンド１のいずれかの個所に内蔵されていてもよく、または、ロボットハンド１とは別体となるように配置されてもよい。
【００２５】
この実施の形態において、第一節２１の上端側は基部３の底部に固定されているが、この形態に限定するものではない。基部３と第一節２１との間にもサーボモータを配置して、第一節２１を基部３に対して動くようにしてもよい。このような構成の場合、物体Ｏを把持するために、第一節２１を固定して第二節２２のみを動かしてもよいし、第二節２２を固定して第一節２１を動かしてもよいし、第一節２１及び第二節２２を同時に動かしてもよい。
【符号の説明】
【００２６】
１  ロボットハンド、２ａ，２ｂ，２ｃ  指、６  制御部、９  力覚センサ、Ｆｎ１，Ｆｎ２，Ｆｎ３  法線力、Ｆｔ１，Ｆｔ２，Ｆｔ３  接線力、Ｏ  物体、μ１，μ２，μ３  摩擦係数。
【図１】
2010271118.tif 000003
【図２】
2010271118.tif 000004
【図３】
2010271118.tif 000005
【図４】
2010271118.tif 000006