(57)【要約】【課題】  把持する物体の形状等を正確に把握することなく、物体を把持することができるロボットを具現化する。【解決手段】  物体を把持するロボットであって、少なくとも２本の指を有するハンド部と、各指に少なくとも一つずつ配設されており、各指の所定箇所と把持対象物との接触を検出する接触センサ群と、少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する予測手段と、接触センサ群から出力されている信号群が、予測手段によって予測された信号群に等しくなるように、各指の動作を制御するハンド制御手段とを備える。【選択図】  図３
2007245326.tif 000002
【特許請求の範囲】
【請求項１】
物体を把持するロボットであって、
少なくとも２本の指を有するハンド部と、
各指に少なくとも一つずつ配設されており、各指の所定箇所と把持対象物との接触を検出する接触センサ群と、
少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する予測手段と、
接触センサ群から出力されている信号群が、予測手段によって予測された信号群に等しくなるように、各指の動作を制御するハンド制御手段と、
を備えるロボット。
【請求項２】
前記ハンド部の位置と姿勢を変化させるアーム部と、
少なくとも把持対象物の位置を記述する位置情報を入力し、ハンド部が把持対象物を把持可能な位置と姿勢を演算する演算手段と、
ハンド部の位置と姿勢が、演算手段によって演算された位置と姿勢に等しくなるように、アーム部を制御するアーム制御手段と、
が付加されていることを特徴とする請求項１のロボット。
【請求項３】
把持対象物を撮像する撮像手段と、
撮像手段による撮像画像から少なくとも前記形状情報を生成する画像処理手段と、
が付加されていることを特徴とする請求項１又は２のロボット。
【請求項４】
前記画像処理手段は、前記撮像手段による撮像画像からさらに前記位置情報を生成することを特徴とする請求項３のロボット。
【請求項５】
前記予測手段は、少なくとも前記形状情報を入力し、予測される前記接触センサ群の出力信号群を出力するニューラルネットワークを備えていることを特徴とする請求項１から４のいずれかのロボット。
【請求項６】
前記演算手段は、少なくとも前記位置情報を入力し、前記ハンド部が把持対象物を把持可能な位置と姿勢を出力するニューラルネットワークを備えていることを特徴とする請求項２から５のいずれかのロボット。
【請求項７】
前記ハンド制御手段は、少なくとも前記接触センサ群が現に出力している信号群と、前記予測手段によって予測された信号群と、各指の現姿勢を入力し、各指に実行させる動作を決定する指動作決定手段を備えていることを特徴とする請求項１から６のいずれかのロボット。
【請求項８】
前記指動作決定手段は、少なくとも前記接触センサ群から出力されている信号群と、前記予測手段によって予測された信号群と、各指の現姿勢を入力し、各指に実行させる動作を出力するニューラルネットワークを備えていることを特徴とする請求項７のロボット。
【請求項９】
前記ハンド制御手段は、
少なくとも前記指動作決定手段によって決定された各指の動作と前記形状情報を入力し、決定された各指の動作を実行したときに前記接触センサ群が出力する信号群を予測する第２予測手段と、
第２予測手段によって予測された信号群が、前記予測手段によって予測された信号群に対して所定の許容範囲内であるときに、前記指動作決定手段によって決定された各指の動作を実行する指駆動手段と、
を備えることを特徴とする請求項７又は８のロボット。
【請求項１０】
少なくとも２指を有するハンド部を備えるロボットを制御する方法であって、
各指の所定箇所と把持対象物との接触を検出する接触センサを各指に少なくとも一つずつ配設する工程と、
少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する工程と、
接触センサ群から出力されている信号群が、予測された信号群に等しくなるように、各指の動作を制御する工程と、
を備えるロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに関する。特に、少なくとも２本の指を有するハンド部を備え、ハンド部によって物体を把持するロボットに関する。
【背景技術】
【０００２】
少なくとも２本の指を有するハンド部を備え、ハンド部によって物体を把持するロボットが開発されている（例えば特許文献１）。この種のロボットでは、様々な形状の物体を確実に把持することが求められる。
【特許文献１】特開２００５−１１８９３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば人が物体を把持する場合、物体を把持している時の各指の姿勢は、物体の形状や寸法に応じて様々に変化する。同様に、ロボットによって物体を把持させる場合、把持する物体の形状等に応じて、各指の動作を変化させる必要がある。そのためには、例えば各指の経時的な姿勢変化を計算し、各指の動作を制御する手法が考えられる。しかしながら、この手法を採用するためには、把持する物体の形状を厳密に把握する必要があり、実際の形状や寸法が僅かにでも異なっていると、物体を確実に把持できなかったり、物体を握り潰してしまったりすることがある。
本発明は、上記の問題を解決する。本発明は、把持する物体の形状等を正確に把握することなく、物体を把持することができるロボットを具現化するための技術を提供する。
【課題を解決するための手段】
【０００４】
本発明の技術は、物体を把持するロボットに具現化される。このロボットは、少なくとも２本の指を有するハンド部と、各指に少なくとも一つずつ配設されており、各指の所定箇所と把持対象物との接触を検出する接触センサ群と、少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する予測手段と、接触センサ群から出力されている信号群が予測手段によって予測された信号群に等しくなるように各指の動作を制御するハンド制御手段とを備えている。
【０００５】
例えば人が物体を把持する場合、物体と接触させる各指の部位を、把持する物体の形状等に応じて変化させる。例えば、鉛筆等のように細長い物体を把持する場合、各指の指先を物体に接触させて把持することが多い。あるいは、ボールのように球状の物体を把持する場合、各指の略全体を物体に接触させて把持することが多い。ロボットにおいても同様に、物体と接触させる各指の部位を、物体の形状等に応じて変化させることによって、様々な形状の物体を正しく把持することが可能となる。
このロボットでは、各指の所定箇所と把持対象物との接触を検出する接触センサ群が設けられているとともに、把持対象物の形状を記述する形状情報に基づいて、把持対象物を把持したときに接触センサ群から出力されるべき信号群を予測する。即ち、把持対象物の形状等に基づいて、把持対象物を把持した時に把持対象物と接触すべき各指の部位を予測することができる。そして、接触センサ群から出力されている信号群が、予測した信号群に等しくなるように、各指の動作を制御することによって、把持対象物を確実に把持することができる。入力した形状情報が、実際の形状に対して誤差を含んでいる場合でも、把持対象物を確実に把持することができる。
このロボットによると、把持対象物の形状を正確に把握することなく、把持対象物を確実に把持することができる。
【０００６】
上記したロボットでは、ハンド部の位置と姿勢を変化させるアーム部と、少なくとも把持対象物の位置を記述する位置情報を入力し、ハンド部が把持対象物を把持可能な位置と姿勢を演算する演算手段と、ハンド部の位置と姿勢が演算手段によって演算された位置と姿勢に等しくなるようにアーム部を制御するアーム制御手段とが付加されていることが好ましい。
このロボットでは、把持対象物の位置に応じて、ハンド部の位置と姿勢を調節することができる。それにより、様々な位置に置かれた把持対象物を、正しく把持することが可能となる。
【０００７】
上記したロボットでは、把持対象物を撮像する撮像手段と、撮像手段による撮像画像から少なくとも前記形状情報を生成する画像処理手段とが付加されていることが好ましい。
それにより、外部から形状情報を入力することなく、把持対象物を把持することが可能となる。
【０００８】
画像処理手段は、撮像手段による撮像画像からさらに前記位置情報を生成することが好ましい。
それにより、外部から位置情報を入力することなく、把持対象物を把持することが可能となる。
【０００９】
予測手段は、少なくとも前記形状情報を入力し、予測される接触センサ群の出力信号群を出力するニューラルネットワークを備えていることが好ましい。
ニューラルネットワークを用いることにより、様々な形状の把持対象物に対して、接触センサ群の出力信号群を適切に予測することが可能となる。さらに、ニューラルネットワークを学習させることによって、接触センサ群の出力信号群をより適切に予測することが可能となる。
【００１０】
演算手段は、少なくとも前記位置情報を入力し、ハンド部が把持対象物を把持可能な位置と姿勢を出力するニューラルネットワークを備えていることが好ましい。
ニューラルネットワークを用いることにより、様々な位置にある把持対象物に対して、ハンド部が把持対象物を把持可能な位置と姿勢を適切に演算することが可能となる。さらに、ニューラルネットワークを学習させることによって、ハンド部が把持対象物を把持可能な位置と姿勢をより適切に演算することが可能となる。
【００１１】
上記したロボットにおいて、ハンド制御手段は、少なくとも前記接触センサ群が現に出力している信号群と、前記予測手段によって予測された信号群と、各指の現姿勢を入力し、各指に実行させる動作を決定する指動作決定手段を備えていることが好ましい。
このロボットは、接触センサ群から出力されている信号群が予測した信号群に等しくなるように各指の動作を制御する際に、接触センサ群が現に出力している信号群と各指の現姿勢に基づいて、各指の動作を調整することができる。実際の把持状態に応じて各指の動作方向や動作速度を制御することによって、把持対象物をより確実に把持することができる。
【００１２】
指動作決定手段は、少なくとも前記接触センサ群から出力されている信号群と、前記予測手段によって予測された信号群と、各指の現姿勢を入力し、各指に実行させる動作を出力するニューラルネットワークを備えていることが好ましい。
ニューラルネットワークを用いることにより、様々に変化する実際の把持状態に応じて、各指に実行させるべき動作を適切に決定することが可能となる。さらに、ニューラルネットワークを学習させることによって、各指に実行させるべき動作をより適切に決定することが可能となる。
【００１３】
ハンド制御手段はさらに、少なくとも前記指動作決定手段によって決定された各指の動作と前記形状情報を入力し、決定された各指の動作を実行したときに前記接触センサ群が出力する信号群を予測する第２予測手段と、第２予測手段によって予測された信号群が、前記予測手段によって予測された信号群に対して所定の許容範囲内であるときに、前記指動作決定手段によって決定された各指の動作を実行する指駆動手段を備えることが好ましい。
このロボットは、指動作決定手段によって決定された各指の動作を実行するのに先だって、その各指の動作に伴って接触センサ群が出力すると予測される信号群を把握することができる。そして、その各指の動作に伴って接触センサ群が出力すると予測される信号群が、把持対象物を把持したときに接触センサ群から出力されるべき信号群に対して、所定の誤差範囲内であるときに、指動作決定手段によって決定された各指の動作を実行する。それにより、把持対象物を把持するのに適切な動作のみを実行することができる。不適切な動作を実行することが防止され、把持対象物を落下させたり破損させたりすることが防止される。
【００１４】
本発明の技術は、少なくとも２指を有するハンド部を備えるロボットの制御方法に具現化することもできる。この方法は、各指の所定箇所と把持対象物との接触を検出する接触センサを各指に少なくとも一つずつ配設する工程と、少なくとも把持対象物の形状を記述する形状情報を入力し、ハンド部が把持対象物を把持したときに接触センサ群が出力する信号群を予測する工程と、接触センサ群から出力されている信号群が予測された信号群に等しくなるように各指の動作を制御する工程とを備える。
この制御方法によると、把持対象物の形状を正確に把握することなく、ロボットに把持対象物を確実に把持させることができる。
【発明の効果】
【００１５】
本発明により、様々な形状の物体や様々な位置に配置された物体を、確実に把持することができるロボットを具現化することが可能となる。
【発明を実施するための最良の形態】
【００１６】
最初に、以下に説明する実施例の主要な特徴を列記する。
（特徴１）  ロボットは、把持対象物を撮像する２つの撮像手段（カメラ）を備えている。
（特徴２）  ロボットは、２つの撮像手段によって把持対象物を撮像した画像から、把持対象物の位置を記述する位置情報と、把持対象物の大きさを記述する寸法情報と、把持対象物の形状を記述する形状情報を生成する処理部を備えている。
（特徴３）  ロボットは、把持対象物の位置を記述する位置情報と、把持対象物の寸法を記述する寸法情報と、把持対象物の形状を記述する形状情報を入力して、ハンド部が把持対象物を把持可能な位置と姿勢を演算する演算手段を備えている。
【実施例】
【００１７】
（実施例１）
図１は、本発明を実施したロボット１０の外観を模式的に示す図である。本実施例のロボット１０は、人の一部を模して作られたヒューマノイドロボットである。ロボット１０は、例えばテーブル４上に載置されている把持対象物２を把持して移動させることができる。
図１に示すように、ロボット１０は、頭部１２と、体幹１６と、アーム部１８と、ハンド部４０を備えている。頭部１４は、首部１４を介して体幹１６に揺動可能に連結されている。ロボット１０は、頭部１４を体幹に対して揺動させるアクチュエータ（図示省略）を備えている。頭部１２には、第１カメラ１０１と第２カメラ１０２が設けられている。
アーム１８部は、上腕リンク２４と、下腕リンク２８と、上腕リンク２４と下腕リンク２８とを連結している肘関節２６と、上腕リンク２４を体幹１６に連結している肩関節２２と、下腕リンクに２８にハンド部４０を連結している手首関節３０を備えている。ロボット１０は、肩関節２２や肘関節２６や手首関節３０を動かすアクチュエータ１２４（図３に図示されている）を備えている。ロボット１０は、肩関節２２や肘関節２６や手首関節３０を動かすことによって、ハンド部４０の位置（ｘ，ｙ，ｚ）や姿勢（ロール角，ピッチ角，ヨー角）を変化させる。
【００１８】
図２は、ハンド部４０の構成を模式的に示している。図２に示すように、ハンド部４０は、手首関節３０を介して上腕リンク２８に連結されている掌部４２と、掌部４２に揺動可能に連結されている第１指５０と、掌部４２に揺動可能に連結されている第２指６０と、掌部４２に揺動可能に連結されている第３指７０とを備えている。
第１指５０は、第１先端リンク５１と、第１中間リンク５２と、第１基端リンク５３とを備えている。第１先端リンク５１と第１中間リンク５２は、第１先関節５６を介して揺動可能に連結されている。第１中間リンク５２と第１基端リンク５３は、第１中関節５７を介して揺動可能に連結されている。第１基端リンク５３は、第１基関節５８および内外転関節５９を介して掌部４２に揺動可能に連結されている。第１指５０の各関節５６、５７、５８、５９は、それぞれ１自由度の関節である。第１指５０は、第１先関節５６や第１中関節５７や第１基関節５８の角度を変化させることによって、屈曲したり伸展したりすることができる。また、第１指５０は、内外転関節５９の角度を変化させることによって、掌部４２に対して内外転することができる。
第２指６０は、第２先端リンク６１と、第２中間リンク６２と、第２基端リンク６３とを備えている。第２先端リンク６１と第２中間リンク６２は、第２先関節６６を介して揺動可能に連結されている。第２中間リンク６２と第２基端リンク６３は、第２中関節６７を介して揺動可能に連結されている。第２基端リンク６３は、第２基関節６８を介して掌部４２に揺動可能に連結されている。第２指６０の各関節６６、６７、６８は、それぞれ１自由度の関節である。第２指６０は、第２先関節６６や第２中関節６７や第２基関節６８の角度を変化させることによって、屈曲したり伸展したりすることができる。
第３指７０は、第３先端リンク７１と、第３中間リンク７２と、第３基端リンク７３とを備えている。第３先端リンク７１と第３中間リンク７２は、第３先関節７６を介して揺動可能に連結されている。第３中間リンク７２と第３基端リンク７３は、第３中関節７７を介して揺動可能に連結されている。第３基端リンク７３は、第３基関節７８を介して掌部４２に揺動可能に連結されている。第３指６０の各関節７６、７７、７８は、それぞれ１自由度の関節である。第３指７０は、第３先関節７６や第３中関節７７や第３基関節７８の角度を変化させることによって、屈曲したり伸展したりすることができる。
【００１９】
図２に示すように、ロボットハンド４０は、第１指５０を屈曲／伸展させる第１アクチュエータ８１と、第１指５０を内外転させる第２アクチュエータ８２と、第２指６０を屈曲／伸展させる第３アクチュエータ８３と、第３指７０を屈曲／伸展させる第４アクチュエータ８４とを備えている。これらのアクチュエータ８１〜８４は、アーム部１８の下腕リンク２８に設けられている。
第１アクチュエータ８１は、第１指５０の第１先端リンク５１にワイヤ８６を介して接続されている。第１アクチュエータ８１は、ワイヤ８６を進退させることによって、第１指５０の第１先関節５６と第１中関節５７と第１基関節５８の各関節角を変化させ、第１指５０の屈曲角αを変化させる。ここで、第１指５０の屈曲角αとは、第１先関節５６と第１中関節５７と第１基関節５８の各関節角の合計に相当し、掌部４２に対する第１先端リンク５１の成す角に相当する。
第２アクチュエータ８２は、第１指５０の第１基端リンク５３にワイヤ８７を介して接続されている。第２アクチュエータ８２は、ワイヤ８７を進退させることによって、第１指５０の内外転関節５９の関節角βを変化させる。
第３アクチュエータ８３は、第２指６０の第２先端リンク６１にワイヤ８８を介して接続されている。第３アクチュエータ８３は、ワイヤ８８を進退させることによって、第２指６０の第２先関節６６と第２中関節６７と第２基関節６８の各関節角を変化させ、第２指６０の屈曲角γを変化させる。
第４アクチュエータ８４は、第３指７０の第３先端リンク７１にワイヤ８９を介して接続されている。第４アクチュエータ８４は、ワイヤ８９を進退させることによって、第３指７０の第３先関節７６と第３中関節７７と第３基関節７８の各関節角を変化させ、第３指７０の屈曲角θを変化させる。
ここで、各指５０、６０、７０の屈曲角α、γ、θとは、先関節５６、６６、７６と中関節５７、６７、７７と基関節５８、６８、７８の各関節角の合計に相当し、掌部４２に対する先端リンク５１、６１、７１の回転角に相当する。ハンド部４０の各指５０、６０、７０の姿勢は、第１指５０の屈曲角αと、第１指５０の内外転角βと、第２指６０の屈曲角γと、第３指７０の屈曲角θによって記述することができる。
【００２０】
図２に示すように、ハンド部の各指５０、６０、７０には、把持対象物２との接触を検出する接触センサＳ１〜Ｓ９が設けられている。第１接触センサＳ１は、第１先端リンク５１に設けられており、第１先端リンク５１と把持対象物２との接触を検出する。第２接触センサＳ２は、第１中間リンク５２に設けられており、第１中間リンク５２と把持対象物２との接触を検出する。第３接触センサＳ３は、第１基端リンク５３に設けられており、第１基端リンク５３と把持対象物２との接触を検出する。第４接触センサＳ４は、第２先端リンク６１に設けられており、第２先端リンク６１と把持対象物２との接触を検出する。第５接触センサＳ５は、第２中間リンク６２に設けられており、第２中間リンク６２と把持対象物２との接触を検出する。第６接触センサＳ６は、第２基端リンク６３に設けられており、第２基端リンク６３と把持対象物２との接触を検出する。第７接触センサＳ７は、第３先端リンク７１に設けられており、第３先端リンク７１と把持対象物２との接触を検出する。第８接触センサＳ８は、第３中間リンク７２に設けられており、第３中間リンク７２と把持対象物２との接触を検出する。第９接触センサＳ９は、第３基端リンク７３に設けられており、第３基端リンク７３と把持対象物２との接触を検出する。接触センサＳ１〜Ｓ９には、例えば感圧センサを用いることができる。あるいは、各指５０、６０、７０の各関節にトルクセンサを設けることによって、接触センサＳ１〜Ｓ９を構成することもできる。接触センサＳ１〜Ｓ９は、接触の有無だけではなく、接触の強さ（接触圧）も検出することができる。ただし、接触センサＳ１〜Ｓ９は、接触の有無を検出できるだけであって、接触の強さを検出できないものであってもよい。
【００２１】
図３は、ロボット１０の構成を示すブロック図である。図３に示すように、ロボット１０は、視覚情報処理部１０６と、推定演算部１１０と、アーム部１８のアクチュエータ１２４を制御するアーム制御部１２２と、アーム部１８の各関節２２、２６、２８の関節角を検出するエンコーダ１２６と、ハンド部４０のアクチュエータ８１〜８４を制御するハンド制御部１３２と、ハンド部４０の各指５０、６０、７０の姿勢（α，β，γ，θ）を検出するエンコーダ１３６を備えている。アーム部のエンコーダ１２６の出力信号は、ハンド部４０の実際の位置（ｘ，ｙ，ｚ）と実際の姿勢（ロール角，ピッチ角，ヨー角）を示している。アーム部のエンコーダ１２６によって検出されたハンド部４０の実際の位置（ｘ，ｙ，ｚ）と実際の姿勢（ロール角，ピッチ角，ヨー角）は、推定演算部１１０に入力されるようになっている。また、ハンド部のエンコーダ１３６によって検出された各指５０，６０，７０の実際の姿勢（α，β，γ，θ）は、推定演算部１１０に入力されるようになっている。
【００２２】
視覚情報処理部１０６は、第１カメラ１０１による撮像画像と、第２カメラ１０２による撮像画像から、把持対象物２の位置を示す位置情報ＰＯＳや，把持対象物２の大きさを示す寸法情報ＤＩＭや，把持対象物２の形状を示す形状情報ＣＣ１、ＣＣ２を求めることができる。
図４を参照して、視覚情報処理部１０６が実行する処理について説明する。ここでは、第１カメラ１０１による撮像画像２０１を例に挙げて説明する。図４（ａ）は、第１カメラ１０１による撮像画像２０１を示している。図４（ａ）に示すように、第１カメラ１０１による撮像画像２０１には、把持対象物像２ａやテーブル像４ａ等が撮像されている。先ず、視覚情報処理部１０６は、図４（ｂ）に示すように、撮像画像２０１からテーブル像４ａ等の背景を除去するとともに、把持対象物像２ａの撮像範囲２ｂの抽出処理を行う。次いで、視覚情報処理部１０６は、図４（ｃ）に示すように、把持対象物像２ａの画像２０１内での位置情報ＰＯＳｉ１と、把持対象物像２ａの画像２０１内での寸法情報ＤＩＭｉ１を求める。具体的には、把持対象物像２ａの撮像範囲２ｂを取り囲む矩形境界２ｃを画定し、その矩形境界２ｃの中心位置（ｍ１，ｎ１）を把持対象物像２ａの位置情報ＰＯＳｉ１として求め、その矩形境界２ｃの大きさ（ｄｍ１，ｄｎ１）を把持対象物像２ａの寸法情報ＤＩＭｉ１として求める。次いで、視覚情報処理部１０６は、図４（ｄ）に示すように、把持対象物像２ａの撮像範囲２ｂの輪郭２ｄを抽出するとともに、輪郭２ｄを符号化して記述する形状情報ＣＣ１：（７，６，７，７，・・）を求める。ここで、形状情報ＣＣ１は、輪郭２ｄを複数の点２ｅ群によって近似し、点２ｅ群を順に辿ったときに一の点２ｅから次の点２ｅへと向かう方向を符号化して記述する、いわゆるチェーンコードによって記述することができる。
同様に、視覚情報処理部１０６は、第２カメラ１０２による撮像画像にも同様の処理を行い、画像内での位置情報ＰＯＳｉ２と、画像内での寸法情報ＤＩＭｉ２と、形状情報ＣＣ２を求める。
図３に示すように、視覚情報処理部１０６は、両カメラ１０１、１０２による撮像画像から求めた画像内での位置情報ＰＯＳｉ１，ＰＯＳｉ２に基づいて、把持対象物２の実際の位置を示す位置情報ＰＯＳ：（ｘ，ｙ，ｚ）を算出する。また、画像内での寸法情報ＤＩＭｉ１，ＤＩＭｉ２に基づいて、把持対象物２の実際の大きさを示す寸法情報ＤＩＭ：（ｄｉｍｘ，ｄｉｍｙ，ｄｉｍｚ）を算出する。なお、位置情報ＰＯＳ：（ｘ，ｙ，ｚ）や寸法情報ＤＩＭ：（ｄｉｍｘ，ｄｉｍｙ，ｄｉｍｚ）は、把持対象物２の実際の位置や寸法を正確に記述する必要はなく、実際の位置や寸法に対応していれば足りる。
【００２３】
図３に示すように、推定演算部１１０は、接触パターン推定部１１２と把持姿勢推定部１１４を備えている。推定演算部１１０は、位置情報ＰＯＳと寸法情報ＤＩＭと形状情報ＣＣ１，ＣＣ２を視覚情報処理部１０６から入力し、ハンド事前姿勢ＴＡＣと指事前姿勢ＴＨＣと把持パターンＴＭと目標接触パターンＴＴＩを出力する。
ハンド事前姿勢ＴＡＣとは、ハンド部４０が把持対象物２を把持する動作を開始する時点において、ハンド部４０がとるべき位置（ｘ，ｙ，ｚ）と姿勢（ロール角，ピッチ角，ヨー角）を記述するデータである。
指事前姿勢ＴＨＣとは、ハンド部４０が把持対象物２を把持する動作を開始する時点において、ハンド部４０の各指５０、６０、７０がとるべき姿勢（α，β，γ，θ）を記述するデータである。
把持パターンＴＭとは、ハンド部４０が把持対象物２を把持する際の動作パターンを記述するデータである。図５に、把持パターンの例を示す。図５（ａ）は、ハンド部４０が把持対象物２を上方から把持する上方把持パターンを示している。この把持パターンは、球体やテーブル４上に寝かされている円筒体を把持するのに適している。図５（ｂ）は、ハンド部４０が把持対象物２を側方から把持する側方把持パターンを示している。この把持パターンは、テーブル４上に立てられている円筒体を把持するのに適している。なお、把持パターンはこれらに限られず、さらに多数の把持パターンを定義することもできる。本実施例では、比較的に大きい把持対象物２を上方から把持する大型上方把持パターンと、比較的に小さい把持対象物２を上方から把持する小型上方把持パターンと、比較的に大きい把持対象物２を側方から把持する大型側方把持パターンと、比較的に小さい把持対象物２を側方から把持する小型側方把持パターンの４パターンが定義されている。
また、図３に示すように、推定演算部１１０にはアーム部１８のエンコーダ１２６やハンド部４０のエンコーダ１３６が接続されており、検出されたハンド部４０の実際の位置（ｘ，ｙ，ｚ）や姿勢（ロール角，ピッチ角，ヨー角）と検出された各指５０、６０、７０の実際の姿勢（α，β，γ，θ）が入力されるようになっている。
【００２４】
目標接触パターンＴＴＩは、ハンド部４０が把持対象物２を正しく把持したときに、ハンド部４０の接触センサＳ１〜Ｓ９のそれぞれから出力されると予想される信号群を記述するデータである。図６に、目標接触パターンＴＴＩの一例を示す。図６（ａ）に示すように、目標接触パターンＴＴＩは、接触センサＳ１〜Ｓ９毎に接触（ＯＮ）／非接触（ＯＦＦ）を記述するデータである。即ち、図６（ｂ）に示すように、目標接触パターンＴＴＩは、ハンド部４０が把持対象物２を正しく把持したときに、各指５０、６０、７０の各リンク５１、５２、５３、６１、６２、６３、７１、７２、７３の中で、いずれのリンクが把持対象物２と接触すべきであり、いずれのリンクが把持対象物２と接触すべきでないのかを記述するものとなる。ハンド部４０が把持対象物２を実際に把持したときに、接触センサＳ１〜Ｓ９のそれぞれから出力された信号群と、目標接触パターンＴＴＩが記述する信号群が一致すれば、ハンド部４０が把持対象物２を正しく把持したと判断することができる。
【００２５】
図７に示すように、推定演算部１１０の把持姿勢推定部１１４は、位置情報ＰＯＳと寸法情報ＤＩＭと形状情報ＣＣ１，ＣＣ２を入力し、ハンド事前姿勢ＴＡＣと指事前姿勢ＴＨＣと把持パターンＴＭを出力する。把持姿勢推定部１１４は、制御用ニューラルネットワーク１１４ａと分類用ニューラルネットワーク１１４ｂを備えている。把持姿勢推定部１１４は、位置情報ＰＯＳと寸法情報ＤＩＭと形状情報ＣＣ１，ＣＣ２を入力し、ニューラルネットワークによる演算アルゴリズムを用いて、ハンド事前姿勢ＴＡＣと指事前姿勢ＴＨＣと把持パターンＴＭを演算する。制御用ニューラルネットワーク１１４ａは、位置情報ＰＯＳと寸法情報ＤＩＭと形状情報ＣＣ１，ＣＣ２を入力し、ハンド事前姿勢ＴＡＣと指事前姿勢ＴＨＣと把持パターンＴＭを出力するニューラルネットワークである。分類用ニューラルネットワーク１１４ｂは、制御用ニューラルネットワーク１１４ａのための学習データを分類するためのニューラルネットワークである。把持姿勢推定部１１４は、入力した複数の学習データを分類用ニューラルネットワーク１１４ｂによって分類し、学習データの分類結果に基づいて制御用ニューラルネットワーク１１４ａを構築することができる。また、把持姿勢推定部１１４は、学習データを入力することによって、構築した制御用ニューラルネットワーク１１４ａを修正する（学習させる）ことができる。ここでいう学習データとは、入力信号である位置情報ＰＯＳと寸法情報ＤＩＭと形状情報ＣＣ１，ＣＣ２と、それに対応するハンド事前姿勢ＴＡＣと指事前姿勢ＴＨＣと把持パターンＴＭとを記述するデータである。
【００２６】
図８は、把持姿勢推定部１１４の制御用ニューラルネットワーク１１４ａの構成の一例を示している。この制御用ニューラルネットワーク１１４ａは、自己適合型ニューロファジー推論システム（Self-Adaptive Neuro-Fuzzy Inference System: SANFIS)を採用したものであり、入力信号（ＰＯＳ，ＤＩＭ，ＣＣ１，ＣＣ２）から出力信号（ＴＡＣ，ＴＨＣ，ＴＭ）を推論するファジールール（ＩＦ−ＴＨＥＮルール）を、６層から構成されるノード（ニューロン）Ｎｎ群によって構成している。例えば、図中のハッチングを付した一連のノードＮｎによって、一つのファジールールが記述されている。第１層は入力層である。第２層は入力信号に対するファジー集合を記述するメンバーシップ関数を示している。第３層は入力信号から出力信号を推論するファジールールを示している。第４層では出力信号の正規化が行われる。第５層は出力信号に対するファジー集合を記述するメンバーシップ関数を示している。第６層は出力層である。制御用ニューラルネットワーク１１４ａは、入力された学習データを用い、例えば誤差逆伝播法によって、第２層のメンバーシップ関数や第５層のメンバーシップ関数を修正する（学習する）ことができる。
【００２７】
図９は、把持姿勢推定部１１４の分類用ニューラルネットワーク１１４ｂを示している。本実施例では、分類用ニューラルネットワーク１１４ｂにＧＮＧ(Growing Neural Gas Network)アルゴリズムを採用している。分類用ニューラルネットワーク１１４ｂは、非階層型の構造を有しており、自己組織化マップＭに複数のノードＮｇとノードＮｇ同士を結合する結合線Ｅｇから構成されている。各ノードＮｇは、入力信号ＰＯＳ，ＤＩＭ，ＣＣ１，ＣＣ２）から出力信号（ＴＡＣ，ＴＨＣ，ＴＭ）を推論するファジールール（ＩＦ−ＴＨＥＮルール）を記述している。分類用ニューラルネットワーク１１４ｂは、入力した学習データを用いて競合学習を行い、ノードＮｇや結合線Ｅｇの生成、消去、位置調整を行う。その結果、図９に示すように、分類用ニューラルネットワーク１１４ｂでは、一のノードＮｇに複数のノードＮｇが結合するノード集合Ｃ１〜Ｃ６が生成される。各ノード集合Ｃ１〜Ｃ６によって、一つのファジールールが定義される。
把持姿勢推定部１１４は、入力された多数の学習データを用いて分類用ニューラルネットワーク１１４ｂを構築し、入力信号（ＰＯＳ，ＤＩＭ，ＣＣ１，ＣＣ２）から出力信号（ＴＡＣ，ＴＨＣ，ＴＭ）を推論する複数のファジールールを定義する。そして、把持姿勢推定部１１４は、定義した複数のファジールールを用いて、制御用ニューラルネットワーク１１４ａを構築する。それにより、制御用ニューラルネットワーク１１４ａの構造が複雑になることが防止される。
【００２８】
図１０に示すように、推定演算部１１０の接触パターン推定部１１２は、形状情報ＣＣ１，ＣＣ２と指事前姿勢ＴＨＣと把持パターンＴＭを入力し、目標接触パターンＴＴＩを出力する。接触パターン推定部１１２は、制御用ニューラルネットワーク１１２ａと分類用ニューラルネットワーク１１２ｂを備えている。接触パターン推定部１１２は、形状情報ＣＣ１，ＣＣ２と指事前姿勢ＴＨＣと把持パターンＴＭを入力し、ニューラルネットワークによる演算アルゴリズムを用いて、目標接触パターンＴＴＩを演算する。制御用ニューラルネットワーク１１２ａは、形状情報ＣＣ１，ＣＣ２と指事前姿勢ＴＨＣと把持パターンＴＭを入力し、目標接触パターンＴＴＩを出力するニューラルネットワークである。分類用ニューラルネットワーク１１２ｂは、制御用ニューラルネットワーク１１２ａのための学習データを分類するためのニューラルネットワークである。接触パターン推定部１１２は、入力した複数の学習データを分類用ニューラルネットワーク１１２ｂによって分類し、学習データの分類結果に基づいて制御用ニューラルネットワーク１１２ａを構築することができる。また、接触パターン推定部１１２は、学習データを入力することによって、構築した制御用ニューラルネットワーク１１２ａを修正する（学習させる）ことができる。ここでいう学習データとは、入力信号である形状情報ＣＣ１，ＣＣ２と指事前姿勢ＴＨＣと把持パターンＴＭと、それに対応する目標接触パターンＴＴＩとを記述するデータである。
【００２９】
図１１は、接触パターン推定部１１２の制御用ニューラルネットワーク１１４ａの構成の一例を示している。この制御用ニューラルネットワーク１１２ａは、自己適合型ニューロファジー推論システム（Self-Adaptive Neuro-Fuzzy Inference System: SANFIS)を採用したものであり、入力信号（ＣＣ１，ＣＣ２，ＴＨＣ，ＴＭ）から出力信号（ＴＴＩ）を推論するファジールール（ＩＦ−ＴＨＥＮルール）を、５層から構成されるノード（ニューロン）Ｎｎ群によって構成している。第１層は入力層である。第２層は入力信号に対するファジー集合を記述するメンバーシップ関数を示している。第３層はファジールールを示している。第４層では出力の正規化が行われる。第５層は出力層である。
一方、接触パターン推定部１１２の分類用ニューラルネットワーク１１２ｂには、把持姿勢推定部１１４と同様に、ＧＮＧ(Growing Neural Gas Network)アルゴリズムを採用している。
接触パターン推定部１１２は、入力された多数の学習データを用いて分類用ニューラルネットワーク１１４ｂを構築し、入力信号（ＣＣ１，ＣＣ２，ＴＨＣ，ＴＭ）から出力信号（ＴＴＩ）を推論する複数のファジールールを定義する。そして、接触パターン推定部１１２は、定義した複数のファジールールを用いて、制御用ニューラルネットワーク１１２ａを構築する。それにより、制御用ニューラルネットワーク１１２ａの構造が複雑になることが防止される。
【００３０】
図３に示すように、推定演算部１１０から出力されるハンド事前姿勢ＴＡＣは、アーム制御部１２２に入力される。アーム制御部１２２は、入力されたハンド事前姿勢ＴＡＣに基づいて、アーム部１８のアクチュエータ１２４を制御する。アーム部４０の実際の位置と姿勢は、アーム部１２６のエンコーダ１２６によって検出され、推定演算部１１０へと教示されるようになっている。
また、推定演算部１１０から出力される指事前姿勢ＴＨＣと把持パターンＴＭと目標接触パターンＴＴＩは、ハンド制御部１３２に入力される。ハンド制御部１３２は、入力された指事前姿勢ＴＨＣと把持パターンＴＭと目標接触パターンＴＴＩに基づいて、ハンド部４０のアクチュエータ８１〜８４を制御する。ハンド部４０の各指５０、６０、７０の実際の姿勢は、ハンド部４０のエンコーダ１３６によって検出され、推定演算部１１０へと教示されるようになっている。また、ハンド部４０に設けられている接触センサＳ１〜Ｓ９群の出力信号は、推定演算部１１０ならびにハンド制御部１３２に入力されるようになっている。
【００３１】
図１２は、ロボット１０の動作の流れを示すフローチャートである。図１２に示す動作フローに沿って、ロボット１０がテーブル４上に載置された把持対象物２を把持して持ち上げる際に実行する動作の流れを説明する。
ステップＳ２では、第１カメラ１０１および第２カメラ１０２によって、把持対象物２の撮像が行われる。
ステップＳ４では、視覚情報処理部１０６が、第１カメラ１０１による撮像画像と第２カメラ１０２による撮像画像を処理し、把持対象物２に関する位置情報ＰＯＳと寸法情報ＤＩＭと形状情報ＣＣ１，ＣＣ２とが演算される。
ステップＳ６では、推定演算部１１０が、位置情報ＰＯＳと寸法情報ＤＩＭと形状情報ＣＣ１，ＣＣ２を用いて、ハンド事前姿勢ＴＡＣと指事前姿勢ＴＨＣと把持パターンＴＭと目標接触パターンＴＴＩを演算する。
ステップＳ８では、アーム制御部１２２が、ハンド部４０の位置と姿勢がハンド事前姿勢ＴＡＣと等しくなるように、アーム１８のアクチュエータ１２４を制御する。
ステップＳ１０では、ハンド制御部１３２が、ハンド部４０の各指５０、６０、７０の姿勢が指事前姿勢ＴＨＣと等しくなるように、ハンド部４０のアクチュエータ８１〜８４を制御する。なお、このステップＳ１０におけるハンド部４０の動作は、ステップＳ８におけるアーム部１８の動作と同時に行うことができる。この段階で、ハンド部４０の各指５０、６０、７０は把持対象物２の周囲に位置しており、各指５０、６０、７０を屈曲させていくことによって、ハンド部４０が把持対象物２を把持可能な状態となっている。
ステップＳ１２では、ハンド制御部１３２が、ハンド部４０のアクチュエータ８１〜８４を制御し、把持対象物２を把持するように各指５０、６０、７０を屈曲させていく。このとき、各指５０、６０、７０の屈曲速度は、把持パターンＴＭに基づいて決定される。
【００３２】
ステップＳ１４では、ハンド制御部１３２が、接触センサＳ１〜Ｓ９群の出力信号と目標接触パターンＴＴＩとを比較する。ハンド制御部１３２は、接触センサＳ１〜Ｓ９群の出力信号が、目標接触パターンＴＴＩと等しくなるまで、各指５０、６０、７０を屈曲させていく（ステップＳ１２へ戻る）。ハンド制御部１３２は、接触センサＳ１〜Ｓ９群の出力信号が、目標接触パターンＴＴＩと等しくなると、把持対象物２の把持を完了したと判断し、ステップＳ１６へと進む。ここで、接触センサＳ１〜Ｓ９群の出力信号と、目標接触パターンＴＴＩとが完全に一致する必要は必ずしもない。例えば９つの接触センサＳ１〜Ｓ９群のなかで、所定数の接触センサＳ１〜Ｓ９について一致したときに、把持対象物２の把持を完了したと判断することもできる。
ステップＳ１６では、ハンド制御部１３２が、各指５０、６０、７０の屈曲動作を停止する。この段階で、ハンド部４０による把持対象物２の把持が完了する。
ステップＳ１８では、アーム制御部１２２がアーム１８のアクチュエータ１２４を制御し、ハンド部４０の位置を上昇させる。それにより、ハンド部４０のよって把持された把持対象物２はテーブル４から持ち上げられる。
【００３３】
このように、ロボット１０では、把持対象物２を撮像した画像情報から、ハンド部４０によって把持対象物２を把持した時に接触センサＳ１〜Ｓ９群から出力されるべき出力信号を予測する。そして、接触センサＳ１〜Ｓ９群の出力信号が、予測した出力信号と等しくなるまで、各指５０、６０、７０の姿勢を変化させていく。この方式では、把持対象物２を把持する時の各指５０、６０、７０の姿勢を厳密に計算したり制御したりする必要がない。また、把持対象物２の寸法や形状を厳密に求める必要もない。このロボット１０では、要求精度の高いセンサや煩雑な計算処理等を必要とすることなく、様々な形状や寸法の把持対象物２を把持することができる。
【００３４】
（実施例２）
本発明を実施した実施例２について図面を参照しながら説明する。本実施例では、実施例１のロボット１０に比して、ハンド制御部１３２の機能、構成を変更したロボットについて説明する。本実施例のロボットは、実施例１のロボット１０に比して、実質的にハンド制御部１３２のみが変更されている。以下では、実施例１と相違する本実施例のハンド制御部２３２（図１３参照）を主に説明するとともに、実施例１と同一である他の構成を重複して説明することは避けるように努める。
【００３５】
図１３は、本実施例のハンド制御部２３２の構成と、ハンド制御部２３２が入出力する各種信号を示している。図１３に示すように、ハンド制御部２３２は、先に説明した位置情報ＰＯＳと寸法情報ＤＩＭと形状情報ＣＣ１、ＣＣ２等を、視覚情報処理部１０６から入力する。また、ハンド制御部２３２は、先に説明した指事前姿勢ＴＨＣと、把持パターンＴＭと、目標接触パターンＴＴＩ等を、推定演算部１１０から入力する。また、ハンド制御部２３２は、接触センサＳ１〜Ｓ９が現に出力している信号群ＡＴＩ：（ＯＮ，ＯＦＦ，・・・，ＯＮ）を入力する。また、ハンド制御部２３２は、ハンド部のエンコーダ１３６が検出した各指５０、６０、７０の現姿勢ＡＨＣ：（α，β，γ，θ）を入力する。これらの各種の入力信号に基づいて、ハンド制御部２３２は、先に説明した把持パターンＴＭに基づく動作指令値や、後に説明する目標動作指令値ＴＭＣを、ハンド部４０の各アクチュエータ８１〜８４に出力する。
【００３６】
図１３に示すように、ハンド制御部２３２は、指動作決定部２４２と、第２接触パターン推定部２４４と、接触パターン判定部２４６と、指駆動部２４８を備えている。
図１４に示すように、指動作決定部２４２は、把持対象物２の形状を記述する形状情報ＣＣ１、ＣＣ２と、各指５０、６０、７０の現姿勢ＡＨＣと、接触センサＳ１〜Ｓ９が現に出力している信号群ＡＴＩと、目標接触パターンＴＴＩを入力し、各指５０、６０、７０に実行させる動作指令値ＴＭＣ：（Ｖα，Ｖβ，Ｖγ，Ｖθ）を出力する。ここで、Ｖαは第１指５０の屈曲角αの変化速度の指令値であり、Ｖβは第１指５０の内外転角βの変化速度の指令値であり、Ｖγは第２指６０の屈曲角βの変化速度の指令値であり、Ｖγは第３指７０の屈曲角θの変化速度の指令値である。
指動作決定部２４２は、ニューラルネットワーク２４２ａを備えている。このニューラルネットワーク２４２ａは、形状情報ＣＣ１、ＣＣ２と、各指５０、６０、７０の現姿勢ＡＨＣと、接触センサＳ１〜Ｓ９の出力信号群ＡＴＩと、目標接触パターンＴＴＩを入力し、動作指令値ＴＭＣを出力する非階層型のニューラルネットワークである。このニューラルネットワーク２４２ａについては、後段において詳細に説明する。
【００３７】
図１５に示すように、第２接触パターン推定部２４４は、把持対象物２の形状を記述する形状情報ＣＣ１、ＣＣ２と、各指５０、６０、７０の現姿勢ＡＨＣと、指動作決定部２４２によって決定された動作指令値ＴＭＣを入力し、決定された動作指令値ＴＭＣによって各指の動作を実行したときに、接触センサＳ１〜Ｓ９群が出力すると予測される信号群（以下、予測接触パターンという）ＤＴＩを演算する。第２接触パターン推定部２４４は、接触パターン推定部１１２と同様に、制御用ニューラルネットワーク２４４ａと分類用ニューラルネットワーク２４４ｂを備えている。制御用ニューラルネットワーク２４４ａは、形状情報ＣＣ１、ＣＣ２と、各指５０、６０、７０の現姿勢ＡＨＣと、動作指令値ＴＭＣを入力し、予測接触パターンＤＴＩを出力するニューラルネットワークである。分類用ニューラルネットワーク２４４ｂは、制御用ニューラルネットワーク２４４ａのための学習データを分類するためのニューラルネットワークである。第２接触パターン推定部２４４の各ニューラルネットワーク２４４ａ、２４４ｂは、接触パターン推定部１１２の各ニューラルネットワーク１１２ａ、１１２ｂと略同一の構成をしている。そのことから、第２接触パターン推定部２４４は、接触パターン推定部１１２の各ニューラルネットワーク１１２ａ、１１２ｂを共用するように構成することもできる。
【００３８】
図１６に示すように、接触パターン判定部２４６は、接触パターン推定部１１２による目標接触パターンＴＴＩと、第２接触パターン推定部２４４による予測接触パターンＤＴＩとを入力し、予測接触パターンＤＴＩの目標接触パターンＴＴＩに対する差異が所定の許容範囲内であるのか否かを判定する。この判定に用いる許容範囲は適宜設定することができる。例えば、信号が一致しない接触センサＳ１〜Ｓ９の数が所定数以下であるときに、両者の差異は許容範囲内であると判定することができる。
指駆動部２４８は、接触パターン判定部２４６による判定結果を受けて、ハンド部５０の各アクチュエータ８１〜８４を動作させる。このとき、指駆動部２４８は、予測接触パターンＤＴＩが接触パターン判定部２４６によって許容できるものと判定された場合に、指動作決定部２４２によって決定された動作指令値ＴＭＣを用いる。一方、予測接触パターンＤＴＩが接触パターン判定部２４６によって許容できないものと判定された場合には、指動作決定部２４２によって決定された動作指令値ＴＭＣを用いることなく、把持動作を中止する。この場合、指駆動部２４８は、例えば各指５０、６０、７０の姿勢を指事前姿勢ＴＨＣに調整し、即ち、各指５０、６０、７０を伸展させる方向に動作させ、各指５０、６０、７０を把持対象物２から離反させることができる。
【００３９】
図１７を参照して、指動作決定部２４２のニューラルネットワーク２４２ａについて説明する。図１７は、指動作決定部２４２のニューラルネットワーク２４２ａの構造を模式的に示すものである。図１７に示すように、このニューラルネットワーク２４２ａでは、ハンド部５０が把持対象部２を様々に把持したときの各指５０、６０、７０の姿勢ＡＨＣ：（α，β，γ，θ）と接触センサＳ１〜Ｓ９群の出力信号群ＴＩ：（ＯＮ，ＯＦＦ，・・・，ＯＮ）との対のデータがマップ化されている。これらの対のデータ（ＡＨＣ，ＴＩ）は、実際にハンド部５０に把持対象部２を様々に把持させて得られたデータである。また、得られた対のデータ（ＡＨＣ，ＴＩ）群のマップ化には、ＧＮＧ(Growing Neural Gas Network)アルゴリズムを利用している。それにより、ニューラルネットワーク２４２ａでは、類似する対のデータ（ＡＨＣ，ＴＩ）群の集合である複数のセルＣ１〜Ｃ５と、類似するセルＣ１〜Ｃ５を互いに結合する複数の結合線Ｅｇが形成されている。各セルＣ１〜Ｃ５は、各指５０、６０、７０の姿勢ＡＨＣと接触センサＳ１〜Ｓ９群の出力信号群ＴＩによって記述される一つの把持状態に対応する。また、各セルＣ１〜Ｃ５には、自身のセルが記述する把持状態から他のセルが記述する把持状態へ変化するのに要する各指５０、６０、７０の動作指令値ＴＭＣｎが記述されている。この動作指令値ＴＭＣｎは、各指５０、６０、７０の屈曲および内外転に関する速度指令値（Ｖα，Ｖβ，Ｖγ，Ｖθ）である。例えば、第１セルＣ１には、第１セルＣ１が記述する把持状態から、第２セルＣ２が記述する把持状態へと変化するのに要する動作指令値ＴＭＣ１２が記述されている。また、第１セルＣ１が記述する把持状態から、第３セルＣ３が記述する把持状態へと変化するのに要する動作指令値ＴＭＣ１３が記述されている。また、第１セルＣ１が記述する把持状態から、第４セルＣ４が記述する把持状態へと変化するのに要する動作指令値ＴＭＣ１４が記述されている。また、第１セルＣ１が記述する把持状態（ＡＨＣ，ＴＩ）から、第５セルＣ５が記述する把持状態へと変化するのに要する動作指令値ＴＭＣ１５が記述されている。同様に、他のセルＣ２〜Ｃ５にも、複数の動作指令値ＴＭＣｎが記述されている。これらの動作指令値ＴＭＣｎは、ハンド部５０に様々な動作指令を与える動作学習作業を行うことによって、ニューラルネットワーク２４２ａに記憶（学習）させたものである。
【００４０】
指動作決定部２４２のニューラルネットワーク２４２ａに動作指令値ＴＭＣｎを学習させる動作学習作業について説明する。この動作学習作業では、先ずハンド部５０の各指５０、６０、７０に、把持対象物２を把持した任意の初期姿勢をとらせる。このとき、ニューラルネットワーク２４２ａでは、セルＣ１〜Ｃ５のなかから初期姿勢に対応するセル（例えばＣ１）が特定される。次いで、ハンド部５０の各指５０、６０、７０に、任意の動作指令（Ｖα，Ｖβ，Ｖγ，Ｖθ）を与え、各指５０、６０、７０の姿勢を変化させる。このとき、ニューラルネットワーク２４２ａでは、セルＣ１〜Ｃ５のなかから動作指令後の姿勢に対応するセル（例えばＣ５）が特定される。ニューラルネットワーク２４２ａでは、初期姿勢に対応するセルＣ１に、セルＣ５の状態へ変化するのに要する動作指令値ＴＭＣ１５として、ハンド部５０の各指５０、６０、７０に与えられた動作指令（Ｖα，Ｖβ，Ｖγ，Ｖθ）が記録される。以上の動作を繰り返し実行することによって、各セルＣ１〜Ｃ５には、他のセルＣ１〜Ｃ５の状態へ変化するのに要する動作指令値ＴＭＣｎが記録されていく。
ロボットの把持動作時には、ニューラルネットワーク２４２ａは、入力した各指５０、６０、７０の現姿勢ＡＨＣと、接触センサＳ１〜Ｓ９の出力信号群ＡＴＩと、目標接触パターンＴＴＩから、現在の把持状態に対応する一つのセル（例えばＣ１）と、目標とする把持状態に対応する一つのセル（例えばＣ５）を選択し、両セル間の状態変化に対応する動作指令値（例えばＴＭＣ１５）を出力する。
【００４１】
図１８は、本実施例のロボットが実行する動作の流れを示すフローチャートである。図１８に示す動作フローに沿って、本実施例のロボットがテーブル４上に載置された把持対象物２（図１参照）を把持して持ち上げる際に実行する動作を説明する。
先ず、本実施例のロボットは、ステップＳ２からＳ１２までの処理（一部図示省略）を、実施例１のロボット１０と同様に行う。ステップＳ２からＳ１２までの処理は、図１２を参照して先に説明した処理と同様であるので、ここでは説明を省略する。
ステップＳ１４では、実施例１と同様に、ハンド制御部２３２が、接触センサＳ１〜Ｓ９群の出力信号群ＡＴＩと目標接触パターンＴＴＩとを比較する。そして、接触センサＳ１〜Ｓ９群の出力信号ＡＴＩが、目標接触パターンＴＴＩと等しければ（ステップＳ１４でＹＥＳ）、ステップＳ１６、Ｓ１８へ進み、把持動作を完了する。一方、接触センサＳ１〜Ｓ９群の出力信号が、目標接触パターンＴＴＩと等しくなければ（ステップＳ１４でＮＯ）、ステップＳ１０２へ進む。
【００４２】
ステップＳ１０２では、現在の動作指令値による各指５０、６０、７０の動作開始後、所定時間が経過しているのか否かが判定される。所定時間が経過していなければ（ステップＳ１０２でＮＯ）、ステップＳ１２へ戻り、現在の動作指令値による各指５０、６０、７０の動作が継続される。一方、所定時間が経過していれば（ステップＳ１０２でＹＥＳ）、現在の動作指令値では把持不能と判断し、ステップＳ１０４に進む。
ステップＳ１０４では、ハンド制御部２３２の指動作決定部２４２が、各指５０、６０、７０に対する新たな動作指令値ＴＭＣを決定する。先に説明したように、指動作決定部２４２は、接触センサＳ１〜Ｓ９群が現に出力している信号群ＡＴＩと、目標接触パターンＴＴＩと、各指５０、６０、７０の現姿勢ＡＨＣ等に基づいて、動作指令値ＴＭＣを決定する。即ち、このステップＳ１０４では、動作指令値ＴＭＣが、ハンド部５０の現在の把持状態（厳密には把持できていない）を加味して決定される。
ステップＳ１０６では、ハンド制御部２３２の第２接触パターン推定部２４４が、ステップＳ１０４で決定された動作指令値ＴＭＣに基づいて、予測接触パターンＤＴＩを演算する。先に説明したように、予測接触パターンＤＴＩは、指動作決定部２４２が決定した動作指令値ＴＭＣによって各指５０、６０、７０を動作させたときに、接触センサＳ１〜Ｓ９群が出力すると予測される信号群である。
【００４３】
ステップＳ１０８では、ハンド制御部２３２の接触パターン判定部２４６が、第２接触パターン推定部２４４による予測接触パターンＤＴＩの判定を行う。先に説明したように、接触パターン判定部２４６は、予測接触パターンＤＴＩが、目標接触パターンＴＴＩに対して許容範囲内であるのか否かを判定する。予測接触パターンＤＴＩが、目標接触パターンＴＴＩに対して許容範囲内であれば（ステップＳ１０８でＯＫ）、ステップＳ１０４で決定された動作指令値ＴＭＣは適切であると判断し、ステップＳ１２へ戻る。ステップＳ１２では、ステップＳ１０４で決定された動作指令値ＴＭＣに基づいて、各指５０、６０、７０の動作（詳しくは速度）が制御される。このとき、各指５０、６０、７０の動作は屈曲する方向のみに限られず、伸展する方向に動作することもある。以下、ステップＳ１２以降の処理が順に実行される。
一方、予測接触パターンＤＴＩが、目標接触パターンＴＴＩに対して許容範囲内でなければ（ステップＳ１０８でＮＧ）、把持対象部２を把持することは不可能と判断し、ステップＳ１１０へ進む。ステップＳ１１０では、把持動作が中止される。それにより、把持対象物２を落下させたり握りつぶしたりすることを防止する。ハンド制御部２３２は、各指５０、６０、７０の姿勢を指事前姿勢ＴＨＣに戻し、各指５０、６０、７０を把持対象物２から離反させる。この場合、例えばハンド部５０の位置と姿勢を所定量だけ修正し、即ち、ハンド事前姿勢ＴＨＣを所定量だけ修正し、目標接触パターンＴＴＩの再演算を行った上で、把持動作を再実行してもよい。あるいは、頭部１２を所定量だけ移動させ、カメラ１０１、１０２による把持対象物２の撮像方向を変化させた上で、把持対象物２の撮像処理（図１８のステップＳ２）から把持動作を再実行してもよい。
【００４４】
このように、本実施例のロボットでは、目標接触パターンＴＴＩに基づいて各指５０、６０、７０の姿勢を変化させていく際に、各指５０、６０、７０と把持対象物２との接触状態や、各指５０、６０、７０の姿勢に基づいて、各指５０、６０、７０の動作を変化させることができる。把持対象物２の寸法や形状を厳密に把握する必要がなく、予め教示されていない形状を含め、様々な形状の把持対象物２を把持することができる。また、把持対象物２を把持可能であるのか否かを判断するとともに、不可能であると判断した場合には把持動作を中止することができる。それにより、把持対象物２を破損させることがない。
【００４５】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば、本実施例では、ハンド部４０の接触センサＳ１〜Ｓ９が把持対象物２との接触／非接触のみを検出する例について説明したが、接触センサＳ１〜Ｓ９がさらに把持対象物２との接触の強さ（接触圧）を検出するようにすることもできる。この場合、接触パターン推定部１１２は、接触センサＳ１〜Ｓ９の接触／非接触のみならず、接触時の接触圧力を含めて目標接触パターンＴＴＩを予測することが好ましい。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時の請求項に記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数の目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００４６】
【図１】ロボットの外観構成を示す図。
【図２】ハンド部の構成を示す図。
【図３】ロボットの構成を示すブロック図。
【図４】視覚情報処理部が実行する処理を説明する図。
【図５】把持パターンを例示する図。
【図６】目標接触パターンを例示する図。
【図７】把持姿勢推定部の入出力信号を示す図。
【図８】把持姿勢推定部の制御用ニューラルネットワークを例示する図。
【図９】把持姿勢推定部の分類用ニューラルネットワークを例示する図。
【図１０】接触パターン推定部の入出力信号を示す図。
【図１１】接触パターン推定部の制御用ニューラルネットワークを例示する図。
【図１２】ロボットの動作の流れを示すフローチャート。
【図１３】実施例２のハンド制御部の構成を示すブロック。
【図１４】指動作決定部の入出力信号を示す図。
【図１５】第２接触パターン推定部の入出力信号を示す図。
【図１６】接触パターン判定部と指駆動部の入出力信号を示す図。
【図１７】指動作決定部が備えるニューラルネットワークの構造を示す模式図。
【図１８】実施例２のロボットの動作の流れを示すフローチャート。
【符号の説明】
【００４７】
１０：ロボット
１８：アーム部
４０：ハンド部
５０、６０、７０：指
８１〜８４：ハンド部のアクチュエータ
１０１、１０２：カメラ
１１０：推定演算部
１１２：接触パターン推定部
１１４：把持姿勢推定部
１２２：アーム制御部
１３２：ハンド制御部
２３２：ハンド制御部（実施例２）
２４２：指動作決定部
２４４：第２接触パターン推定部
２４６：接触パターン判定部
２４８：指駆動部
Ｓ１〜Ｓ９：接触センサ
【図１】
2007245326.tif 000003
【図２】
2007245326.tif 000004
【図３】
2007245326.tif 000005
【図４】
2007245326.tif 000006
【図５】
2007245326.tif 000007
【図６】
2007245326.tif 000008
【図７】
2007245326.tif 000009
【図８】
2007245326.tif 000010
【図９】
2007245326.tif 000011
【図１０】
2007245326.tif 000012
【図１１】
2007245326.tif 000013
【図１２】
2007245326.tif 000014
【図１３】
2007245326.tif 000015
【図１４】
2007245326.tif 000016
【図１５】
2007245326.tif 000017
【図１６】
2007245326.tif 000018
【図１７】
2007245326.tif 000019
【図１８】
2007245326.tif 000020