ロボットとロボットの制御方法
【課題】 把持する物体の形状等を正確に把握することなく、物体を把持することができるロボットを具現化する。
【解決手段】 物体を把持するロボットであって、少なくとも2本の指を有するハンド部と、各指に少なくとも一つずつ配設されており、各指の所定箇所と把持対象物との接触を検出する接触センサ群と、少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する予測手段と、接触センサ群から出力されている信号群が、予測手段によって予測された信号群に等しくなるように、各指の動作を制御するハンド制御手段とを備える。
【解決手段】 物体を把持するロボットであって、少なくとも2本の指を有するハンド部と、各指に少なくとも一つずつ配設されており、各指の所定箇所と把持対象物との接触を検出する接触センサ群と、少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する予測手段と、接触センサ群から出力されている信号群が、予測手段によって予測された信号群に等しくなるように、各指の動作を制御するハンド制御手段とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットに関する。特に、少なくとも2本の指を有するハンド部を備え、ハンド部によって物体を把持するロボットに関する。
【背景技術】
【0002】
少なくとも2本の指を有するハンド部を備え、ハンド部によって物体を把持するロボットが開発されている(例えば特許文献1)。この種のロボットでは、様々な形状の物体を確実に把持することが求められる。
【特許文献1】特開2005−118931号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
例えば人が物体を把持する場合、物体を把持している時の各指の姿勢は、物体の形状や寸法に応じて様々に変化する。同様に、ロボットによって物体を把持させる場合、把持する物体の形状等に応じて、各指の動作を変化させる必要がある。そのためには、例えば各指の経時的な姿勢変化を計算し、各指の動作を制御する手法が考えられる。しかしながら、この手法を採用するためには、把持する物体の形状を厳密に把握する必要があり、実際の形状や寸法が僅かにでも異なっていると、物体を確実に把持できなかったり、物体を握り潰してしまったりすることがある。
本発明は、上記の問題を解決する。本発明は、把持する物体の形状等を正確に把握することなく、物体を把持することができるロボットを具現化するための技術を提供する。
【課題を解決するための手段】
【0004】
本発明の技術は、物体を把持するロボットに具現化される。このロボットは、少なくとも2本の指を有するハンド部と、各指に少なくとも一つずつ配設されており、各指の所定箇所と把持対象物との接触を検出する接触センサ群と、少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する予測手段と、接触センサ群から出力されている信号群が予測手段によって予測された信号群に等しくなるように各指の動作を制御するハンド制御手段とを備えている。
【0005】
例えば人が物体を把持する場合、物体と接触させる各指の部位を、把持する物体の形状等に応じて変化させる。例えば、鉛筆等のように細長い物体を把持する場合、各指の指先を物体に接触させて把持することが多い。あるいは、ボールのように球状の物体を把持する場合、各指の略全体を物体に接触させて把持することが多い。ロボットにおいても同様に、物体と接触させる各指の部位を、物体の形状等に応じて変化させることによって、様々な形状の物体を正しく把持することが可能となる。
このロボットでは、各指の所定箇所と把持対象物との接触を検出する接触センサ群が設けられているとともに、把持対象物の形状を記述する形状情報に基づいて、把持対象物を把持したときに接触センサ群から出力されるべき信号群を予測する。即ち、把持対象物の形状等に基づいて、把持対象物を把持した時に把持対象物と接触すべき各指の部位を予測することができる。そして、接触センサ群から出力されている信号群が、予測した信号群に等しくなるように、各指の動作を制御することによって、把持対象物を確実に把持することができる。入力した形状情報が、実際の形状に対して誤差を含んでいる場合でも、把持対象物を確実に把持することができる。
このロボットによると、把持対象物の形状を正確に把握することなく、把持対象物を確実に把持することができる。
【0006】
上記したロボットでは、ハンド部の位置と姿勢を変化させるアーム部と、少なくとも把持対象物の位置を記述する位置情報を入力し、ハンド部が把持対象物を把持可能な位置と姿勢を演算する演算手段と、ハンド部の位置と姿勢が演算手段によって演算された位置と姿勢に等しくなるようにアーム部を制御するアーム制御手段とが付加されていることが好ましい。
このロボットでは、把持対象物の位置に応じて、ハンド部の位置と姿勢を調節することができる。それにより、様々な位置に置かれた把持対象物を、正しく把持することが可能となる。
【0007】
上記したロボットでは、把持対象物を撮像する撮像手段と、撮像手段による撮像画像から少なくとも前記形状情報を生成する画像処理手段とが付加されていることが好ましい。
それにより、外部から形状情報を入力することなく、把持対象物を把持することが可能となる。
【0008】
画像処理手段は、撮像手段による撮像画像からさらに前記位置情報を生成することが好ましい。
それにより、外部から位置情報を入力することなく、把持対象物を把持することが可能となる。
【0009】
予測手段は、少なくとも前記形状情報を入力し、予測される接触センサ群の出力信号群を出力するニューラルネットワークを備えていることが好ましい。
ニューラルネットワークを用いることにより、様々な形状の把持対象物に対して、接触センサ群の出力信号群を適切に予測することが可能となる。さらに、ニューラルネットワークを学習させることによって、接触センサ群の出力信号群をより適切に予測することが可能となる。
【0010】
演算手段は、少なくとも前記位置情報を入力し、ハンド部が把持対象物を把持可能な位置と姿勢を出力するニューラルネットワークを備えていることが好ましい。
ニューラルネットワークを用いることにより、様々な位置にある把持対象物に対して、ハンド部が把持対象物を把持可能な位置と姿勢を適切に演算することが可能となる。さらに、ニューラルネットワークを学習させることによって、ハンド部が把持対象物を把持可能な位置と姿勢をより適切に演算することが可能となる。
【0011】
上記したロボットにおいて、ハンド制御手段は、少なくとも前記接触センサ群が現に出力している信号群と、前記予測手段によって予測された信号群と、各指の現姿勢を入力し、各指に実行させる動作を決定する指動作決定手段を備えていることが好ましい。
このロボットは、接触センサ群から出力されている信号群が予測した信号群に等しくなるように各指の動作を制御する際に、接触センサ群が現に出力している信号群と各指の現姿勢に基づいて、各指の動作を調整することができる。実際の把持状態に応じて各指の動作方向や動作速度を制御することによって、把持対象物をより確実に把持することができる。
【0012】
指動作決定手段は、少なくとも前記接触センサ群から出力されている信号群と、前記予測手段によって予測された信号群と、各指の現姿勢を入力し、各指に実行させる動作を出力するニューラルネットワークを備えていることが好ましい。
ニューラルネットワークを用いることにより、様々に変化する実際の把持状態に応じて、各指に実行させるべき動作を適切に決定することが可能となる。さらに、ニューラルネットワークを学習させることによって、各指に実行させるべき動作をより適切に決定することが可能となる。
【0013】
ハンド制御手段はさらに、少なくとも前記指動作決定手段によって決定された各指の動作と前記形状情報を入力し、決定された各指の動作を実行したときに前記接触センサ群が出力する信号群を予測する第2予測手段と、第2予測手段によって予測された信号群が、前記予測手段によって予測された信号群に対して所定の許容範囲内であるときに、前記指動作決定手段によって決定された各指の動作を実行する指駆動手段を備えることが好ましい。
このロボットは、指動作決定手段によって決定された各指の動作を実行するのに先だって、その各指の動作に伴って接触センサ群が出力すると予測される信号群を把握することができる。そして、その各指の動作に伴って接触センサ群が出力すると予測される信号群が、把持対象物を把持したときに接触センサ群から出力されるべき信号群に対して、所定の誤差範囲内であるときに、指動作決定手段によって決定された各指の動作を実行する。それにより、把持対象物を把持するのに適切な動作のみを実行することができる。不適切な動作を実行することが防止され、把持対象物を落下させたり破損させたりすることが防止される。
【0014】
本発明の技術は、少なくとも2指を有するハンド部を備えるロボットの制御方法に具現化することもできる。この方法は、各指の所定箇所と把持対象物との接触を検出する接触センサを各指に少なくとも一つずつ配設する工程と、少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する工程と、接触センサ群から出力されている信号群が予測された信号群に等しくなるように各指の動作を制御する工程とを備える。
この制御方法によると、把持対象物の形状を正確に把握することなく、ロボットに把持対象物を確実に把持させることができる。
【発明の効果】
【0015】
本発明により、様々な形状の物体や様々な位置に配置された物体を、確実に把持することができるロボットを具現化することが可能となる。
【発明を実施するための最良の形態】
【0016】
最初に、以下に説明する実施例の主要な特徴を列記する。
(特徴1) ロボットは、把持対象物を撮像する2つの撮像手段(カメラ)を備えている。
(特徴2) ロボットは、2つの撮像手段によって把持対象物を撮像した画像から、把持対象物の位置を記述する位置情報と、把持対象物の大きさを記述する寸法情報と、把持対象物の形状を記述する形状情報を生成する処理部を備えている。
(特徴3) ロボットは、把持対象物の位置を記述する位置情報と、把持対象物の寸法を記述する寸法情報と、把持対象物の形状を記述する形状情報を入力して、ハンド部が把持対象物を把持可能な位置と姿勢を演算する演算手段を備えている。
【実施例】
【0017】
(実施例1)
図1は、本発明を実施したロボット10の外観を模式的に示す図である。本実施例のロボット10は、人の一部を模して作られたヒューマノイドロボットである。ロボット10は、例えばテーブル4上に載置されている把持対象物2を把持して移動させることができる。
図1に示すように、ロボット10は、頭部12と、体幹16と、アーム部18と、ハンド部40を備えている。頭部14は、首部14を介して体幹16に揺動可能に連結されている。ロボット10は、頭部14を体幹に対して揺動させるアクチュエータ(図示省略)を備えている。頭部12には、第1カメラ101と第2カメラ102が設けられている。
アーム18部は、上腕リンク24と、下腕リンク28と、上腕リンク24と下腕リンク28とを連結している肘関節26と、上腕リンク24を体幹16に連結している肩関節22と、下腕リンクに28にハンド部40を連結している手首関節30を備えている。ロボット10は、肩関節22や肘関節26や手首関節30を動かすアクチュエータ124(図3に図示されている)を備えている。ロボット10は、肩関節22や肘関節26や手首関節30を動かすことによって、ハンド部40の位置(x,y,z)や姿勢(ロール角,ピッチ角,ヨー角)を変化させる。
【0018】
図2は、ハンド部40の構成を模式的に示している。図2に示すように、ハンド部40は、手首関節30を介して上腕リンク28に連結されている掌部42と、掌部42に揺動可能に連結されている第1指50と、掌部42に揺動可能に連結されている第2指60と、掌部42に揺動可能に連結されている第3指70とを備えている。
第1指50は、第1先端リンク51と、第1中間リンク52と、第1基端リンク53とを備えている。第1先端リンク51と第1中間リンク52は、第1先関節56を介して揺動可能に連結されている。第1中間リンク52と第1基端リンク53は、第1中関節57を介して揺動可能に連結されている。第1基端リンク53は、第1基関節58および内外転関節59を介して掌部42に揺動可能に連結されている。第1指50の各関節56、57、58、59は、それぞれ1自由度の関節である。第1指50は、第1先関節56や第1中関節57や第1基関節58の角度を変化させることによって、屈曲したり伸展したりすることができる。また、第1指50は、内外転関節59の角度を変化させることによって、掌部42に対して内外転することができる。
第2指60は、第2先端リンク61と、第2中間リンク62と、第2基端リンク63とを備えている。第2先端リンク61と第2中間リンク62は、第2先関節66を介して揺動可能に連結されている。第2中間リンク62と第2基端リンク63は、第2中関節67を介して揺動可能に連結されている。第2基端リンク63は、第2基関節68を介して掌部42に揺動可能に連結されている。第2指60の各関節66、67、68は、それぞれ1自由度の関節である。第2指60は、第2先関節66や第2中関節67や第2基関節68の角度を変化させることによって、屈曲したり伸展したりすることができる。
第3指70は、第3先端リンク71と、第3中間リンク72と、第3基端リンク73とを備えている。第3先端リンク71と第3中間リンク72は、第3先関節76を介して揺動可能に連結されている。第3中間リンク72と第3基端リンク73は、第3中関節77を介して揺動可能に連結されている。第3基端リンク73は、第3基関節78を介して掌部42に揺動可能に連結されている。第3指60の各関節76、77、78は、それぞれ1自由度の関節である。第3指70は、第3先関節76や第3中関節77や第3基関節78の角度を変化させることによって、屈曲したり伸展したりすることができる。
【0019】
図2に示すように、ロボットハンド40は、第1指50を屈曲/伸展させる第1アクチュエータ81と、第1指50を内外転させる第2アクチュエータ82と、第2指60を屈曲/伸展させる第3アクチュエータ83と、第3指70を屈曲/伸展させる第4アクチュエータ84とを備えている。これらのアクチュエータ81〜84は、アーム部18の下腕リンク28に設けられている。
第1アクチュエータ81は、第1指50の第1先端リンク51にワイヤ86を介して接続されている。第1アクチュエータ81は、ワイヤ86を進退させることによって、第1指50の第1先関節56と第1中関節57と第1基関節58の各関節角を変化させ、第1指50の屈曲角αを変化させる。ここで、第1指50の屈曲角αとは、第1先関節56と第1中関節57と第1基関節58の各関節角の合計に相当し、掌部42に対する第1先端リンク51の成す角に相当する。
第2アクチュエータ82は、第1指50の第1基端リンク53にワイヤ87を介して接続されている。第2アクチュエータ82は、ワイヤ87を進退させることによって、第1指50の内外転関節59の関節角βを変化させる。
第3アクチュエータ83は、第2指60の第2先端リンク61にワイヤ88を介して接続されている。第3アクチュエータ83は、ワイヤ88を進退させることによって、第2指60の第2先関節66と第2中関節67と第2基関節68の各関節角を変化させ、第2指60の屈曲角γを変化させる。
第4アクチュエータ84は、第3指70の第3先端リンク71にワイヤ89を介して接続されている。第4アクチュエータ84は、ワイヤ89を進退させることによって、第3指70の第3先関節76と第3中関節77と第3基関節78の各関節角を変化させ、第3指70の屈曲角θを変化させる。
ここで、各指50、60、70の屈曲角α、γ、θとは、先関節56、66、76と中関節57、67、77と基関節58、68、78の各関節角の合計に相当し、掌部42に対する先端リンク51、61、71の回転角に相当する。ハンド部40の各指50、60、70の姿勢は、第1指50の屈曲角αと、第1指50の内外転角βと、第2指60の屈曲角γと、第3指70の屈曲角θによって記述することができる。
【0020】
図2に示すように、ハンド部の各指50、60、70には、把持対象物2との接触を検出する接触センサS1〜S9が設けられている。第1接触センサS1は、第1先端リンク51に設けられており、第1先端リンク51と把持対象物2との接触を検出する。第2接触センサS2は、第1中間リンク52に設けられており、第1中間リンク52と把持対象物2との接触を検出する。第3接触センサS3は、第1基端リンク53に設けられており、第1基端リンク53と把持対象物2との接触を検出する。第4接触センサS4は、第2先端リンク61に設けられており、第2先端リンク61と把持対象物2との接触を検出する。第5接触センサS5は、第2中間リンク62に設けられており、第2中間リンク62と把持対象物2との接触を検出する。第6接触センサS6は、第2基端リンク63に設けられており、第2基端リンク63と把持対象物2との接触を検出する。第7接触センサS7は、第3先端リンク71に設けられており、第3先端リンク71と把持対象物2との接触を検出する。第8接触センサS8は、第3中間リンク72に設けられており、第3中間リンク72と把持対象物2との接触を検出する。第9接触センサS9は、第3基端リンク73に設けられており、第3基端リンク73と把持対象物2との接触を検出する。接触センサS1〜S9には、例えば感圧センサを用いることができる。あるいは、各指50、60、70の各関節にトルクセンサを設けることによって、接触センサS1〜S9を構成することもできる。接触センサS1〜S9は、接触の有無だけではなく、接触の強さ(接触圧)も検出することができる。ただし、接触センサS1〜S9は、接触の有無を検出できるだけであって、接触の強さを検出できないものであってもよい。
【0021】
図3は、ロボット10の構成を示すブロック図である。図3に示すように、ロボット10は、視覚情報処理部106と、推定演算部110と、アーム部18のアクチュエータ124を制御するアーム制御部122と、アーム部18の各関節22、26、28の関節角を検出するエンコーダ126と、ハンド部40のアクチュエータ81〜84を制御するハンド制御部132と、ハンド部40の各指50、60、70の姿勢(α,β,γ,θ)を検出するエンコーダ136を備えている。アーム部のエンコーダ126の出力信号は、ハンド部40の実際の位置(x,y,z)と実際の姿勢(ロール角,ピッチ角,ヨー角)を示している。アーム部のエンコーダ126によって検出されたハンド部40の実際の位置(x,y,z)と実際の姿勢(ロール角,ピッチ角,ヨー角)は、推定演算部110に入力されるようになっている。また、ハンド部のエンコーダ136によって検出された各指50,60,70の実際の姿勢(α,β,γ,θ)は、推定演算部110に入力されるようになっている。
【0022】
視覚情報処理部106は、第1カメラ101による撮像画像と、第2カメラ102による撮像画像から、把持対象物2の位置を示す位置情報POSや,把持対象物2の大きさを示す寸法情報DIMや,把持対象物2の形状を示す形状情報CC1、CC2を求めることができる。
図4を参照して、視覚情報処理部106が実行する処理について説明する。ここでは、第1カメラ101による撮像画像201を例に挙げて説明する。図4(a)は、第1カメラ101による撮像画像201を示している。図4(a)に示すように、第1カメラ101による撮像画像201には、把持対象物像2aやテーブル像4a等が撮像されている。先ず、視覚情報処理部106は、図4(b)に示すように、撮像画像201からテーブル像4a等の背景を除去するとともに、把持対象物像2aの撮像範囲2bの抽出処理を行う。次いで、視覚情報処理部106は、図4(c)に示すように、把持対象物像2aの画像201内での位置情報POSi1と、把持対象物像2aの画像201内での寸法情報DIMi1を求める。具体的には、把持対象物像2aの撮像範囲2bを取り囲む矩形境界2cを画定し、その矩形境界2cの中心位置(m1,n1)を把持対象物像2aの位置情報POSi1として求め、その矩形境界2cの大きさ(dm1,dn1)を把持対象物像2aの寸法情報DIMi1として求める。次いで、視覚情報処理部106は、図4(d)に示すように、把持対象物像2aの撮像範囲2bの輪郭2dを抽出するとともに、輪郭2dを符号化して記述する形状情報CC1:(7,6,7,7,・・)を求める。ここで、形状情報CC1は、輪郭2dを複数の点2e群によって近似し、点2e群を順に辿ったときに一の点2eから次の点2eへと向かう方向を符号化して記述する、いわゆるチェーンコードによって記述することができる。
同様に、視覚情報処理部106は、第2カメラ102による撮像画像にも同様の処理を行い、画像内での位置情報POSi2と、画像内での寸法情報DIMi2と、形状情報CC2を求める。
図3に示すように、視覚情報処理部106は、両カメラ101、102による撮像画像から求めた画像内での位置情報POSi1,POSi2に基づいて、把持対象物2の実際の位置を示す位置情報POS:(x,y,z)を算出する。また、画像内での寸法情報DIMi1,DIMi2に基づいて、把持対象物2の実際の大きさを示す寸法情報DIM:(dimx,dimy,dimz)を算出する。なお、位置情報POS:(x,y,z)や寸法情報DIM:(dimx,dimy,dimz)は、把持対象物2の実際の位置や寸法を正確に記述する必要はなく、実際の位置や寸法に対応していれば足りる。
【0023】
図3に示すように、推定演算部110は、接触パターン推定部112と把持姿勢推定部114を備えている。推定演算部110は、位置情報POSと寸法情報DIMと形状情報CC1,CC2を視覚情報処理部106から入力し、ハンド事前姿勢TACと指事前姿勢THCと把持パターンTMと目標接触パターンTTIを出力する。
ハンド事前姿勢TACとは、ハンド部40が把持対象物2を把持する動作を開始する時点において、ハンド部40がとるべき位置(x,y,z)と姿勢(ロール角,ピッチ角,ヨー角)を記述するデータである。
指事前姿勢THCとは、ハンド部40が把持対象物2を把持する動作を開始する時点において、ハンド部40の各指50、60、70がとるべき姿勢(α,β,γ,θ)を記述するデータである。
把持パターンTMとは、ハンド部40が把持対象物2を把持する際の動作パターンを記述するデータである。図5に、把持パターンの例を示す。図5(a)は、ハンド部40が把持対象物2を上方から把持する上方把持パターンを示している。この把持パターンは、球体やテーブル4上に寝かされている円筒体を把持するのに適している。図5(b)は、ハンド部40が把持対象物2を側方から把持する側方把持パターンを示している。この把持パターンは、テーブル4上に立てられている円筒体を把持するのに適している。なお、把持パターンはこれらに限られず、さらに多数の把持パターンを定義することもできる。本実施例では、比較的に大きい把持対象物2を上方から把持する大型上方把持パターンと、比較的に小さい把持対象物2を上方から把持する小型上方把持パターンと、比較的に大きい把持対象物2を側方から把持する大型側方把持パターンと、比較的に小さい把持対象物2を側方から把持する小型側方把持パターンの4パターンが定義されている。
また、図3に示すように、推定演算部110にはアーム部18のエンコーダ126やハンド部40のエンコーダ136が接続されており、検出されたハンド部40の実際の位置(x,y,z)や姿勢(ロール角,ピッチ角,ヨー角)と検出された各指50、60、70の実際の姿勢(α,β,γ,θ)が入力されるようになっている。
【0024】
目標接触パターンTTIは、ハンド部40が把持対象物2を正しく把持したときに、ハンド部40の接触センサS1〜S9のそれぞれから出力されると予想される信号群を記述するデータである。図6に、目標接触パターンTTIの一例を示す。図6(a)に示すように、目標接触パターンTTIは、接触センサS1〜S9毎に接触(ON)/非接触(OFF)を記述するデータである。即ち、図6(b)に示すように、目標接触パターンTTIは、ハンド部40が把持対象物2を正しく把持したときに、各指50、60、70の各リンク51、52、53、61、62、63、71、72、73の中で、いずれのリンクが把持対象物2と接触すべきであり、いずれのリンクが把持対象物2と接触すべきでないのかを記述するものとなる。ハンド部40が把持対象物2を実際に把持したときに、接触センサS1〜S9のそれぞれから出力された信号群と、目標接触パターンTTIが記述する信号群が一致すれば、ハンド部40が把持対象物2を正しく把持したと判断することができる。
【0025】
図7に示すように、推定演算部110の把持姿勢推定部114は、位置情報POSと寸法情報DIMと形状情報CC1,CC2を入力し、ハンド事前姿勢TACと指事前姿勢THCと把持パターンTMを出力する。把持姿勢推定部114は、制御用ニューラルネットワーク114aと分類用ニューラルネットワーク114bを備えている。把持姿勢推定部114は、位置情報POSと寸法情報DIMと形状情報CC1,CC2を入力し、ニューラルネットワークによる演算アルゴリズムを用いて、ハンド事前姿勢TACと指事前姿勢THCと把持パターンTMを演算する。制御用ニューラルネットワーク114aは、位置情報POSと寸法情報DIMと形状情報CC1,CC2を入力し、ハンド事前姿勢TACと指事前姿勢THCと把持パターンTMを出力するニューラルネットワークである。分類用ニューラルネットワーク114bは、制御用ニューラルネットワーク114aのための学習データを分類するためのニューラルネットワークである。把持姿勢推定部114は、入力した複数の学習データを分類用ニューラルネットワーク114bによって分類し、学習データの分類結果に基づいて制御用ニューラルネットワーク114aを構築することができる。また、把持姿勢推定部114は、学習データを入力することによって、構築した制御用ニューラルネットワーク114aを修正する(学習させる)ことができる。ここでいう学習データとは、入力信号である位置情報POSと寸法情報DIMと形状情報CC1,CC2と、それに対応するハンド事前姿勢TACと指事前姿勢THCと把持パターンTMとを記述するデータである。
【0026】
図8は、把持姿勢推定部114の制御用ニューラルネットワーク114aの構成の一例を示している。この制御用ニューラルネットワーク114aは、自己適合型ニューロファジー推論システム(Self-Adaptive Neuro-Fuzzy Inference System: SANFIS)を採用したものであり、入力信号(POS,DIM,CC1,CC2)から出力信号(TAC,THC,TM)を推論するファジールール(IF−THENルール)を、6層から構成されるノード(ニューロン)Nn群によって構成している。例えば、図中のハッチングを付した一連のノードNnによって、一つのファジールールが記述されている。第1層は入力層である。第2層は入力信号に対するファジー集合を記述するメンバーシップ関数を示している。第3層は入力信号から出力信号を推論するファジールールを示している。第4層では出力信号の正規化が行われる。第5層は出力信号に対するファジー集合を記述するメンバーシップ関数を示している。第6層は出力層である。制御用ニューラルネットワーク114aは、入力された学習データを用い、例えば誤差逆伝播法によって、第2層のメンバーシップ関数や第5層のメンバーシップ関数を修正する(学習する)ことができる。
【0027】
図9は、把持姿勢推定部114の分類用ニューラルネットワーク114bを示している。本実施例では、分類用ニューラルネットワーク114bにGNG(Growing Neural Gas Network)アルゴリズムを採用している。分類用ニューラルネットワーク114bは、非階層型の構造を有しており、自己組織化マップMに複数のノードNgとノードNg同士を結合する結合線Egから構成されている。各ノードNgは、入力信号POS,DIM,CC1,CC2)から出力信号(TAC,THC,TM)を推論するファジールール(IF−THENルール)を記述している。分類用ニューラルネットワーク114bは、入力した学習データを用いて競合学習を行い、ノードNgや結合線Egの生成、消去、位置調整を行う。その結果、図9に示すように、分類用ニューラルネットワーク114bでは、一のノードNgに複数のノードNgが結合するノード集合C1〜C6が生成される。各ノード集合C1〜C6によって、一つのファジールールが定義される。
把持姿勢推定部114は、入力された多数の学習データを用いて分類用ニューラルネットワーク114bを構築し、入力信号(POS,DIM,CC1,CC2)から出力信号(TAC,THC,TM)を推論する複数のファジールールを定義する。そして、把持姿勢推定部114は、定義した複数のファジールールを用いて、制御用ニューラルネットワーク114aを構築する。それにより、制御用ニューラルネットワーク114aの構造が複雑になることが防止される。
【0028】
図10に示すように、推定演算部110の接触パターン推定部112は、形状情報CC1,CC2と指事前姿勢THCと把持パターンTMを入力し、目標接触パターンTTIを出力する。接触パターン推定部112は、制御用ニューラルネットワーク112aと分類用ニューラルネットワーク112bを備えている。接触パターン推定部112は、形状情報CC1,CC2と指事前姿勢THCと把持パターンTMを入力し、ニューラルネットワークによる演算アルゴリズムを用いて、目標接触パターンTTIを演算する。制御用ニューラルネットワーク112aは、形状情報CC1,CC2と指事前姿勢THCと把持パターンTMを入力し、目標接触パターンTTIを出力するニューラルネットワークである。分類用ニューラルネットワーク112bは、制御用ニューラルネットワーク112aのための学習データを分類するためのニューラルネットワークである。接触パターン推定部112は、入力した複数の学習データを分類用ニューラルネットワーク112bによって分類し、学習データの分類結果に基づいて制御用ニューラルネットワーク112aを構築することができる。また、接触パターン推定部112は、学習データを入力することによって、構築した制御用ニューラルネットワーク112aを修正する(学習させる)ことができる。ここでいう学習データとは、入力信号である形状情報CC1,CC2と指事前姿勢THCと把持パターンTMと、それに対応する目標接触パターンTTIとを記述するデータである。
【0029】
図11は、接触パターン推定部112の制御用ニューラルネットワーク114aの構成の一例を示している。この制御用ニューラルネットワーク112aは、自己適合型ニューロファジー推論システム(Self-Adaptive Neuro-Fuzzy Inference System: SANFIS)を採用したものであり、入力信号(CC1,CC2,THC,TM)から出力信号(TTI)を推論するファジールール(IF−THENルール)を、5層から構成されるノード(ニューロン)Nn群によって構成している。第1層は入力層である。第2層は入力信号に対するファジー集合を記述するメンバーシップ関数を示している。第3層はファジールールを示している。第4層では出力の正規化が行われる。第5層は出力層である。
一方、接触パターン推定部112の分類用ニューラルネットワーク112bには、把持姿勢推定部114と同様に、GNG(Growing Neural Gas Network)アルゴリズムを採用している。
接触パターン推定部112は、入力された多数の学習データを用いて分類用ニューラルネットワーク114bを構築し、入力信号(CC1,CC2,THC,TM)から出力信号(TTI)を推論する複数のファジールールを定義する。そして、接触パターン推定部112は、定義した複数のファジールールを用いて、制御用ニューラルネットワーク112aを構築する。それにより、制御用ニューラルネットワーク112aの構造が複雑になることが防止される。
【0030】
図3に示すように、推定演算部110から出力されるハンド事前姿勢TACは、アーム制御部122に入力される。アーム制御部122は、入力されたハンド事前姿勢TACに基づいて、アーム部18のアクチュエータ124を制御する。アーム部40の実際の位置と姿勢は、アーム部126のエンコーダ126によって検出され、推定演算部110へと教示されるようになっている。
また、推定演算部110から出力される指事前姿勢THCと把持パターンTMと目標接触パターンTTIは、ハンド制御部132に入力される。ハンド制御部132は、入力された指事前姿勢THCと把持パターンTMと目標接触パターンTTIに基づいて、ハンド部40のアクチュエータ81〜84を制御する。ハンド部40の各指50、60、70の実際の姿勢は、ハンド部40のエンコーダ136によって検出され、推定演算部110へと教示されるようになっている。また、ハンド部40に設けられている接触センサS1〜S9群の出力信号は、推定演算部110ならびにハンド制御部132に入力されるようになっている。
【0031】
図12は、ロボット10の動作の流れを示すフローチャートである。図12に示す動作フローに沿って、ロボット10がテーブル4上に載置された把持対象物2を把持して持ち上げる際に実行する動作の流れを説明する。
ステップS2では、第1カメラ101および第2カメラ102によって、把持対象物2の撮像が行われる。
ステップS4では、視覚情報処理部106が、第1カメラ101による撮像画像と第2カメラ102による撮像画像を処理し、把持対象物2に関する位置情報POSと寸法情報DIMと形状情報CC1,CC2とが演算される。
ステップS6では、推定演算部110が、位置情報POSと寸法情報DIMと形状情報CC1,CC2を用いて、ハンド事前姿勢TACと指事前姿勢THCと把持パターンTMと目標接触パターンTTIを演算する。
ステップS8では、アーム制御部122が、ハンド部40の位置と姿勢がハンド事前姿勢TACと等しくなるように、アーム18のアクチュエータ124を制御する。
ステップS10では、ハンド制御部132が、ハンド部40の各指50、60、70の姿勢が指事前姿勢THCと等しくなるように、ハンド部40のアクチュエータ81〜84を制御する。なお、このステップS10におけるハンド部40の動作は、ステップS8におけるアーム部18の動作と同時に行うことができる。この段階で、ハンド部40の各指50、60、70は把持対象物2の周囲に位置しており、各指50、60、70を屈曲させていくことによって、ハンド部40が把持対象物2を把持可能な状態となっている。
ステップS12では、ハンド制御部132が、ハンド部40のアクチュエータ81〜84を制御し、把持対象物2を把持するように各指50、60、70を屈曲させていく。このとき、各指50、60、70の屈曲速度は、把持パターンTMに基づいて決定される。
【0032】
ステップS14では、ハンド制御部132が、接触センサS1〜S9群の出力信号と目標接触パターンTTIとを比較する。ハンド制御部132は、接触センサS1〜S9群の出力信号が、目標接触パターンTTIと等しくなるまで、各指50、60、70を屈曲させていく(ステップS12へ戻る)。ハンド制御部132は、接触センサS1〜S9群の出力信号が、目標接触パターンTTIと等しくなると、把持対象物2の把持を完了したと判断し、ステップS16へと進む。ここで、接触センサS1〜S9群の出力信号と、目標接触パターンTTIとが完全に一致する必要は必ずしもない。例えば9つの接触センサS1〜S9群のなかで、所定数の接触センサS1〜S9について一致したときに、把持対象物2の把持を完了したと判断することもできる。
ステップS16では、ハンド制御部132が、各指50、60、70の屈曲動作を停止する。この段階で、ハンド部40による把持対象物2の把持が完了する。
ステップS18では、アーム制御部122がアーム18のアクチュエータ124を制御し、ハンド部40の位置を上昇させる。それにより、ハンド部40のよって把持された把持対象物2はテーブル4から持ち上げられる。
【0033】
このように、ロボット10では、把持対象物2を撮像した画像情報から、ハンド部40によって把持対象物2を把持した時に接触センサS1〜S9群から出力されるべき出力信号を予測する。そして、接触センサS1〜S9群の出力信号が、予測した出力信号と等しくなるまで、各指50、60、70の姿勢を変化させていく。この方式では、把持対象物2を把持する時の各指50、60、70の姿勢を厳密に計算したり制御したりする必要がない。また、把持対象物2の寸法や形状を厳密に求める必要もない。このロボット10では、要求精度の高いセンサや煩雑な計算処理等を必要とすることなく、様々な形状や寸法の把持対象物2を把持することができる。
【0034】
(実施例2)
本発明を実施した実施例2について図面を参照しながら説明する。本実施例では、実施例1のロボット10に比して、ハンド制御部132の機能、構成を変更したロボットについて説明する。本実施例のロボットは、実施例1のロボット10に比して、実質的にハンド制御部132のみが変更されている。以下では、実施例1と相違する本実施例のハンド制御部232(図13参照)を主に説明するとともに、実施例1と同一である他の構成を重複して説明することは避けるように努める。
【0035】
図13は、本実施例のハンド制御部232の構成と、ハンド制御部232が入出力する各種信号を示している。図13に示すように、ハンド制御部232は、先に説明した位置情報POSと寸法情報DIMと形状情報CC1、CC2等を、視覚情報処理部106から入力する。また、ハンド制御部232は、先に説明した指事前姿勢THCと、把持パターンTMと、目標接触パターンTTI等を、推定演算部110から入力する。また、ハンド制御部232は、接触センサS1〜S9が現に出力している信号群ATI:(ON,OFF,・・・,ON)を入力する。また、ハンド制御部232は、ハンド部のエンコーダ136が検出した各指50、60、70の現姿勢AHC:(α,β,γ,θ)を入力する。これらの各種の入力信号に基づいて、ハンド制御部232は、先に説明した把持パターンTMに基づく動作指令値や、後に説明する目標動作指令値TMCを、ハンド部40の各アクチュエータ81〜84に出力する。
【0036】
図13に示すように、ハンド制御部232は、指動作決定部242と、第2接触パターン推定部244と、接触パターン判定部246と、指駆動部248を備えている。
図14に示すように、指動作決定部242は、把持対象物2の形状を記述する形状情報CC1、CC2と、各指50、60、70の現姿勢AHCと、接触センサS1〜S9が現に出力している信号群ATIと、目標接触パターンTTIを入力し、各指50、60、70に実行させる動作指令値TMC:(Vα,Vβ,Vγ,Vθ)を出力する。ここで、Vαは第1指50の屈曲角αの変化速度の指令値であり、Vβは第1指50の内外転角βの変化速度の指令値であり、Vγは第2指60の屈曲角βの変化速度の指令値であり、Vγは第3指70の屈曲角θの変化速度の指令値である。
指動作決定部242は、ニューラルネットワーク242aを備えている。このニューラルネットワーク242aは、形状情報CC1、CC2と、各指50、60、70の現姿勢AHCと、接触センサS1〜S9の出力信号群ATIと、目標接触パターンTTIを入力し、動作指令値TMCを出力する非階層型のニューラルネットワークである。このニューラルネットワーク242aについては、後段において詳細に説明する。
【0037】
図15に示すように、第2接触パターン推定部244は、把持対象物2の形状を記述する形状情報CC1、CC2と、各指50、60、70の現姿勢AHCと、指動作決定部242によって決定された動作指令値TMCを入力し、決定された動作指令値TMCによって各指の動作を実行したときに、接触センサS1〜S9群が出力すると予測される信号群(以下、予測接触パターンという)DTIを演算する。第2接触パターン推定部244は、接触パターン推定部112と同様に、制御用ニューラルネットワーク244aと分類用ニューラルネットワーク244bを備えている。制御用ニューラルネットワーク244aは、形状情報CC1、CC2と、各指50、60、70の現姿勢AHCと、動作指令値TMCを入力し、予測接触パターンDTIを出力するニューラルネットワークである。分類用ニューラルネットワーク244bは、制御用ニューラルネットワーク244aのための学習データを分類するためのニューラルネットワークである。第2接触パターン推定部244の各ニューラルネットワーク244a、244bは、接触パターン推定部112の各ニューラルネットワーク112a、112bと略同一の構成をしている。そのことから、第2接触パターン推定部244は、接触パターン推定部112の各ニューラルネットワーク112a、112bを共用するように構成することもできる。
【0038】
図16に示すように、接触パターン判定部246は、接触パターン推定部112による目標接触パターンTTIと、第2接触パターン推定部244による予測接触パターンDTIとを入力し、予測接触パターンDTIの目標接触パターンTTIに対する差異が所定の許容範囲内であるのか否かを判定する。この判定に用いる許容範囲は適宜設定することができる。例えば、信号が一致しない接触センサS1〜S9の数が所定数以下であるときに、両者の差異は許容範囲内であると判定することができる。
指駆動部248は、接触パターン判定部246による判定結果を受けて、ハンド部50の各アクチュエータ81〜84を動作させる。このとき、指駆動部248は、予測接触パターンDTIが接触パターン判定部246によって許容できるものと判定された場合に、指動作決定部242によって決定された動作指令値TMCを用いる。一方、予測接触パターンDTIが接触パターン判定部246によって許容できないものと判定された場合には、指動作決定部242によって決定された動作指令値TMCを用いることなく、把持動作を中止する。この場合、指駆動部248は、例えば各指50、60、70の姿勢を指事前姿勢THCに調整し、即ち、各指50、60、70を伸展させる方向に動作させ、各指50、60、70を把持対象物2から離反させることができる。
【0039】
図17を参照して、指動作決定部242のニューラルネットワーク242aについて説明する。図17は、指動作決定部242のニューラルネットワーク242aの構造を模式的に示すものである。図17に示すように、このニューラルネットワーク242aでは、ハンド部50が把持対象部2を様々に把持したときの各指50、60、70の姿勢AHC:(α,β,γ,θ)と接触センサS1〜S9群の出力信号群TI:(ON,OFF,・・・,ON)との対のデータがマップ化されている。これらの対のデータ(AHC,TI)は、実際にハンド部50に把持対象部2を様々に把持させて得られたデータである。また、得られた対のデータ(AHC,TI)群のマップ化には、GNG(Growing Neural Gas Network)アルゴリズムを利用している。それにより、ニューラルネットワーク242aでは、類似する対のデータ(AHC,TI)群の集合である複数のセルC1〜C5と、類似するセルC1〜C5を互いに結合する複数の結合線Egが形成されている。各セルC1〜C5は、各指50、60、70の姿勢AHCと接触センサS1〜S9群の出力信号群TIによって記述される一つの把持状態に対応する。また、各セルC1〜C5には、自身のセルが記述する把持状態から他のセルが記述する把持状態へ変化するのに要する各指50、60、70の動作指令値TMCnが記述されている。この動作指令値TMCnは、各指50、60、70の屈曲および内外転に関する速度指令値(Vα,Vβ,Vγ,Vθ)である。例えば、第1セルC1には、第1セルC1が記述する把持状態から、第2セルC2が記述する把持状態へと変化するのに要する動作指令値TMC12が記述されている。また、第1セルC1が記述する把持状態から、第3セルC3が記述する把持状態へと変化するのに要する動作指令値TMC13が記述されている。また、第1セルC1が記述する把持状態から、第4セルC4が記述する把持状態へと変化するのに要する動作指令値TMC14が記述されている。また、第1セルC1が記述する把持状態(AHC,TI)から、第5セルC5が記述する把持状態へと変化するのに要する動作指令値TMC15が記述されている。同様に、他のセルC2〜C5にも、複数の動作指令値TMCnが記述されている。これらの動作指令値TMCnは、ハンド部50に様々な動作指令を与える動作学習作業を行うことによって、ニューラルネットワーク242aに記憶(学習)させたものである。
【0040】
指動作決定部242のニューラルネットワーク242aに動作指令値TMCnを学習させる動作学習作業について説明する。この動作学習作業では、先ずハンド部50の各指50、60、70に、把持対象物2を把持した任意の初期姿勢をとらせる。このとき、ニューラルネットワーク242aでは、セルC1〜C5のなかから初期姿勢に対応するセル(例えばC1)が特定される。次いで、ハンド部50の各指50、60、70に、任意の動作指令(Vα,Vβ,Vγ,Vθ)を与え、各指50、60、70の姿勢を変化させる。このとき、ニューラルネットワーク242aでは、セルC1〜C5のなかから動作指令後の姿勢に対応するセル(例えばC5)が特定される。ニューラルネットワーク242aでは、初期姿勢に対応するセルC1に、セルC5の状態へ変化するのに要する動作指令値TMC15として、ハンド部50の各指50、60、70に与えられた動作指令(Vα,Vβ,Vγ,Vθ)が記録される。以上の動作を繰り返し実行することによって、各セルC1〜C5には、他のセルC1〜C5の状態へ変化するのに要する動作指令値TMCnが記録されていく。
ロボットの把持動作時には、ニューラルネットワーク242aは、入力した各指50、60、70の現姿勢AHCと、接触センサS1〜S9の出力信号群ATIと、目標接触パターンTTIから、現在の把持状態に対応する一つのセル(例えばC1)と、目標とする把持状態に対応する一つのセル(例えばC5)を選択し、両セル間の状態変化に対応する動作指令値(例えばTMC15)を出力する。
【0041】
図18は、本実施例のロボットが実行する動作の流れを示すフローチャートである。図18に示す動作フローに沿って、本実施例のロボットがテーブル4上に載置された把持対象物2(図1参照)を把持して持ち上げる際に実行する動作を説明する。
先ず、本実施例のロボットは、ステップS2からS12までの処理(一部図示省略)を、実施例1のロボット10と同様に行う。ステップS2からS12までの処理は、図12を参照して先に説明した処理と同様であるので、ここでは説明を省略する。
ステップS14では、実施例1と同様に、ハンド制御部232が、接触センサS1〜S9群の出力信号群ATIと目標接触パターンTTIとを比較する。そして、接触センサS1〜S9群の出力信号ATIが、目標接触パターンTTIと等しければ(ステップS14でYES)、ステップS16、S18へ進み、把持動作を完了する。一方、接触センサS1〜S9群の出力信号が、目標接触パターンTTIと等しくなければ(ステップS14でNO)、ステップS102へ進む。
【0042】
ステップS102では、現在の動作指令値による各指50、60、70の動作開始後、所定時間が経過しているのか否かが判定される。所定時間が経過していなければ(ステップS102でNO)、ステップS12へ戻り、現在の動作指令値による各指50、60、70の動作が継続される。一方、所定時間が経過していれば(ステップS102でYES)、現在の動作指令値では把持不能と判断し、ステップS104に進む。
ステップS104では、ハンド制御部232の指動作決定部242が、各指50、60、70に対する新たな動作指令値TMCを決定する。先に説明したように、指動作決定部242は、接触センサS1〜S9群が現に出力している信号群ATIと、目標接触パターンTTIと、各指50、60、70の現姿勢AHC等に基づいて、動作指令値TMCを決定する。即ち、このステップS104では、動作指令値TMCが、ハンド部50の現在の把持状態(厳密には把持できていない)を加味して決定される。
ステップS106では、ハンド制御部232の第2接触パターン推定部244が、ステップS104で決定された動作指令値TMCに基づいて、予測接触パターンDTIを演算する。先に説明したように、予測接触パターンDTIは、指動作決定部242が決定した動作指令値TMCによって各指50、60、70を動作させたときに、接触センサS1〜S9群が出力すると予測される信号群である。
【0043】
ステップS108では、ハンド制御部232の接触パターン判定部246が、第2接触パターン推定部244による予測接触パターンDTIの判定を行う。先に説明したように、接触パターン判定部246は、予測接触パターンDTIが、目標接触パターンTTIに対して許容範囲内であるのか否かを判定する。予測接触パターンDTIが、目標接触パターンTTIに対して許容範囲内であれば(ステップS108でOK)、ステップS104で決定された動作指令値TMCは適切であると判断し、ステップS12へ戻る。ステップS12では、ステップS104で決定された動作指令値TMCに基づいて、各指50、60、70の動作(詳しくは速度)が制御される。このとき、各指50、60、70の動作は屈曲する方向のみに限られず、伸展する方向に動作することもある。以下、ステップS12以降の処理が順に実行される。
一方、予測接触パターンDTIが、目標接触パターンTTIに対して許容範囲内でなければ(ステップS108でNG)、把持対象部2を把持することは不可能と判断し、ステップS110へ進む。ステップS110では、把持動作が中止される。それにより、把持対象物2を落下させたり握りつぶしたりすることを防止する。ハンド制御部232は、各指50、60、70の姿勢を指事前姿勢THCに戻し、各指50、60、70を把持対象物2から離反させる。この場合、例えばハンド部50の位置と姿勢を所定量だけ修正し、即ち、ハンド事前姿勢THCを所定量だけ修正し、目標接触パターンTTIの再演算を行った上で、把持動作を再実行してもよい。あるいは、頭部12を所定量だけ移動させ、カメラ101、102による把持対象物2の撮像方向を変化させた上で、把持対象物2の撮像処理(図18のステップS2)から把持動作を再実行してもよい。
【0044】
このように、本実施例のロボットでは、目標接触パターンTTIに基づいて各指50、60、70の姿勢を変化させていく際に、各指50、60、70と把持対象物2との接触状態や、各指50、60、70の姿勢に基づいて、各指50、60、70の動作を変化させることができる。把持対象物2の寸法や形状を厳密に把握する必要がなく、予め教示されていない形状を含め、様々な形状の把持対象物2を把持することができる。また、把持対象物2を把持可能であるのか否かを判断するとともに、不可能であると判断した場合には把持動作を中止することができる。それにより、把持対象物2を破損させることがない。
【0045】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば、本実施例では、ハンド部40の接触センサS1〜S9が把持対象物2との接触/非接触のみを検出する例について説明したが、接触センサS1〜S9がさらに把持対象物2との接触の強さ(接触圧)を検出するようにすることもできる。この場合、接触パターン推定部112は、接触センサS1〜S9の接触/非接触のみならず、接触時の接触圧力を含めて目標接触パターンTTIを予測することが好ましい。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時の請求項に記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数の目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0046】
【図1】ロボットの外観構成を示す図。
【図2】ハンド部の構成を示す図。
【図3】ロボットの構成を示すブロック図。
【図4】視覚情報処理部が実行する処理を説明する図。
【図5】把持パターンを例示する図。
【図6】目標接触パターンを例示する図。
【図7】把持姿勢推定部の入出力信号を示す図。
【図8】把持姿勢推定部の制御用ニューラルネットワークを例示する図。
【図9】把持姿勢推定部の分類用ニューラルネットワークを例示する図。
【図10】接触パターン推定部の入出力信号を示す図。
【図11】接触パターン推定部の制御用ニューラルネットワークを例示する図。
【図12】ロボットの動作の流れを示すフローチャート。
【図13】実施例2のハンド制御部の構成を示すブロック。
【図14】指動作決定部の入出力信号を示す図。
【図15】第2接触パターン推定部の入出力信号を示す図。
【図16】接触パターン判定部と指駆動部の入出力信号を示す図。
【図17】指動作決定部が備えるニューラルネットワークの構造を示す模式図。
【図18】実施例2のロボットの動作の流れを示すフローチャート。
【符号の説明】
【0047】
10:ロボット
18:アーム部
40:ハンド部
50、60、70:指
81〜84:ハンド部のアクチュエータ
101、102:カメラ
110:推定演算部
112:接触パターン推定部
114:把持姿勢推定部
122:アーム制御部
132:ハンド制御部
232:ハンド制御部(実施例2)
242:指動作決定部
244:第2接触パターン推定部
246:接触パターン判定部
248:指駆動部
S1〜S9:接触センサ
【技術分野】
【0001】
本発明は、ロボットに関する。特に、少なくとも2本の指を有するハンド部を備え、ハンド部によって物体を把持するロボットに関する。
【背景技術】
【0002】
少なくとも2本の指を有するハンド部を備え、ハンド部によって物体を把持するロボットが開発されている(例えば特許文献1)。この種のロボットでは、様々な形状の物体を確実に把持することが求められる。
【特許文献1】特開2005−118931号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
例えば人が物体を把持する場合、物体を把持している時の各指の姿勢は、物体の形状や寸法に応じて様々に変化する。同様に、ロボットによって物体を把持させる場合、把持する物体の形状等に応じて、各指の動作を変化させる必要がある。そのためには、例えば各指の経時的な姿勢変化を計算し、各指の動作を制御する手法が考えられる。しかしながら、この手法を採用するためには、把持する物体の形状を厳密に把握する必要があり、実際の形状や寸法が僅かにでも異なっていると、物体を確実に把持できなかったり、物体を握り潰してしまったりすることがある。
本発明は、上記の問題を解決する。本発明は、把持する物体の形状等を正確に把握することなく、物体を把持することができるロボットを具現化するための技術を提供する。
【課題を解決するための手段】
【0004】
本発明の技術は、物体を把持するロボットに具現化される。このロボットは、少なくとも2本の指を有するハンド部と、各指に少なくとも一つずつ配設されており、各指の所定箇所と把持対象物との接触を検出する接触センサ群と、少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する予測手段と、接触センサ群から出力されている信号群が予測手段によって予測された信号群に等しくなるように各指の動作を制御するハンド制御手段とを備えている。
【0005】
例えば人が物体を把持する場合、物体と接触させる各指の部位を、把持する物体の形状等に応じて変化させる。例えば、鉛筆等のように細長い物体を把持する場合、各指の指先を物体に接触させて把持することが多い。あるいは、ボールのように球状の物体を把持する場合、各指の略全体を物体に接触させて把持することが多い。ロボットにおいても同様に、物体と接触させる各指の部位を、物体の形状等に応じて変化させることによって、様々な形状の物体を正しく把持することが可能となる。
このロボットでは、各指の所定箇所と把持対象物との接触を検出する接触センサ群が設けられているとともに、把持対象物の形状を記述する形状情報に基づいて、把持対象物を把持したときに接触センサ群から出力されるべき信号群を予測する。即ち、把持対象物の形状等に基づいて、把持対象物を把持した時に把持対象物と接触すべき各指の部位を予測することができる。そして、接触センサ群から出力されている信号群が、予測した信号群に等しくなるように、各指の動作を制御することによって、把持対象物を確実に把持することができる。入力した形状情報が、実際の形状に対して誤差を含んでいる場合でも、把持対象物を確実に把持することができる。
このロボットによると、把持対象物の形状を正確に把握することなく、把持対象物を確実に把持することができる。
【0006】
上記したロボットでは、ハンド部の位置と姿勢を変化させるアーム部と、少なくとも把持対象物の位置を記述する位置情報を入力し、ハンド部が把持対象物を把持可能な位置と姿勢を演算する演算手段と、ハンド部の位置と姿勢が演算手段によって演算された位置と姿勢に等しくなるようにアーム部を制御するアーム制御手段とが付加されていることが好ましい。
このロボットでは、把持対象物の位置に応じて、ハンド部の位置と姿勢を調節することができる。それにより、様々な位置に置かれた把持対象物を、正しく把持することが可能となる。
【0007】
上記したロボットでは、把持対象物を撮像する撮像手段と、撮像手段による撮像画像から少なくとも前記形状情報を生成する画像処理手段とが付加されていることが好ましい。
それにより、外部から形状情報を入力することなく、把持対象物を把持することが可能となる。
【0008】
画像処理手段は、撮像手段による撮像画像からさらに前記位置情報を生成することが好ましい。
それにより、外部から位置情報を入力することなく、把持対象物を把持することが可能となる。
【0009】
予測手段は、少なくとも前記形状情報を入力し、予測される接触センサ群の出力信号群を出力するニューラルネットワークを備えていることが好ましい。
ニューラルネットワークを用いることにより、様々な形状の把持対象物に対して、接触センサ群の出力信号群を適切に予測することが可能となる。さらに、ニューラルネットワークを学習させることによって、接触センサ群の出力信号群をより適切に予測することが可能となる。
【0010】
演算手段は、少なくとも前記位置情報を入力し、ハンド部が把持対象物を把持可能な位置と姿勢を出力するニューラルネットワークを備えていることが好ましい。
ニューラルネットワークを用いることにより、様々な位置にある把持対象物に対して、ハンド部が把持対象物を把持可能な位置と姿勢を適切に演算することが可能となる。さらに、ニューラルネットワークを学習させることによって、ハンド部が把持対象物を把持可能な位置と姿勢をより適切に演算することが可能となる。
【0011】
上記したロボットにおいて、ハンド制御手段は、少なくとも前記接触センサ群が現に出力している信号群と、前記予測手段によって予測された信号群と、各指の現姿勢を入力し、各指に実行させる動作を決定する指動作決定手段を備えていることが好ましい。
このロボットは、接触センサ群から出力されている信号群が予測した信号群に等しくなるように各指の動作を制御する際に、接触センサ群が現に出力している信号群と各指の現姿勢に基づいて、各指の動作を調整することができる。実際の把持状態に応じて各指の動作方向や動作速度を制御することによって、把持対象物をより確実に把持することができる。
【0012】
指動作決定手段は、少なくとも前記接触センサ群から出力されている信号群と、前記予測手段によって予測された信号群と、各指の現姿勢を入力し、各指に実行させる動作を出力するニューラルネットワークを備えていることが好ましい。
ニューラルネットワークを用いることにより、様々に変化する実際の把持状態に応じて、各指に実行させるべき動作を適切に決定することが可能となる。さらに、ニューラルネットワークを学習させることによって、各指に実行させるべき動作をより適切に決定することが可能となる。
【0013】
ハンド制御手段はさらに、少なくとも前記指動作決定手段によって決定された各指の動作と前記形状情報を入力し、決定された各指の動作を実行したときに前記接触センサ群が出力する信号群を予測する第2予測手段と、第2予測手段によって予測された信号群が、前記予測手段によって予測された信号群に対して所定の許容範囲内であるときに、前記指動作決定手段によって決定された各指の動作を実行する指駆動手段を備えることが好ましい。
このロボットは、指動作決定手段によって決定された各指の動作を実行するのに先だって、その各指の動作に伴って接触センサ群が出力すると予測される信号群を把握することができる。そして、その各指の動作に伴って接触センサ群が出力すると予測される信号群が、把持対象物を把持したときに接触センサ群から出力されるべき信号群に対して、所定の誤差範囲内であるときに、指動作決定手段によって決定された各指の動作を実行する。それにより、把持対象物を把持するのに適切な動作のみを実行することができる。不適切な動作を実行することが防止され、把持対象物を落下させたり破損させたりすることが防止される。
【0014】
本発明の技術は、少なくとも2指を有するハンド部を備えるロボットの制御方法に具現化することもできる。この方法は、各指の所定箇所と把持対象物との接触を検出する接触センサを各指に少なくとも一つずつ配設する工程と、少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する工程と、接触センサ群から出力されている信号群が予測された信号群に等しくなるように各指の動作を制御する工程とを備える。
この制御方法によると、把持対象物の形状を正確に把握することなく、ロボットに把持対象物を確実に把持させることができる。
【発明の効果】
【0015】
本発明により、様々な形状の物体や様々な位置に配置された物体を、確実に把持することができるロボットを具現化することが可能となる。
【発明を実施するための最良の形態】
【0016】
最初に、以下に説明する実施例の主要な特徴を列記する。
(特徴1) ロボットは、把持対象物を撮像する2つの撮像手段(カメラ)を備えている。
(特徴2) ロボットは、2つの撮像手段によって把持対象物を撮像した画像から、把持対象物の位置を記述する位置情報と、把持対象物の大きさを記述する寸法情報と、把持対象物の形状を記述する形状情報を生成する処理部を備えている。
(特徴3) ロボットは、把持対象物の位置を記述する位置情報と、把持対象物の寸法を記述する寸法情報と、把持対象物の形状を記述する形状情報を入力して、ハンド部が把持対象物を把持可能な位置と姿勢を演算する演算手段を備えている。
【実施例】
【0017】
(実施例1)
図1は、本発明を実施したロボット10の外観を模式的に示す図である。本実施例のロボット10は、人の一部を模して作られたヒューマノイドロボットである。ロボット10は、例えばテーブル4上に載置されている把持対象物2を把持して移動させることができる。
図1に示すように、ロボット10は、頭部12と、体幹16と、アーム部18と、ハンド部40を備えている。頭部14は、首部14を介して体幹16に揺動可能に連結されている。ロボット10は、頭部14を体幹に対して揺動させるアクチュエータ(図示省略)を備えている。頭部12には、第1カメラ101と第2カメラ102が設けられている。
アーム18部は、上腕リンク24と、下腕リンク28と、上腕リンク24と下腕リンク28とを連結している肘関節26と、上腕リンク24を体幹16に連結している肩関節22と、下腕リンクに28にハンド部40を連結している手首関節30を備えている。ロボット10は、肩関節22や肘関節26や手首関節30を動かすアクチュエータ124(図3に図示されている)を備えている。ロボット10は、肩関節22や肘関節26や手首関節30を動かすことによって、ハンド部40の位置(x,y,z)や姿勢(ロール角,ピッチ角,ヨー角)を変化させる。
【0018】
図2は、ハンド部40の構成を模式的に示している。図2に示すように、ハンド部40は、手首関節30を介して上腕リンク28に連結されている掌部42と、掌部42に揺動可能に連結されている第1指50と、掌部42に揺動可能に連結されている第2指60と、掌部42に揺動可能に連結されている第3指70とを備えている。
第1指50は、第1先端リンク51と、第1中間リンク52と、第1基端リンク53とを備えている。第1先端リンク51と第1中間リンク52は、第1先関節56を介して揺動可能に連結されている。第1中間リンク52と第1基端リンク53は、第1中関節57を介して揺動可能に連結されている。第1基端リンク53は、第1基関節58および内外転関節59を介して掌部42に揺動可能に連結されている。第1指50の各関節56、57、58、59は、それぞれ1自由度の関節である。第1指50は、第1先関節56や第1中関節57や第1基関節58の角度を変化させることによって、屈曲したり伸展したりすることができる。また、第1指50は、内外転関節59の角度を変化させることによって、掌部42に対して内外転することができる。
第2指60は、第2先端リンク61と、第2中間リンク62と、第2基端リンク63とを備えている。第2先端リンク61と第2中間リンク62は、第2先関節66を介して揺動可能に連結されている。第2中間リンク62と第2基端リンク63は、第2中関節67を介して揺動可能に連結されている。第2基端リンク63は、第2基関節68を介して掌部42に揺動可能に連結されている。第2指60の各関節66、67、68は、それぞれ1自由度の関節である。第2指60は、第2先関節66や第2中関節67や第2基関節68の角度を変化させることによって、屈曲したり伸展したりすることができる。
第3指70は、第3先端リンク71と、第3中間リンク72と、第3基端リンク73とを備えている。第3先端リンク71と第3中間リンク72は、第3先関節76を介して揺動可能に連結されている。第3中間リンク72と第3基端リンク73は、第3中関節77を介して揺動可能に連結されている。第3基端リンク73は、第3基関節78を介して掌部42に揺動可能に連結されている。第3指60の各関節76、77、78は、それぞれ1自由度の関節である。第3指70は、第3先関節76や第3中関節77や第3基関節78の角度を変化させることによって、屈曲したり伸展したりすることができる。
【0019】
図2に示すように、ロボットハンド40は、第1指50を屈曲/伸展させる第1アクチュエータ81と、第1指50を内外転させる第2アクチュエータ82と、第2指60を屈曲/伸展させる第3アクチュエータ83と、第3指70を屈曲/伸展させる第4アクチュエータ84とを備えている。これらのアクチュエータ81〜84は、アーム部18の下腕リンク28に設けられている。
第1アクチュエータ81は、第1指50の第1先端リンク51にワイヤ86を介して接続されている。第1アクチュエータ81は、ワイヤ86を進退させることによって、第1指50の第1先関節56と第1中関節57と第1基関節58の各関節角を変化させ、第1指50の屈曲角αを変化させる。ここで、第1指50の屈曲角αとは、第1先関節56と第1中関節57と第1基関節58の各関節角の合計に相当し、掌部42に対する第1先端リンク51の成す角に相当する。
第2アクチュエータ82は、第1指50の第1基端リンク53にワイヤ87を介して接続されている。第2アクチュエータ82は、ワイヤ87を進退させることによって、第1指50の内外転関節59の関節角βを変化させる。
第3アクチュエータ83は、第2指60の第2先端リンク61にワイヤ88を介して接続されている。第3アクチュエータ83は、ワイヤ88を進退させることによって、第2指60の第2先関節66と第2中関節67と第2基関節68の各関節角を変化させ、第2指60の屈曲角γを変化させる。
第4アクチュエータ84は、第3指70の第3先端リンク71にワイヤ89を介して接続されている。第4アクチュエータ84は、ワイヤ89を進退させることによって、第3指70の第3先関節76と第3中関節77と第3基関節78の各関節角を変化させ、第3指70の屈曲角θを変化させる。
ここで、各指50、60、70の屈曲角α、γ、θとは、先関節56、66、76と中関節57、67、77と基関節58、68、78の各関節角の合計に相当し、掌部42に対する先端リンク51、61、71の回転角に相当する。ハンド部40の各指50、60、70の姿勢は、第1指50の屈曲角αと、第1指50の内外転角βと、第2指60の屈曲角γと、第3指70の屈曲角θによって記述することができる。
【0020】
図2に示すように、ハンド部の各指50、60、70には、把持対象物2との接触を検出する接触センサS1〜S9が設けられている。第1接触センサS1は、第1先端リンク51に設けられており、第1先端リンク51と把持対象物2との接触を検出する。第2接触センサS2は、第1中間リンク52に設けられており、第1中間リンク52と把持対象物2との接触を検出する。第3接触センサS3は、第1基端リンク53に設けられており、第1基端リンク53と把持対象物2との接触を検出する。第4接触センサS4は、第2先端リンク61に設けられており、第2先端リンク61と把持対象物2との接触を検出する。第5接触センサS5は、第2中間リンク62に設けられており、第2中間リンク62と把持対象物2との接触を検出する。第6接触センサS6は、第2基端リンク63に設けられており、第2基端リンク63と把持対象物2との接触を検出する。第7接触センサS7は、第3先端リンク71に設けられており、第3先端リンク71と把持対象物2との接触を検出する。第8接触センサS8は、第3中間リンク72に設けられており、第3中間リンク72と把持対象物2との接触を検出する。第9接触センサS9は、第3基端リンク73に設けられており、第3基端リンク73と把持対象物2との接触を検出する。接触センサS1〜S9には、例えば感圧センサを用いることができる。あるいは、各指50、60、70の各関節にトルクセンサを設けることによって、接触センサS1〜S9を構成することもできる。接触センサS1〜S9は、接触の有無だけではなく、接触の強さ(接触圧)も検出することができる。ただし、接触センサS1〜S9は、接触の有無を検出できるだけであって、接触の強さを検出できないものであってもよい。
【0021】
図3は、ロボット10の構成を示すブロック図である。図3に示すように、ロボット10は、視覚情報処理部106と、推定演算部110と、アーム部18のアクチュエータ124を制御するアーム制御部122と、アーム部18の各関節22、26、28の関節角を検出するエンコーダ126と、ハンド部40のアクチュエータ81〜84を制御するハンド制御部132と、ハンド部40の各指50、60、70の姿勢(α,β,γ,θ)を検出するエンコーダ136を備えている。アーム部のエンコーダ126の出力信号は、ハンド部40の実際の位置(x,y,z)と実際の姿勢(ロール角,ピッチ角,ヨー角)を示している。アーム部のエンコーダ126によって検出されたハンド部40の実際の位置(x,y,z)と実際の姿勢(ロール角,ピッチ角,ヨー角)は、推定演算部110に入力されるようになっている。また、ハンド部のエンコーダ136によって検出された各指50,60,70の実際の姿勢(α,β,γ,θ)は、推定演算部110に入力されるようになっている。
【0022】
視覚情報処理部106は、第1カメラ101による撮像画像と、第2カメラ102による撮像画像から、把持対象物2の位置を示す位置情報POSや,把持対象物2の大きさを示す寸法情報DIMや,把持対象物2の形状を示す形状情報CC1、CC2を求めることができる。
図4を参照して、視覚情報処理部106が実行する処理について説明する。ここでは、第1カメラ101による撮像画像201を例に挙げて説明する。図4(a)は、第1カメラ101による撮像画像201を示している。図4(a)に示すように、第1カメラ101による撮像画像201には、把持対象物像2aやテーブル像4a等が撮像されている。先ず、視覚情報処理部106は、図4(b)に示すように、撮像画像201からテーブル像4a等の背景を除去するとともに、把持対象物像2aの撮像範囲2bの抽出処理を行う。次いで、視覚情報処理部106は、図4(c)に示すように、把持対象物像2aの画像201内での位置情報POSi1と、把持対象物像2aの画像201内での寸法情報DIMi1を求める。具体的には、把持対象物像2aの撮像範囲2bを取り囲む矩形境界2cを画定し、その矩形境界2cの中心位置(m1,n1)を把持対象物像2aの位置情報POSi1として求め、その矩形境界2cの大きさ(dm1,dn1)を把持対象物像2aの寸法情報DIMi1として求める。次いで、視覚情報処理部106は、図4(d)に示すように、把持対象物像2aの撮像範囲2bの輪郭2dを抽出するとともに、輪郭2dを符号化して記述する形状情報CC1:(7,6,7,7,・・)を求める。ここで、形状情報CC1は、輪郭2dを複数の点2e群によって近似し、点2e群を順に辿ったときに一の点2eから次の点2eへと向かう方向を符号化して記述する、いわゆるチェーンコードによって記述することができる。
同様に、視覚情報処理部106は、第2カメラ102による撮像画像にも同様の処理を行い、画像内での位置情報POSi2と、画像内での寸法情報DIMi2と、形状情報CC2を求める。
図3に示すように、視覚情報処理部106は、両カメラ101、102による撮像画像から求めた画像内での位置情報POSi1,POSi2に基づいて、把持対象物2の実際の位置を示す位置情報POS:(x,y,z)を算出する。また、画像内での寸法情報DIMi1,DIMi2に基づいて、把持対象物2の実際の大きさを示す寸法情報DIM:(dimx,dimy,dimz)を算出する。なお、位置情報POS:(x,y,z)や寸法情報DIM:(dimx,dimy,dimz)は、把持対象物2の実際の位置や寸法を正確に記述する必要はなく、実際の位置や寸法に対応していれば足りる。
【0023】
図3に示すように、推定演算部110は、接触パターン推定部112と把持姿勢推定部114を備えている。推定演算部110は、位置情報POSと寸法情報DIMと形状情報CC1,CC2を視覚情報処理部106から入力し、ハンド事前姿勢TACと指事前姿勢THCと把持パターンTMと目標接触パターンTTIを出力する。
ハンド事前姿勢TACとは、ハンド部40が把持対象物2を把持する動作を開始する時点において、ハンド部40がとるべき位置(x,y,z)と姿勢(ロール角,ピッチ角,ヨー角)を記述するデータである。
指事前姿勢THCとは、ハンド部40が把持対象物2を把持する動作を開始する時点において、ハンド部40の各指50、60、70がとるべき姿勢(α,β,γ,θ)を記述するデータである。
把持パターンTMとは、ハンド部40が把持対象物2を把持する際の動作パターンを記述するデータである。図5に、把持パターンの例を示す。図5(a)は、ハンド部40が把持対象物2を上方から把持する上方把持パターンを示している。この把持パターンは、球体やテーブル4上に寝かされている円筒体を把持するのに適している。図5(b)は、ハンド部40が把持対象物2を側方から把持する側方把持パターンを示している。この把持パターンは、テーブル4上に立てられている円筒体を把持するのに適している。なお、把持パターンはこれらに限られず、さらに多数の把持パターンを定義することもできる。本実施例では、比較的に大きい把持対象物2を上方から把持する大型上方把持パターンと、比較的に小さい把持対象物2を上方から把持する小型上方把持パターンと、比較的に大きい把持対象物2を側方から把持する大型側方把持パターンと、比較的に小さい把持対象物2を側方から把持する小型側方把持パターンの4パターンが定義されている。
また、図3に示すように、推定演算部110にはアーム部18のエンコーダ126やハンド部40のエンコーダ136が接続されており、検出されたハンド部40の実際の位置(x,y,z)や姿勢(ロール角,ピッチ角,ヨー角)と検出された各指50、60、70の実際の姿勢(α,β,γ,θ)が入力されるようになっている。
【0024】
目標接触パターンTTIは、ハンド部40が把持対象物2を正しく把持したときに、ハンド部40の接触センサS1〜S9のそれぞれから出力されると予想される信号群を記述するデータである。図6に、目標接触パターンTTIの一例を示す。図6(a)に示すように、目標接触パターンTTIは、接触センサS1〜S9毎に接触(ON)/非接触(OFF)を記述するデータである。即ち、図6(b)に示すように、目標接触パターンTTIは、ハンド部40が把持対象物2を正しく把持したときに、各指50、60、70の各リンク51、52、53、61、62、63、71、72、73の中で、いずれのリンクが把持対象物2と接触すべきであり、いずれのリンクが把持対象物2と接触すべきでないのかを記述するものとなる。ハンド部40が把持対象物2を実際に把持したときに、接触センサS1〜S9のそれぞれから出力された信号群と、目標接触パターンTTIが記述する信号群が一致すれば、ハンド部40が把持対象物2を正しく把持したと判断することができる。
【0025】
図7に示すように、推定演算部110の把持姿勢推定部114は、位置情報POSと寸法情報DIMと形状情報CC1,CC2を入力し、ハンド事前姿勢TACと指事前姿勢THCと把持パターンTMを出力する。把持姿勢推定部114は、制御用ニューラルネットワーク114aと分類用ニューラルネットワーク114bを備えている。把持姿勢推定部114は、位置情報POSと寸法情報DIMと形状情報CC1,CC2を入力し、ニューラルネットワークによる演算アルゴリズムを用いて、ハンド事前姿勢TACと指事前姿勢THCと把持パターンTMを演算する。制御用ニューラルネットワーク114aは、位置情報POSと寸法情報DIMと形状情報CC1,CC2を入力し、ハンド事前姿勢TACと指事前姿勢THCと把持パターンTMを出力するニューラルネットワークである。分類用ニューラルネットワーク114bは、制御用ニューラルネットワーク114aのための学習データを分類するためのニューラルネットワークである。把持姿勢推定部114は、入力した複数の学習データを分類用ニューラルネットワーク114bによって分類し、学習データの分類結果に基づいて制御用ニューラルネットワーク114aを構築することができる。また、把持姿勢推定部114は、学習データを入力することによって、構築した制御用ニューラルネットワーク114aを修正する(学習させる)ことができる。ここでいう学習データとは、入力信号である位置情報POSと寸法情報DIMと形状情報CC1,CC2と、それに対応するハンド事前姿勢TACと指事前姿勢THCと把持パターンTMとを記述するデータである。
【0026】
図8は、把持姿勢推定部114の制御用ニューラルネットワーク114aの構成の一例を示している。この制御用ニューラルネットワーク114aは、自己適合型ニューロファジー推論システム(Self-Adaptive Neuro-Fuzzy Inference System: SANFIS)を採用したものであり、入力信号(POS,DIM,CC1,CC2)から出力信号(TAC,THC,TM)を推論するファジールール(IF−THENルール)を、6層から構成されるノード(ニューロン)Nn群によって構成している。例えば、図中のハッチングを付した一連のノードNnによって、一つのファジールールが記述されている。第1層は入力層である。第2層は入力信号に対するファジー集合を記述するメンバーシップ関数を示している。第3層は入力信号から出力信号を推論するファジールールを示している。第4層では出力信号の正規化が行われる。第5層は出力信号に対するファジー集合を記述するメンバーシップ関数を示している。第6層は出力層である。制御用ニューラルネットワーク114aは、入力された学習データを用い、例えば誤差逆伝播法によって、第2層のメンバーシップ関数や第5層のメンバーシップ関数を修正する(学習する)ことができる。
【0027】
図9は、把持姿勢推定部114の分類用ニューラルネットワーク114bを示している。本実施例では、分類用ニューラルネットワーク114bにGNG(Growing Neural Gas Network)アルゴリズムを採用している。分類用ニューラルネットワーク114bは、非階層型の構造を有しており、自己組織化マップMに複数のノードNgとノードNg同士を結合する結合線Egから構成されている。各ノードNgは、入力信号POS,DIM,CC1,CC2)から出力信号(TAC,THC,TM)を推論するファジールール(IF−THENルール)を記述している。分類用ニューラルネットワーク114bは、入力した学習データを用いて競合学習を行い、ノードNgや結合線Egの生成、消去、位置調整を行う。その結果、図9に示すように、分類用ニューラルネットワーク114bでは、一のノードNgに複数のノードNgが結合するノード集合C1〜C6が生成される。各ノード集合C1〜C6によって、一つのファジールールが定義される。
把持姿勢推定部114は、入力された多数の学習データを用いて分類用ニューラルネットワーク114bを構築し、入力信号(POS,DIM,CC1,CC2)から出力信号(TAC,THC,TM)を推論する複数のファジールールを定義する。そして、把持姿勢推定部114は、定義した複数のファジールールを用いて、制御用ニューラルネットワーク114aを構築する。それにより、制御用ニューラルネットワーク114aの構造が複雑になることが防止される。
【0028】
図10に示すように、推定演算部110の接触パターン推定部112は、形状情報CC1,CC2と指事前姿勢THCと把持パターンTMを入力し、目標接触パターンTTIを出力する。接触パターン推定部112は、制御用ニューラルネットワーク112aと分類用ニューラルネットワーク112bを備えている。接触パターン推定部112は、形状情報CC1,CC2と指事前姿勢THCと把持パターンTMを入力し、ニューラルネットワークによる演算アルゴリズムを用いて、目標接触パターンTTIを演算する。制御用ニューラルネットワーク112aは、形状情報CC1,CC2と指事前姿勢THCと把持パターンTMを入力し、目標接触パターンTTIを出力するニューラルネットワークである。分類用ニューラルネットワーク112bは、制御用ニューラルネットワーク112aのための学習データを分類するためのニューラルネットワークである。接触パターン推定部112は、入力した複数の学習データを分類用ニューラルネットワーク112bによって分類し、学習データの分類結果に基づいて制御用ニューラルネットワーク112aを構築することができる。また、接触パターン推定部112は、学習データを入力することによって、構築した制御用ニューラルネットワーク112aを修正する(学習させる)ことができる。ここでいう学習データとは、入力信号である形状情報CC1,CC2と指事前姿勢THCと把持パターンTMと、それに対応する目標接触パターンTTIとを記述するデータである。
【0029】
図11は、接触パターン推定部112の制御用ニューラルネットワーク114aの構成の一例を示している。この制御用ニューラルネットワーク112aは、自己適合型ニューロファジー推論システム(Self-Adaptive Neuro-Fuzzy Inference System: SANFIS)を採用したものであり、入力信号(CC1,CC2,THC,TM)から出力信号(TTI)を推論するファジールール(IF−THENルール)を、5層から構成されるノード(ニューロン)Nn群によって構成している。第1層は入力層である。第2層は入力信号に対するファジー集合を記述するメンバーシップ関数を示している。第3層はファジールールを示している。第4層では出力の正規化が行われる。第5層は出力層である。
一方、接触パターン推定部112の分類用ニューラルネットワーク112bには、把持姿勢推定部114と同様に、GNG(Growing Neural Gas Network)アルゴリズムを採用している。
接触パターン推定部112は、入力された多数の学習データを用いて分類用ニューラルネットワーク114bを構築し、入力信号(CC1,CC2,THC,TM)から出力信号(TTI)を推論する複数のファジールールを定義する。そして、接触パターン推定部112は、定義した複数のファジールールを用いて、制御用ニューラルネットワーク112aを構築する。それにより、制御用ニューラルネットワーク112aの構造が複雑になることが防止される。
【0030】
図3に示すように、推定演算部110から出力されるハンド事前姿勢TACは、アーム制御部122に入力される。アーム制御部122は、入力されたハンド事前姿勢TACに基づいて、アーム部18のアクチュエータ124を制御する。アーム部40の実際の位置と姿勢は、アーム部126のエンコーダ126によって検出され、推定演算部110へと教示されるようになっている。
また、推定演算部110から出力される指事前姿勢THCと把持パターンTMと目標接触パターンTTIは、ハンド制御部132に入力される。ハンド制御部132は、入力された指事前姿勢THCと把持パターンTMと目標接触パターンTTIに基づいて、ハンド部40のアクチュエータ81〜84を制御する。ハンド部40の各指50、60、70の実際の姿勢は、ハンド部40のエンコーダ136によって検出され、推定演算部110へと教示されるようになっている。また、ハンド部40に設けられている接触センサS1〜S9群の出力信号は、推定演算部110ならびにハンド制御部132に入力されるようになっている。
【0031】
図12は、ロボット10の動作の流れを示すフローチャートである。図12に示す動作フローに沿って、ロボット10がテーブル4上に載置された把持対象物2を把持して持ち上げる際に実行する動作の流れを説明する。
ステップS2では、第1カメラ101および第2カメラ102によって、把持対象物2の撮像が行われる。
ステップS4では、視覚情報処理部106が、第1カメラ101による撮像画像と第2カメラ102による撮像画像を処理し、把持対象物2に関する位置情報POSと寸法情報DIMと形状情報CC1,CC2とが演算される。
ステップS6では、推定演算部110が、位置情報POSと寸法情報DIMと形状情報CC1,CC2を用いて、ハンド事前姿勢TACと指事前姿勢THCと把持パターンTMと目標接触パターンTTIを演算する。
ステップS8では、アーム制御部122が、ハンド部40の位置と姿勢がハンド事前姿勢TACと等しくなるように、アーム18のアクチュエータ124を制御する。
ステップS10では、ハンド制御部132が、ハンド部40の各指50、60、70の姿勢が指事前姿勢THCと等しくなるように、ハンド部40のアクチュエータ81〜84を制御する。なお、このステップS10におけるハンド部40の動作は、ステップS8におけるアーム部18の動作と同時に行うことができる。この段階で、ハンド部40の各指50、60、70は把持対象物2の周囲に位置しており、各指50、60、70を屈曲させていくことによって、ハンド部40が把持対象物2を把持可能な状態となっている。
ステップS12では、ハンド制御部132が、ハンド部40のアクチュエータ81〜84を制御し、把持対象物2を把持するように各指50、60、70を屈曲させていく。このとき、各指50、60、70の屈曲速度は、把持パターンTMに基づいて決定される。
【0032】
ステップS14では、ハンド制御部132が、接触センサS1〜S9群の出力信号と目標接触パターンTTIとを比較する。ハンド制御部132は、接触センサS1〜S9群の出力信号が、目標接触パターンTTIと等しくなるまで、各指50、60、70を屈曲させていく(ステップS12へ戻る)。ハンド制御部132は、接触センサS1〜S9群の出力信号が、目標接触パターンTTIと等しくなると、把持対象物2の把持を完了したと判断し、ステップS16へと進む。ここで、接触センサS1〜S9群の出力信号と、目標接触パターンTTIとが完全に一致する必要は必ずしもない。例えば9つの接触センサS1〜S9群のなかで、所定数の接触センサS1〜S9について一致したときに、把持対象物2の把持を完了したと判断することもできる。
ステップS16では、ハンド制御部132が、各指50、60、70の屈曲動作を停止する。この段階で、ハンド部40による把持対象物2の把持が完了する。
ステップS18では、アーム制御部122がアーム18のアクチュエータ124を制御し、ハンド部40の位置を上昇させる。それにより、ハンド部40のよって把持された把持対象物2はテーブル4から持ち上げられる。
【0033】
このように、ロボット10では、把持対象物2を撮像した画像情報から、ハンド部40によって把持対象物2を把持した時に接触センサS1〜S9群から出力されるべき出力信号を予測する。そして、接触センサS1〜S9群の出力信号が、予測した出力信号と等しくなるまで、各指50、60、70の姿勢を変化させていく。この方式では、把持対象物2を把持する時の各指50、60、70の姿勢を厳密に計算したり制御したりする必要がない。また、把持対象物2の寸法や形状を厳密に求める必要もない。このロボット10では、要求精度の高いセンサや煩雑な計算処理等を必要とすることなく、様々な形状や寸法の把持対象物2を把持することができる。
【0034】
(実施例2)
本発明を実施した実施例2について図面を参照しながら説明する。本実施例では、実施例1のロボット10に比して、ハンド制御部132の機能、構成を変更したロボットについて説明する。本実施例のロボットは、実施例1のロボット10に比して、実質的にハンド制御部132のみが変更されている。以下では、実施例1と相違する本実施例のハンド制御部232(図13参照)を主に説明するとともに、実施例1と同一である他の構成を重複して説明することは避けるように努める。
【0035】
図13は、本実施例のハンド制御部232の構成と、ハンド制御部232が入出力する各種信号を示している。図13に示すように、ハンド制御部232は、先に説明した位置情報POSと寸法情報DIMと形状情報CC1、CC2等を、視覚情報処理部106から入力する。また、ハンド制御部232は、先に説明した指事前姿勢THCと、把持パターンTMと、目標接触パターンTTI等を、推定演算部110から入力する。また、ハンド制御部232は、接触センサS1〜S9が現に出力している信号群ATI:(ON,OFF,・・・,ON)を入力する。また、ハンド制御部232は、ハンド部のエンコーダ136が検出した各指50、60、70の現姿勢AHC:(α,β,γ,θ)を入力する。これらの各種の入力信号に基づいて、ハンド制御部232は、先に説明した把持パターンTMに基づく動作指令値や、後に説明する目標動作指令値TMCを、ハンド部40の各アクチュエータ81〜84に出力する。
【0036】
図13に示すように、ハンド制御部232は、指動作決定部242と、第2接触パターン推定部244と、接触パターン判定部246と、指駆動部248を備えている。
図14に示すように、指動作決定部242は、把持対象物2の形状を記述する形状情報CC1、CC2と、各指50、60、70の現姿勢AHCと、接触センサS1〜S9が現に出力している信号群ATIと、目標接触パターンTTIを入力し、各指50、60、70に実行させる動作指令値TMC:(Vα,Vβ,Vγ,Vθ)を出力する。ここで、Vαは第1指50の屈曲角αの変化速度の指令値であり、Vβは第1指50の内外転角βの変化速度の指令値であり、Vγは第2指60の屈曲角βの変化速度の指令値であり、Vγは第3指70の屈曲角θの変化速度の指令値である。
指動作決定部242は、ニューラルネットワーク242aを備えている。このニューラルネットワーク242aは、形状情報CC1、CC2と、各指50、60、70の現姿勢AHCと、接触センサS1〜S9の出力信号群ATIと、目標接触パターンTTIを入力し、動作指令値TMCを出力する非階層型のニューラルネットワークである。このニューラルネットワーク242aについては、後段において詳細に説明する。
【0037】
図15に示すように、第2接触パターン推定部244は、把持対象物2の形状を記述する形状情報CC1、CC2と、各指50、60、70の現姿勢AHCと、指動作決定部242によって決定された動作指令値TMCを入力し、決定された動作指令値TMCによって各指の動作を実行したときに、接触センサS1〜S9群が出力すると予測される信号群(以下、予測接触パターンという)DTIを演算する。第2接触パターン推定部244は、接触パターン推定部112と同様に、制御用ニューラルネットワーク244aと分類用ニューラルネットワーク244bを備えている。制御用ニューラルネットワーク244aは、形状情報CC1、CC2と、各指50、60、70の現姿勢AHCと、動作指令値TMCを入力し、予測接触パターンDTIを出力するニューラルネットワークである。分類用ニューラルネットワーク244bは、制御用ニューラルネットワーク244aのための学習データを分類するためのニューラルネットワークである。第2接触パターン推定部244の各ニューラルネットワーク244a、244bは、接触パターン推定部112の各ニューラルネットワーク112a、112bと略同一の構成をしている。そのことから、第2接触パターン推定部244は、接触パターン推定部112の各ニューラルネットワーク112a、112bを共用するように構成することもできる。
【0038】
図16に示すように、接触パターン判定部246は、接触パターン推定部112による目標接触パターンTTIと、第2接触パターン推定部244による予測接触パターンDTIとを入力し、予測接触パターンDTIの目標接触パターンTTIに対する差異が所定の許容範囲内であるのか否かを判定する。この判定に用いる許容範囲は適宜設定することができる。例えば、信号が一致しない接触センサS1〜S9の数が所定数以下であるときに、両者の差異は許容範囲内であると判定することができる。
指駆動部248は、接触パターン判定部246による判定結果を受けて、ハンド部50の各アクチュエータ81〜84を動作させる。このとき、指駆動部248は、予測接触パターンDTIが接触パターン判定部246によって許容できるものと判定された場合に、指動作決定部242によって決定された動作指令値TMCを用いる。一方、予測接触パターンDTIが接触パターン判定部246によって許容できないものと判定された場合には、指動作決定部242によって決定された動作指令値TMCを用いることなく、把持動作を中止する。この場合、指駆動部248は、例えば各指50、60、70の姿勢を指事前姿勢THCに調整し、即ち、各指50、60、70を伸展させる方向に動作させ、各指50、60、70を把持対象物2から離反させることができる。
【0039】
図17を参照して、指動作決定部242のニューラルネットワーク242aについて説明する。図17は、指動作決定部242のニューラルネットワーク242aの構造を模式的に示すものである。図17に示すように、このニューラルネットワーク242aでは、ハンド部50が把持対象部2を様々に把持したときの各指50、60、70の姿勢AHC:(α,β,γ,θ)と接触センサS1〜S9群の出力信号群TI:(ON,OFF,・・・,ON)との対のデータがマップ化されている。これらの対のデータ(AHC,TI)は、実際にハンド部50に把持対象部2を様々に把持させて得られたデータである。また、得られた対のデータ(AHC,TI)群のマップ化には、GNG(Growing Neural Gas Network)アルゴリズムを利用している。それにより、ニューラルネットワーク242aでは、類似する対のデータ(AHC,TI)群の集合である複数のセルC1〜C5と、類似するセルC1〜C5を互いに結合する複数の結合線Egが形成されている。各セルC1〜C5は、各指50、60、70の姿勢AHCと接触センサS1〜S9群の出力信号群TIによって記述される一つの把持状態に対応する。また、各セルC1〜C5には、自身のセルが記述する把持状態から他のセルが記述する把持状態へ変化するのに要する各指50、60、70の動作指令値TMCnが記述されている。この動作指令値TMCnは、各指50、60、70の屈曲および内外転に関する速度指令値(Vα,Vβ,Vγ,Vθ)である。例えば、第1セルC1には、第1セルC1が記述する把持状態から、第2セルC2が記述する把持状態へと変化するのに要する動作指令値TMC12が記述されている。また、第1セルC1が記述する把持状態から、第3セルC3が記述する把持状態へと変化するのに要する動作指令値TMC13が記述されている。また、第1セルC1が記述する把持状態から、第4セルC4が記述する把持状態へと変化するのに要する動作指令値TMC14が記述されている。また、第1セルC1が記述する把持状態(AHC,TI)から、第5セルC5が記述する把持状態へと変化するのに要する動作指令値TMC15が記述されている。同様に、他のセルC2〜C5にも、複数の動作指令値TMCnが記述されている。これらの動作指令値TMCnは、ハンド部50に様々な動作指令を与える動作学習作業を行うことによって、ニューラルネットワーク242aに記憶(学習)させたものである。
【0040】
指動作決定部242のニューラルネットワーク242aに動作指令値TMCnを学習させる動作学習作業について説明する。この動作学習作業では、先ずハンド部50の各指50、60、70に、把持対象物2を把持した任意の初期姿勢をとらせる。このとき、ニューラルネットワーク242aでは、セルC1〜C5のなかから初期姿勢に対応するセル(例えばC1)が特定される。次いで、ハンド部50の各指50、60、70に、任意の動作指令(Vα,Vβ,Vγ,Vθ)を与え、各指50、60、70の姿勢を変化させる。このとき、ニューラルネットワーク242aでは、セルC1〜C5のなかから動作指令後の姿勢に対応するセル(例えばC5)が特定される。ニューラルネットワーク242aでは、初期姿勢に対応するセルC1に、セルC5の状態へ変化するのに要する動作指令値TMC15として、ハンド部50の各指50、60、70に与えられた動作指令(Vα,Vβ,Vγ,Vθ)が記録される。以上の動作を繰り返し実行することによって、各セルC1〜C5には、他のセルC1〜C5の状態へ変化するのに要する動作指令値TMCnが記録されていく。
ロボットの把持動作時には、ニューラルネットワーク242aは、入力した各指50、60、70の現姿勢AHCと、接触センサS1〜S9の出力信号群ATIと、目標接触パターンTTIから、現在の把持状態に対応する一つのセル(例えばC1)と、目標とする把持状態に対応する一つのセル(例えばC5)を選択し、両セル間の状態変化に対応する動作指令値(例えばTMC15)を出力する。
【0041】
図18は、本実施例のロボットが実行する動作の流れを示すフローチャートである。図18に示す動作フローに沿って、本実施例のロボットがテーブル4上に載置された把持対象物2(図1参照)を把持して持ち上げる際に実行する動作を説明する。
先ず、本実施例のロボットは、ステップS2からS12までの処理(一部図示省略)を、実施例1のロボット10と同様に行う。ステップS2からS12までの処理は、図12を参照して先に説明した処理と同様であるので、ここでは説明を省略する。
ステップS14では、実施例1と同様に、ハンド制御部232が、接触センサS1〜S9群の出力信号群ATIと目標接触パターンTTIとを比較する。そして、接触センサS1〜S9群の出力信号ATIが、目標接触パターンTTIと等しければ(ステップS14でYES)、ステップS16、S18へ進み、把持動作を完了する。一方、接触センサS1〜S9群の出力信号が、目標接触パターンTTIと等しくなければ(ステップS14でNO)、ステップS102へ進む。
【0042】
ステップS102では、現在の動作指令値による各指50、60、70の動作開始後、所定時間が経過しているのか否かが判定される。所定時間が経過していなければ(ステップS102でNO)、ステップS12へ戻り、現在の動作指令値による各指50、60、70の動作が継続される。一方、所定時間が経過していれば(ステップS102でYES)、現在の動作指令値では把持不能と判断し、ステップS104に進む。
ステップS104では、ハンド制御部232の指動作決定部242が、各指50、60、70に対する新たな動作指令値TMCを決定する。先に説明したように、指動作決定部242は、接触センサS1〜S9群が現に出力している信号群ATIと、目標接触パターンTTIと、各指50、60、70の現姿勢AHC等に基づいて、動作指令値TMCを決定する。即ち、このステップS104では、動作指令値TMCが、ハンド部50の現在の把持状態(厳密には把持できていない)を加味して決定される。
ステップS106では、ハンド制御部232の第2接触パターン推定部244が、ステップS104で決定された動作指令値TMCに基づいて、予測接触パターンDTIを演算する。先に説明したように、予測接触パターンDTIは、指動作決定部242が決定した動作指令値TMCによって各指50、60、70を動作させたときに、接触センサS1〜S9群が出力すると予測される信号群である。
【0043】
ステップS108では、ハンド制御部232の接触パターン判定部246が、第2接触パターン推定部244による予測接触パターンDTIの判定を行う。先に説明したように、接触パターン判定部246は、予測接触パターンDTIが、目標接触パターンTTIに対して許容範囲内であるのか否かを判定する。予測接触パターンDTIが、目標接触パターンTTIに対して許容範囲内であれば(ステップS108でOK)、ステップS104で決定された動作指令値TMCは適切であると判断し、ステップS12へ戻る。ステップS12では、ステップS104で決定された動作指令値TMCに基づいて、各指50、60、70の動作(詳しくは速度)が制御される。このとき、各指50、60、70の動作は屈曲する方向のみに限られず、伸展する方向に動作することもある。以下、ステップS12以降の処理が順に実行される。
一方、予測接触パターンDTIが、目標接触パターンTTIに対して許容範囲内でなければ(ステップS108でNG)、把持対象部2を把持することは不可能と判断し、ステップS110へ進む。ステップS110では、把持動作が中止される。それにより、把持対象物2を落下させたり握りつぶしたりすることを防止する。ハンド制御部232は、各指50、60、70の姿勢を指事前姿勢THCに戻し、各指50、60、70を把持対象物2から離反させる。この場合、例えばハンド部50の位置と姿勢を所定量だけ修正し、即ち、ハンド事前姿勢THCを所定量だけ修正し、目標接触パターンTTIの再演算を行った上で、把持動作を再実行してもよい。あるいは、頭部12を所定量だけ移動させ、カメラ101、102による把持対象物2の撮像方向を変化させた上で、把持対象物2の撮像処理(図18のステップS2)から把持動作を再実行してもよい。
【0044】
このように、本実施例のロボットでは、目標接触パターンTTIに基づいて各指50、60、70の姿勢を変化させていく際に、各指50、60、70と把持対象物2との接触状態や、各指50、60、70の姿勢に基づいて、各指50、60、70の動作を変化させることができる。把持対象物2の寸法や形状を厳密に把握する必要がなく、予め教示されていない形状を含め、様々な形状の把持対象物2を把持することができる。また、把持対象物2を把持可能であるのか否かを判断するとともに、不可能であると判断した場合には把持動作を中止することができる。それにより、把持対象物2を破損させることがない。
【0045】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば、本実施例では、ハンド部40の接触センサS1〜S9が把持対象物2との接触/非接触のみを検出する例について説明したが、接触センサS1〜S9がさらに把持対象物2との接触の強さ(接触圧)を検出するようにすることもできる。この場合、接触パターン推定部112は、接触センサS1〜S9の接触/非接触のみならず、接触時の接触圧力を含めて目標接触パターンTTIを予測することが好ましい。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時の請求項に記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数の目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0046】
【図1】ロボットの外観構成を示す図。
【図2】ハンド部の構成を示す図。
【図3】ロボットの構成を示すブロック図。
【図4】視覚情報処理部が実行する処理を説明する図。
【図5】把持パターンを例示する図。
【図6】目標接触パターンを例示する図。
【図7】把持姿勢推定部の入出力信号を示す図。
【図8】把持姿勢推定部の制御用ニューラルネットワークを例示する図。
【図9】把持姿勢推定部の分類用ニューラルネットワークを例示する図。
【図10】接触パターン推定部の入出力信号を示す図。
【図11】接触パターン推定部の制御用ニューラルネットワークを例示する図。
【図12】ロボットの動作の流れを示すフローチャート。
【図13】実施例2のハンド制御部の構成を示すブロック。
【図14】指動作決定部の入出力信号を示す図。
【図15】第2接触パターン推定部の入出力信号を示す図。
【図16】接触パターン判定部と指駆動部の入出力信号を示す図。
【図17】指動作決定部が備えるニューラルネットワークの構造を示す模式図。
【図18】実施例2のロボットの動作の流れを示すフローチャート。
【符号の説明】
【0047】
10:ロボット
18:アーム部
40:ハンド部
50、60、70:指
81〜84:ハンド部のアクチュエータ
101、102:カメラ
110:推定演算部
112:接触パターン推定部
114:把持姿勢推定部
122:アーム制御部
132:ハンド制御部
232:ハンド制御部(実施例2)
242:指動作決定部
244:第2接触パターン推定部
246:接触パターン判定部
248:指駆動部
S1〜S9:接触センサ
【特許請求の範囲】
【請求項1】
物体を把持するロボットであって、
少なくとも2本の指を有するハンド部と、
各指に少なくとも一つずつ配設されており、各指の所定箇所と把持対象物との接触を検出する接触センサ群と、
少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する予測手段と、
接触センサ群から出力されている信号群が、予測手段によって予測された信号群に等しくなるように、各指の動作を制御するハンド制御手段と、
を備えるロボット。
【請求項2】
前記ハンド部の位置と姿勢を変化させるアーム部と、
少なくとも把持対象物の位置を記述する位置情報を入力し、ハンド部が把持対象物を把持可能な位置と姿勢を演算する演算手段と、
ハンド部の位置と姿勢が、演算手段によって演算された位置と姿勢に等しくなるように、アーム部を制御するアーム制御手段と、
が付加されていることを特徴とする請求項1のロボット。
【請求項3】
把持対象物を撮像する撮像手段と、
撮像手段による撮像画像から少なくとも前記形状情報を生成する画像処理手段と、
が付加されていることを特徴とする請求項1又は2のロボット。
【請求項4】
前記画像処理手段は、前記撮像手段による撮像画像からさらに前記位置情報を生成することを特徴とする請求項3のロボット。
【請求項5】
前記予測手段は、少なくとも前記形状情報を入力し、予測される前記接触センサ群の出力信号群を出力するニューラルネットワークを備えていることを特徴とする請求項1から4のいずれかのロボット。
【請求項6】
前記演算手段は、少なくとも前記位置情報を入力し、前記ハンド部が把持対象物を把持可能な位置と姿勢を出力するニューラルネットワークを備えていることを特徴とする請求項2から5のいずれかのロボット。
【請求項7】
前記ハンド制御手段は、少なくとも前記接触センサ群が現に出力している信号群と、前記予測手段によって予測された信号群と、各指の現姿勢を入力し、各指に実行させる動作を決定する指動作決定手段を備えていることを特徴とする請求項1から6のいずれかのロボット。
【請求項8】
前記指動作決定手段は、少なくとも前記接触センサ群から出力されている信号群と、前記予測手段によって予測された信号群と、各指の現姿勢を入力し、各指に実行させる動作を出力するニューラルネットワークを備えていることを特徴とする請求項7のロボット。
【請求項9】
前記ハンド制御手段は、
少なくとも前記指動作決定手段によって決定された各指の動作と前記形状情報を入力し、決定された各指の動作を実行したときに前記接触センサ群が出力する信号群を予測する第2予測手段と、
第2予測手段によって予測された信号群が、前記予測手段によって予測された信号群に対して所定の許容範囲内であるときに、前記指動作決定手段によって決定された各指の動作を実行する指駆動手段と、
を備えることを特徴とする請求項7又は8のロボット。
【請求項10】
少なくとも2指を有するハンド部を備えるロボットを制御する方法であって、
各指の所定箇所と把持対象物との接触を検出する接触センサを各指に少なくとも一つずつ配設する工程と、
少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する工程と、
接触センサ群から出力されている信号群が、予測された信号群に等しくなるように、各指の動作を制御する工程と、
を備えるロボットの制御方法。
【請求項1】
物体を把持するロボットであって、
少なくとも2本の指を有するハンド部と、
各指に少なくとも一つずつ配設されており、各指の所定箇所と把持対象物との接触を検出する接触センサ群と、
少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する予測手段と、
接触センサ群から出力されている信号群が、予測手段によって予測された信号群に等しくなるように、各指の動作を制御するハンド制御手段と、
を備えるロボット。
【請求項2】
前記ハンド部の位置と姿勢を変化させるアーム部と、
少なくとも把持対象物の位置を記述する位置情報を入力し、ハンド部が把持対象物を把持可能な位置と姿勢を演算する演算手段と、
ハンド部の位置と姿勢が、演算手段によって演算された位置と姿勢に等しくなるように、アーム部を制御するアーム制御手段と、
が付加されていることを特徴とする請求項1のロボット。
【請求項3】
把持対象物を撮像する撮像手段と、
撮像手段による撮像画像から少なくとも前記形状情報を生成する画像処理手段と、
が付加されていることを特徴とする請求項1又は2のロボット。
【請求項4】
前記画像処理手段は、前記撮像手段による撮像画像からさらに前記位置情報を生成することを特徴とする請求項3のロボット。
【請求項5】
前記予測手段は、少なくとも前記形状情報を入力し、予測される前記接触センサ群の出力信号群を出力するニューラルネットワークを備えていることを特徴とする請求項1から4のいずれかのロボット。
【請求項6】
前記演算手段は、少なくとも前記位置情報を入力し、前記ハンド部が把持対象物を把持可能な位置と姿勢を出力するニューラルネットワークを備えていることを特徴とする請求項2から5のいずれかのロボット。
【請求項7】
前記ハンド制御手段は、少なくとも前記接触センサ群が現に出力している信号群と、前記予測手段によって予測された信号群と、各指の現姿勢を入力し、各指に実行させる動作を決定する指動作決定手段を備えていることを特徴とする請求項1から6のいずれかのロボット。
【請求項8】
前記指動作決定手段は、少なくとも前記接触センサ群から出力されている信号群と、前記予測手段によって予測された信号群と、各指の現姿勢を入力し、各指に実行させる動作を出力するニューラルネットワークを備えていることを特徴とする請求項7のロボット。
【請求項9】
前記ハンド制御手段は、
少なくとも前記指動作決定手段によって決定された各指の動作と前記形状情報を入力し、決定された各指の動作を実行したときに前記接触センサ群が出力する信号群を予測する第2予測手段と、
第2予測手段によって予測された信号群が、前記予測手段によって予測された信号群に対して所定の許容範囲内であるときに、前記指動作決定手段によって決定された各指の動作を実行する指駆動手段と、
を備えることを特徴とする請求項7又は8のロボット。
【請求項10】
少なくとも2指を有するハンド部を備えるロボットを制御する方法であって、
各指の所定箇所と把持対象物との接触を検出する接触センサを各指に少なくとも一つずつ配設する工程と、
少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する工程と、
接触センサ群から出力されている信号群が、予測された信号群に等しくなるように、各指の動作を制御する工程と、
を備えるロボットの制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2007−245326(P2007−245326A)
【公開日】平成19年9月27日(2007.9.27)
【国際特許分類】
【出願番号】特願2006−204945(P2006−204945)
【出願日】平成18年7月27日(2006.7.27)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成19年9月27日(2007.9.27)
【国際特許分類】
【出願日】平成18年7月27日(2006.7.27)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]