(57)【特許請求の範囲】
【請求項１】
ロボットアームと、
前記ロボットアームの先端に設けられ、力制御を行うための指先力センサを有する多指ハンド部と、
ユーザによる入力または検出手段による検出により、対象物の少なくとも位置情報および形状情報を取得する情報取得手段と、
前記情報取得手段により取得した前記対象物の少なくとも位置情報に基づいて前記ロボットアームを移動させて前記対象物に前記多指ハンド部を近づけていき、前記多指ハンド部の指先力センサによる力制御により前記多指ハンド部を前記対象物の位置が変化しないような強さで前記対象物に接触させた状態で、前記多指ハンド部の指先力センサの出力に基づいて前記対象物に対する実際の接触位置を検出し、検出した前記接触位置の情報に基づいて前記対象物の前記位置情報を修正する制御部とを備え、
前記制御部は、対象物の情報が予め蓄えられたデータベースと、前記情報取得手段により取得した前記形状情報とを照合することにより、前記対象物の把持形態データを取得し、前記修正された位置情報および前記把持形態データに基づいて、前記対象物に応じた把持形態で前記多指ハンド部により前記対象物を把持する制御を行うように構成されている、ロボット装置。
【請求項２】
前記ロボット装置は、日常生活環境において用いられる生活支援ロボットである、請求項１に記載のロボット装置。
【請求項３】
前記制御部は、前記修正された位置情報に基づいて前記多指ハンド部の把持位置を修正するとともに、前記多指ハンド部により前記対象物を把持する制御を行うように構成されている、請求項１または２に記載のロボット装置。
【請求項４】
前記情報取得手段は、ユーザによる入力または検出手段による検出により、前記対象物の位置情報に加えて姿勢情報も取得するように構成されており、
前記制御部は、前記情報取得手段により取得した前記対象物の位置情報および前記姿勢情報に基づいて前記ロボットアームを移動させて前記対象物に前記多指ハンド部を近づけていき、前記多指ハンド部の指先力センサの出力に基づいて前記対象物に対する実際の接触位置を検出し、検出した前記接触位置の情報に基づいて前記対象物の前記位置情報および前記姿勢情報を修正するように構成されている、請求項１〜３のいずれか１項に記載のロボット装置。
【請求項５】
前記位置情報の修正を行うか否かをユーザにより設定可能に構成されており、
前記制御部は、前記位置情報の修正を行うと設定されている場合には、前記指先力センサの出力に基づいて前記対象物に対する実際の接触位置を検出し、検出した前記接触位置の情報に基づいて前記対象物の前記位置情報を修正するように構成されている、請求項１〜４のいずれか１項に記載のロボット装置。
【請求項６】
前記制御部は、前記情報取得手段により取得した前記対象物の位置情報による位置と、検出された前記対象物に対する実際の接触位置とのずれ量が所定のしきい値よりも大きい場合に、検出した前記接触位置の情報に基づいて前記対象物の前記位置情報を修正するように構成されている、請求項１〜５のいずれか１項に記載のロボット装置。
【請求項７】
前記指先力センサは、前記多指ハンド部の指先に複数設けられており、
前記制御部は、複数の前記指先力センサの出力に基づいて前記対象物に対する実際の接触位置を検出し、検出した前記接触位置の情報に基づいて前記対象物の前記位置情報を修正するように構成されている、請求項１〜６のいずれか１項に記載のロボット装置。
【請求項８】
前記制御部は、対象物の情報が予め蓄えられた前記データベースと、前記情報取得手段により取得された対象物の前記形状情報とを照合して前記対象物の寸法情報を得るとともに、前記対象物の前記寸法情報および前記位置情報に基づいて前記ロボットアームを移動させて前記対象物に前記多指ハンド部を近づけていき、前記多指ハンド部の指先力センサの出力に基づいて前記対象物に対する実際の接触位置を検出するように構成されている、請求項１〜７のいずれか１項に記載のロボット装置。
【請求項９】
前記多指ハンド部が先端に設けられた前記ロボットアームを前記対象物に向かって移動させる移動台車をさらに備え、
前記情報取得手段により取得した前記対象物の少なくとも位置情報に基づいて前記移動台車および前記ロボットアームを移動させて前記対象物に前記多指ハンド部を近づけていき、前記多指ハンド部の指先力センサの出力に基づいて前記対象物に対する実際の接触位置を検出し、検出した前記接触位置の情報に基づいて前記対象物の前記位置情報を修正するように構成されている、請求項１〜８のいずれか１項に記載のロボット装置。
【請求項１０】
指先力センサを有する多指ハンド部が先端に設けられたロボットアームを含むロボット装置による把持方法であって、
対象物の少なくとも位置情報および形状情報を取得するステップと、
取得した前記対象物の少なくとも位置情報に基づいて前記ロボットアームを移動させて前記対象物に前記ロボットアームの先端の前記多指ハンド部を近づけていき、前記多指ハンド部の指先力センサによる力制御により前記多指ハンド部を前記対象物の位置が変化しないような強さで前記対象物に接触させた状態で、前記多指ハンド部の前記指先力センサの出力に基づいて前記対象物に対する実際の接触位置を検出するステップと、
検出した前記接触位置の情報に基づいて前記対象物の前記位置情報を修正するステップと、
前記対象物の情報が予め蓄えられたデータベースと、取得した前記形状情報とを照合することにより、前記対象物の把持形態データを取得し、前記修正された位置情報および前記把持形態データに基づいて、前記対象物に応じた把持形態で前記多指ハンド部により前記対象物を把持するステップとを備える、ロボット装置による把持方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット装置およびロボット装置による把持方法に関し、特に、ロボットアームおよび多指ハンド部を備えたロボット装置およびロボット装置による把持方法に関する。
【背景技術】
【０００２】
従来、ロボットアームおよび多指ハンド部を備えたロボット装置が知られている（たとえば、特許文献１および２参照）。
【０００３】
上記特許文献１には、ロボットアームと、ロボットアームの先端に設けられた多指ハンド部と、カメラとを備えたロボット装置が開示されている。
【０００４】
また、上記特許文献２には、ロボットアームと、ロボットアームの先端に設けられた多指ハンド部と、カメラと、対象物の形状などの情報が登録されたデータベースとを備えたロボット装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１６１５０７号公報
【特許文献２】特開２００３−９４３６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のロボット装置では、画像データに基づいて対象物の位置情報を取得して、取得した位置情報に基づいて対象物の把持を行っているので、ロボット装置（ロボットアームおよび多指ハンド部）の座標系とカメラの座標系とが正確に一致していない場合など、画像認識による対象物の位置情報に誤差が含まれる場合には、対象物の正確な位置情報を取得することができない場合があるという不都合がある。この場合には、対象物を把持することが困難になるという問題点がある。
【０００７】
この発明は、上記のような課題を解決するためになされたものであり、この発明の１つの目的は、対象物の位置情報に誤差が含まれる場合にも、確実に対象物を把持することが可能なロボット装置およびロボット装置による把持方法を提供することである。
【課題を解決するための手段および発明の効果】
【０００８】
上記目的を達成するために、この発明の第１の局面によるロボット装置は、ロボットアームと、ロボットアームの先端に設けられ、力制御を行うための指先力センサを有する多指ハンド部と、ユーザによる入力または検出手段による検出により、対象物の少なくとも位置情報および形状情報を取得する情報取得手段と、情報取得手段により取得した対象物の少なくとも位置情報に基づいてロボットアームを移動させて対象物に多指ハンド部を近づけていき、多指ハンド部の指先力センサによる力制御により多指ハンド部を対象物の位置が変化しないような強さで対象物に接触させた状態で、多指ハンド部の指先力センサの出力に基づいて対象物に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて対象物の位置情報を修正する制御部とを備え、制御部は、対象物の情報が予め蓄えられたデータベースと、情報取得手段により取得した形状情報とを照合することにより、対象物の把持形態データを取得し、修正された位置情報および把持形態データに基づいて、対象物に応じた把持形態で多指ハンド部により対象物を把持する制御を行うように構成されている。
【０００９】
この第１の局面によるロボット装置では、上記制御部によって、多指ハンド部による対象物に対する実際の接触位置に基づいて対象物の位置情報を修正することができる。これにより、情報取得手段により取得した対象物の位置情報に誤差が含まれる場合にも、実際の接触位置に基づいて対象物の位置情報のずれを修正することができるので、対象物を確実に把持することができる。また、把持動作以外の各種の動作においても、対象物の位置情報のずれを修正することができるので、確実に動作を遂行することができる。また、多指ハンド部を対象物に接触させる際に多指ハンド部との接触力に起因して対象物の位置が変化するのを抑制することができるので、より正確に、対象物に対する実際の接触位置を検出することができる。
【００１０】
上記第１の局面によるロボット装置において、好ましくは、ロボット装置は、日常生活環境において用いられる生活支援ロボットである。
上記第１の局面によるロボット装置において、好ましくは、制御部は、修正された位置情報に基づいて多指ハンド部の把持位置を修正するとともに、多指ハンド部により対象物を把持する制御を行うように構成されている。このように構成すれば、対象物の位置情報に誤差が含まれる場合にも、実際の接触位置に基づいて把持位置が修正された多指ハンド部により対象物を確実に把持することができる。
【００１１】
上記第１の局面によるロボット装置において、好ましくは、情報取得手段は、ユーザによる入力または検出手段による検出により、対象物の位置情報に加えて姿勢情報も取得するように構成されており、制御部は、情報取得手段により取得した対象物の位置情報および姿勢情報に基づいてロボットアームを移動させて対象物に多指ハンド部を近づけていき、多指ハンド部の指先力センサの出力に基づいて対象物に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて対象物の位置情報および姿勢情報を修正するように構成されている。このように構成すれば、検出した接触位置の情報に基づいて、対象物の位置情報のみならず対象物の姿勢情報も修正することができるので、より確実に対象物を把持することができる。
【００１２】
上記第１の局面によるロボット装置において、好ましくは、位置情報の修正を行うか否かをユーザにより設定可能に構成されており、制御部は、位置情報の修正を行うと設定されている場合には、指先力センサの出力に基づいて対象物に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて対象物の位置情報を修正するように構成されている。このように構成すれば、ユーザは、ロボット装置の用途や使用環境などに応じて、位置情報の修正を行うか否かを設定することができるとともに、位置情報の修正を行うと設定した場合には、対象物の位置情報に誤差が含まれる場合にも対象物を確実に把持することができる。
【００１３】
上記第１の局面によるロボット装置において、好ましくは、制御部は、情報取得手段により取得した対象物の位置情報による位置と、検出された対象物に対する実際の接触位置とのずれ量が所定のしきい値よりも大きい場合に、検出した接触位置の情報に基づいて対象物の位置情報を修正するように構成されている。このように構成すれば、情報取得手段により取得した対象物の位置情報が実際の接触位置に対して所定のしきい値よりも大きいずれ量（誤差）を含むと制御部により判断された場合には、検出した接触位置の情報に基づいて対象物の位置情報を修正することができる。これにより、情報取得手段により取得した対象物の位置情報と実際の対象物の位置情報とのずれ量が確実な把持を行うことが困難なほど大きい場合にのみ、検出した接触位置の情報に基づいて対象物の位置情報を修正することができる。その結果、制御部の制御負荷を減少させることができる。
【００１４】
上記第１の局面によるロボット装置において、好ましくは、指先力センサは、多指ハンド部の指先に複数設けられており、制御部は、複数の指先力センサの出力に基づいて対象物に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて対象物の位置情報を修正するように構成されている。このように構成すれば、多指ハンド部の指先に複数設けられた複数の指先力センサによって、１回の接触動作で実際の対象物の複数の接触位置を検出することができる。これにより、対象物の複数の接触位置の情報を取得することができるので、容易に、対象物の位置情報のみならず姿勢情報の修正も行うことができる。
【００１５】
上記第１の局面によるロボット装置において、好ましくは、制御部は、対象物の情報が予め蓄えられたデータベースと、情報取得手段により取得された対象物の形状情報とを照合して対象物の寸法情報を得るとともに、対象物の寸法情報および位置情報に基づいてロボットアームを移動させて対象物に多指ハンド部を近づけていき、多指ハンド部の指先力センサの出力に基づいて対象物に対する実際の接触位置を検出するように構成されている。これにより、データベースから対象物の正確な寸法情報を取得することができるので、対象物の寸法情報および位置情報に基づいて、容易に、対象物に多指ハンド部（指先力センサ）を接触させることができる。また、寸法情報を用いることにより、対象物における接触位置の位置関係を求めることができるので、少ない接触位置の情報でも対象物の位置情報の修正を行うことができる。
【００１７】
上記第１の局面によるロボット装置において、好ましくは、多指ハンド部が先端に設けられたロボットアームを対象物に向かって移動させる移動台車をさらに備え、情報取得手段により取得した対象物の少なくとも位置情報に基づいて移動台車およびロボットアームを移動させて対象物に多指ハンド部を近づけていき、多指ハンド部の指先力センサの出力に基づいて対象物に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて対象物の位置情報を修正するように構成されている。このように移動台車によりロボットアームを移動させるように構成した場合には、ロボット装置自体の位置が変化することに起因して、情報取得手段により取得した対象物の位置情報に誤差が含まれ易い。このような場合にも、多指ハンド部による対象物に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて対象物の位置情報を修正することができるので、対象物を確実に把持することができる。
【００１８】
この発明の第２の局面によるロボット装置による把持方法は、指先力センサを有する多指ハンド部が先端に設けられたロボットアームを含むロボット装置による把持方法であって、対象物の少なくとも位置情報および形状情報を取得するステップと、取得した対象物の少なくとも位置情報に基づいてロボットアームを移動させて対象物にロボットアームの先端の多指ハンド部を近づけていき、多指ハンド部の指先力センサによる力制御により多指ハンド部を対象物の位置が変化しないような強さで対象物に接触させた状態で、多指ハンド部の指先力センサの出力に基づいて対象物に対する実際の接触位置を検出するステップと、検出した接触位置の情報に基づいて対象物の位置情報を修正するステップと、対象物の情報が予め蓄えられたデータベースと、取得した形状情報とを照合することにより、対象物の把持形態データを取得し、修正された位置情報および把持形態データに基づいて、対象物に応じた把持形態で多指ハンド部により対象物を把持するステップとを備える。
【００１９】
この第２の局面によるロボット装置による把持方法では、上記のステップにより、多指ハンド部による対象物に対する実際の接触位置に基づいて対象物の位置情報を修正することができる。これにより、取得した対象物の位置情報に誤差が含まれる場合にも、実際の接触位置に基づいて対象物の位置情報のずれを修正することができるので、対象物を確実に把持することができる。また、多指ハンド部を対象物に接触させる際に多指ハンド部との接触力に起因して対象物の位置が変化するのを抑制することができるので、より正確に、対象物に対する実際の接触位置を検出することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１実施形態によるロボット装置の全体構成を示す模式図である。
【図２】図１に示した第１実施形態によるロボット装置の把持動作時の制御装置の処理を説明するためのフローチャートである。
【図３】本発明の第２実施形態によるロボット装置の全体構成を示す模式図である。
【図４】図３に示した第２実施形態によるロボット装置の把持動作時の制御装置の処理を説明するためのフローチャートである。
【図５】本発明の第３実施形態によるロボット装置の全体構成を示す模式図である。
【図６】図５に示した第３実施形態によるロボット装置の制御装置の構成を示したブロック図である。
【図７】図５に示した第３実施形態によるロボット装置の把持動作時の制御装置の処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態を図面に基づいて説明する。
【００２２】
（第１実施形態）
まず、図１を参照して、本発明の第１実施形態によるロボット装置１００の構造について説明する。なお、第１実施形態では、日常生活（環境）において用いられる生活支援ロボットに本発明を適用した例について説明する。
【００２３】
図１に示すように、第１実施形態によるロボット装置１００は、ユーザの指示に基づいてロボットアーム１０の先端に装着された多指ハンド部２０により物体（把持対象物１１０）を把持して持ち上げ、指定された位置に物体を移動させる機能を有する。
【００２４】
ロボット装置１００は、ロボットアーム１０と、ロボットアーム１０の先端に装着された多指ハンド部２０と、把持対象物１１０および把持対象物１１０の周辺を検出する視覚センサ３０と、ロボット装置１００の動作制御を行う制御装置４０とを備えている。なお、視覚センサ３０は、本発明の「検出手段」の一例であるとともに、制御装置４０は、本発明の「制御部」の一例である。
【００２５】
ロボットアーム１０は、複数のアーム（リンク）１１および各アーム１１を接続する関節部１２とを含んでいる。各関節部１２には図示しないモータがそれぞれ設けられており、各関節部１２は接続されたアーム１１を所定の駆動方向（関節軸回りの回転方向）に駆動するように構成されている。これにより、ロボットアーム１０は、たとえば６自由度の動きが可能な構成を有する。
【００２６】
多指ハンド部２０は、ロボットアーム１０の先端に装着されているとともに、等角度間隔で配置された３本の指部２１、２２および２３を含んでいる。３本の指部２１、２２および２３は、同一の構成を有するとともに、先端（指先）にそれぞれ力センサ２１ａ、２２ａおよび２３ａを有している。また、各指部２１、２２および２３は、それぞれ、根元側の関節部２１ｂ、２２ｂおよび２３ｂと、中間部の関節部２１ｃ、２２ｃおよび２３ｃとを有する。各指部２１、２２および２３は、これらの関節部（２１ｂ〜２３ｂおよび２１ｃ〜２３ｃ）に設けられた図示しないモータにより、所定の駆動方向（関節軸回りの回転方向）に駆動されるように構成されている。したがって、指部２１、２２および２３の自由度は、それぞれ、２自由度である。なお、力センサ２１ａ、２２ａおよび２３ａは、本発明の「指先力センサ」の一例である。
【００２７】
力センサ２１ａ、２２ａおよび２３ａは、それぞれ、直交する３軸方向の力を検出する圧力センサからなる。この力センサ２１ａ、２２ａおよび２３ａは、それぞれ、指部２１、２２および２３の指先に加えられた外力（負荷）を検出するように構成されている。また、力センサ２１ａ、２２ａおよび２３ａの検出信号は、制御装置４０に出力されるように構成されている。これにより、第１実施形態では、力センサ２１ａ、２２ａおよび２３ａの出力に基づいて、多指ハンド部２０（指部２１、２２および２３）と物体（把持対象物１１０および周囲の壁やテーブルなどの物体）との接触を検出することが可能なように構成されている。
【００２８】
視覚センサ３０は、把持対象物１１０および把持対象物１１０の周囲を撮像するカメラにより構成されている。視覚センサ３０により撮像される画像データは、制御装置４０により取り込まれるように構成されている。
【００２９】
制御装置４０は、アーム制御部４１と、ハンド制御部４２と、画像処理部４３と対象物データベース４４とを含んでいる。また、制御装置４０には、ロボット装置１００の動作制御を行うための作業動作プログラム４５が記憶されている。なお、画像処理部４３は、本発明の「情報取得手段」の一例である。
【００３０】
アーム制御部４１は、作業動作プログラム４５に基づいて、ロボットアーム１０の各部の動作制御を行う機能を有する。具体的には、アーム制御部４１は、画像処理部４３により取得された把持対象物１１０の位置情報および姿勢情報に基づいてロボットアーム１０の各関節部１２を駆動させるように構成されている。また、把持対象物１１０の把持動作時には、アーム制御部４１は、把持対象物１１０へのアプローチ動作（ロボットアーム１０を移動させて把持対象物１１０に多指ハンド部２０を近づけていく動作）を行うようにロボットアーム１０を制御するように構成されている。
【００３１】
ハンド制御部４２は、作業動作プログラム４５に基づいて、多指ハンド部２０の各指部２１〜２３の動作制御を行う機能を有する。具体的には、ハンド制御部４２は、多指ハンド部２０の３本の指部２１、２２および２３をそれぞれ制御することによって、把持対象物１１０を把持する把持姿勢や、把持姿勢の前段階としてのアプローチ姿勢（把持姿勢をとるために把持対象物１１０の近傍（周囲）に各指部を配置する姿勢）をとる把持動作制御を行うように構成されている。
【００３２】
また、把持対象物１１０の把持動作においては、ハンド制御部４２は、力センサ２１ａ、２２ａおよび２３ａの出力に基づいて力制御（インピーダンス制御）を行うことにより、多指ハンド部２０（指部２１、２２および２３）を把持対象物１１０の位置が変化しないような強さで把持対象物１１０に接触させることが可能なように構成されている。具体的には、各指部２１、２２および２３に対して、仮想的な機械インピーダンス（慣性係数、粘性係数および剛性（バネ）係数）によって力と変位量との関係を規定するインピーダンスモデルを設定するとともに、各指部２１、２２および２３への入力位置指令に対して、インピーダンスモデルに基づいて力センサ２１ａ、２２ａおよび２３ａの出力（力情報）を位置変位量に変換してフィードバックすることにより、入力位置指令の修正を行う。この仮想的な機械インピーダンス（慣性係数、粘性係数および剛性（バネ）係数）の値を小さく設定する場合には、外力に対する抵抗力が小さくなるので、物体との接触時に物体に作用する力を小さくすることができる。したがって、この機械インピーダンスの値を適切に調整することにより、把持対象物１１０に対していわゆる柔らかい接触が可能になり、把持対象物１１０の位置を変化させることなく多指ハンド部２０を把持対象物１１０に接触させることが可能である。
【００３３】
画像処理部４３は、視覚センサ３０により撮像された画像データを取り込み、画像データを画像処理することにより、把持対象物１１０の位置情報、姿勢（向き）情報、形状情報を取得することが可能なように構成されている。ここで、把持対象物１１０の位置情報は、視覚センサ３０に設定された座標系（たとえばＸ、ＹおよびＺ軸の直交座標系）における３自由度の位置の情報である。また、把持対象物１１０の姿勢情報は、視覚センサ３０に設定された座標系（たとえばＸ、ＹおよびＺ軸の直交座標系）における各軸回りの３自由度の回転角度位置の情報である。これらの位置情報および姿勢情報を、視覚センサ３０の座標系からロボットアーム１０および多指ハンド部２０の座標系へと変換すれば、ロボットアーム１０および多指ハンド部２０の座標系における把持対象物１１０の位置情報および姿勢情報が得られる。また、把持対象物１１０の形状情報は、画像処理によって取得される把持対象物１１０の輪郭などの情報である。この形状情報を対象物データベース４４の情報と照合することにより、画像データに含まれる形状（把持対象物１１０の形状）から対象物データベース４４に登録された把持対象物１１０が特定される。
【００３４】
対象物データベース４４は、把持対象となる物体を予め把持対象物１１０として登録可能に構成され、把持対象物１１０の寸法情報や、多指ハンド部２０による把持位置（把持対象物１１０に対してどの位置で把持するか）および把持姿勢（どの方向からどの関節角度で把持するか（たとえば、上方から把持する、側方から把持するなど））を定めた把持形態データなどを含んでいる。制御装置４０は、画像処理部４３によって検出された把持対象物１１０の形状情報を対象物データベース４４の情報と照合することにより、把持対象物１１０の寸法情報などを取得することが可能なように構成されている。
【００３５】
上記の構成により、制御装置４０は、視覚センサ３０により撮像された画像データに基づいて把持対象物１１０の位置情報、姿勢情報、寸法情報、把持位置および把持姿勢を取得するとともに、これらの情報に基づいてアーム制御部４１およびハンド制御部４２を介してロボットアーム１０および多指ハンド部２０を駆動することにより、把持対象物１１０の把持動作を行うように構成されている。しかしながら、視覚センサ３０により撮像された画像データに基づいて取得された把持対象物１１０の位置情報および姿勢情報に誤差が含まれる場合などには、多指ハンド部２０による把持位置および把持姿勢（把持する方向）がずれてしまう場合がある。
【００３６】
つまり、視覚センサ３０により取得された把持対象物１１０の位置情報および姿勢情報に基づいてロボットアーム１０および多指ハンド部２０を駆動するためには、視覚センサ３０の座標系（カメラ座標系）とロボットアーム１０および多指ハンド部２０の座標系（ロボット装置１００の座標系）とが正確に一致することが必要である。このため、両方の座標系を一致させるためのキャリブレーション（校正）が予め行われる。しかしながら、キャリブレーションが不十分な場合や、ロボットアーム１０および多指ハンド部２０と、視覚センサ３０との位置関係が変化する場合などもある。この場合には、把持対象物１１０の位置情報および姿勢情報に誤差が含まれることに起因して、多指ハンド部２０による把持位置および把持姿勢（把持する方向）がずれてしまうことになる。
【００３７】
そこで、この第１実施形態では、把持対象物１１０に対する実際の接触位置の情報に基づいて把持対象物１１０の位置情報および姿勢情報を修正することにより、多指ハンド部２０による把持位置および把持姿勢がずれるのを抑制するように構成している。すなわち、制御装置４０は、視覚センサ３０により取得された把持対象物１１０の位置情報および姿勢情報に基づいてロボットアーム１０を移動させて把持対象物１１０に多指ハンド部２０を近づけていき、多指ハンド部２０の各指先の力センサ２１ａ、２２ａおよび２３ａの出力に基づいて把持対象物１１０に対する実際の接触位置を検出するように構成されている。具体的には、力センサ（２１ａ、２２ａおよび２３ａ）が把持対象物１１０に対する接触を検出した時の接触位置を、ロボットアーム１０の関節角度および多指ハンド部２０の関節角度から算出する。そして、制御装置４０は、検出した接触位置の情報に基づいて把持対象物１１０の位置情報および姿勢情報を修正する位置補正機能を有している。また、第１実施形態では、制御装置４０は、この位置補正機能を使用するか否かをユーザにより設定可能に構成されている。
【００３８】
なお、位置補正機能を実行する際には、上記のように力センサ２１ａ、２２ａおよび２３ａの出力に基づいてハンド制御部４２により力制御（インピーダンス制御）を行うことによって、多指ハンド部２０の３つの指部２１、２２および２３の全てが把持対象物１１０に接触するようにロボットアーム１０と各指部２１、２２および２３とを駆動したとしても、把持対象物１１０の位置が変位するような力が把持対象物１１０に対して加わることなく動作することが可能である。
【００３９】
次に、図２を参照して、本発明の第１実施形態によるロボット装置１００の把持動作時の制御装置４０の処理フローを説明する。この第１実施形態では、制御装置４０の作業動作プログラム４５に基づいてロボット装置１００の把持動作が行われる。
【００４０】
まず、図２に示すように、ステップＳ１において、視覚センサ３０により撮像された画像データに基づき、制御装置４０の画像処理部４３により把持対象物１１０の位置情報、姿勢情報および形状情報が取得される。次に、ステップＳ２において、取得された把持対象物１１０の形状情報を制御装置４０の対象物データベース４４内のデータと照合することにより、形状情報に対応する把持対象物１１０の寸法情報や、把持対象物１１０の把持形態データ（把持位置および把持姿勢）などが取得される。
【００４１】
ステップＳ３では、取得された把持対象物１１０の位置情報および姿勢情報と、把持対象物１１０の寸法情報および把持形態データとに基づいて、アーム制御部４１およびハンド制御部４２により、把持対象物１１０の把持位置への移動経路、および、把持姿勢に対応する多指ハンド部２０のアプローチ姿勢（各指部２１、２２および２３の関節角度、指部同士の間隔など）が決定される。そして、各指部２１、２２および２３の関節部（２１ｂ〜２３ｂおよび２１ｃ〜２３ｃ）が駆動されることにより、多指ハンド部２０の各指部２１、２２および２３が把持対象物１１０に対するアプローチ姿勢となるように配置される。
【００４２】
次に、ステップＳ４において、制御装置４０により、ユーザにより位置補正機能が有効に設定されているか否かが判断される。そして、位置補正機能が有効に設定されていた場合には、ステップＳ５に進み、接触位置の検出および位置情報（姿勢情報）の修正が実行される。また、位置補正機能が無効に設定されていた場合には、ステップＳ９に進む。
【００４３】
ステップＳ５では、取得された把持対象物１１０の位置情報および姿勢情報に基づいて制御装置４０のアーム制御部４１によりロボットアーム１０が移動され、多指ハンド部２０を把持対象物１１０に近づけるアプローチ動作が開始される。
【００４４】
アプローチ動作を継続すると、多指ハンド部２０が把持位置に配置された後、アプローチ姿勢から把持姿勢に近づけるように各指部２１、２２および２３が駆動される。このとき、把持対象物１１０の位置情報に誤差が含まれる場合には、多指ハンド部２０が把持位置へ移動する過程、または、把持位置においてアプローチ姿勢から把持姿勢に近づけるように各指部２１、２２および２３が駆動される過程において、多指ハンド部２０の指部２１、２２および２３のそれぞれと把持対象物１１０とが接触する。これにより、指部２１、２２および２３の先端の力センサ２１ａ、２２ａおよび２３ａにより把持対象物１１０に対する接触が検出される。この際、制御装置４０のハンド制御部４２が各指部２１、２２および２３の力制御（インピーダンス制御）を行うことにより、把持対象物１１０の位置が変化しないような強さで（いわゆる柔らかい接触で）接触動作が行われる。把持対象物１１０に対する接触が検出されると、ロボットアーム１０および多指ハンド部２０の動作が一旦停止される。
【００４５】
ステップＳ６では、力センサ２１ａ、２２ａおよび２３ａにより把持対象物１１０に対する接触が検出された位置（接触位置）が、それぞれ制御装置４０（ハンド制御部４２）により取得される。このステップＳ６により、把持対象物１１０の実際の位置（ロボットアーム１０および多指ハンド部２０の座標系における位置）が取得される。また、把持対象物１１０に対する複数（３点）の接触位置に基づいて、把持対象物１１０の実際の姿勢が算出される。
【００４６】
なお、上記ステップＳ１で取得された把持対象物１１０の位置情報に誤差が含まれる場合には、検出された実際の接触位置と画像データに基づく位置情報とには、位置ずれが生じることになる。同様に、上記ステップＳ１で取得された把持対象物１１０の姿勢情報に誤差が含まれる場合には、実際の把持対象物１１０の姿勢と画像データに基づく姿勢情報とには、姿勢（向き）のずれが生じることになる。
【００４７】
そこで、ステップＳ７では、検出された３点の接触位置の情報に基づいて、把持対象物１１０の位置情報および姿勢情報が修正される。これに伴い、修正後の把持対象物１１０の位置情報および姿勢情報に基づいて、アーム制御部４１によりロボットアーム１０の位置（すなわち、多指ハンド部２０の把持位置）が修正されるとともに、ハンド制御部４２により多指ハンド部２０（指部２１、２２および２３）の把持姿勢が修正される。
【００４８】
その後、ステップＳ８では、修正された把持位置に多指ハンド部２０が配置された状態で、ハンド制御部４２により指部２１、２２および２３がそれぞれ移動され、多指ハンド部２０が修正された把持姿勢をとることにより、把持対象物１１０の把持が実行される。
【００４９】
一方、ステップＳ４でユーザにより位置補正機能が無効に設定されていた場合には、上記した実際の接触位置に基づく位置修正を行うことなく、ステップＳ９において、把持対象物１１０の位置情報および姿勢情報に基づいてアーム制御部４１によりロボットアーム１０が移動され、把持対象物１１０に多指ハンド部２０を近づけるアプローチ動作が実行される。そして、多指ハンド部２０がアプローチ姿勢で把持位置に配置されると、ステップＳ８に移行し、ハンド制御部４２により各指部２１、２２および２３がアプローチ姿勢から把持姿勢へと移動して、把持対象物１１０の把持が実行される。
【００５０】
第１実施形態では、上記のように、把持対象物１１０の位置情報に基づいてロボットアーム１０を移動させて把持対象物１１０に多指ハンド部２０を近づけていき、多指ハンド部２０の力センサ２１ａ、２２ａおよび２３ａの出力に基づいて把持対象物１１０に対する実際の接触位置を検出し、検出した接触位置に基づいて把持対象物１１０の位置情報を修正する制御装置４０を設けることによって、多指ハンド部２０による把持対象物１１０に対する実際の接触位置に基づいて把持対象物１１０の位置情報を修正することができる。これにより、画像処理部４３により取得した把持対象物１１０の位置情報に誤差が含まれる場合にも、実際の接触位置に基づいて把持対象物１１０の位置情報のずれを修正することができるので、把持対象物１１０を確実に把持することができる。
【００５１】
また、第１実施形態では、上記のように、制御装置４０を、接触位置を用いて修正された位置情報に基づいて多指ハンド部２０の把持位置を修正するとともに、多指ハンド部２０により把持対象物１１０を把持する制御を行うように構成することによって、把持対象物１１０の位置情報に誤差が含まれる場合にも、実際の接触位置に基づいて把持位置が修正された多指ハンド部２０により把持対象物１１０を確実に把持することができる。
【００５２】
また、第１実施形態では、上記のように、制御装置４０を、画像処理部４３により取得した把持対象物１１０の位置情報および姿勢情報に基づいてロボットアーム１０を移動させて把持対象物１１０に多指ハンド部２０を近づけていき、多指ハンド部２０の力センサ２１ａ、２２ａおよび２３ａの出力に基づいて把持対象物１１０に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて把持対象物１１０の位置情報および姿勢情報を修正するように構成することによって、検出した接触位置の情報に基づいて、把持対象物１１０の位置情報のみならず把持対象物１１０の姿勢情報も修正することができるので、より確実に把持対象物１１０を把持することができる。
【００５３】
また、第１実施形態では、上記のように、位置情報の修正を行うか否か（位置補正機能を使用するか否か）をユーザにより設定可能に構成するとともに、制御装置４０を、位置情報の修正を行うと設定されている場合には、力センサ２１ａ、２２ａおよび２３ａの出力に基づいて把持対象物１１０に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて把持対象物１１０の位置情報を修正するように構成することによって、ユーザは、ロボット装置１００の用途や使用環境などに応じて、位置情報の修正を行うか否かを設定することができるとともに、位置情報の修正を行うと設定した場合には、把持対象物１１０の位置情報に誤差が含まれる場合にも把持対象物１１０を確実に把持することができる。
【００５４】
また、第１実施形態では、上記のように、制御装置４０を、３つの力センサ２１ａ、２２ａおよび２３ａの出力に基づいて把持対象物１１０に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて把持対象物１１０の位置情報を修正するように構成することによって、多指ハンド部２０の指先に設けられた３つの力センサ２１ａ、２２ａおよび２３ａによって、１回の接触動作で実際の把持対象物１１０の複数（３点）の接触位置を検出することができる。これにより、把持対象物１１０の複数（３点）の接触位置の情報を取得することができるので、容易に、把持対象物１１０の位置情報のみならず姿勢情報の修正も行うことができる。
【００５５】
また、第１実施形態では、上記のように、制御装置４０を、把持対象物１１０の情報が予め蓄えられた対象物データベース４４と、画像処理部４３により取得された把持対象物１１０の形状情報とを照合して把持対象物１１０の寸法情報を得るとともに、把持対象物１１０の寸法情報および位置情報に基づいてロボットアーム１０を移動させて把持対象物１１０に多指ハンド部２０を近づけていき、多指ハンド部２０の力センサ２１ａ、２２ａおよび２３ａの出力に基づいて把持対象物１１０に対する実際の接触位置を検出するように構成することによって、対象物データベース４４から把持対象物１１０の正確な寸法情報を取得することができる。これにより、把持対象物１１０の寸法情報および位置情報に基づいて、容易に、把持対象物１１０に多指ハンド部２０（力センサ２１ａ、２２ａおよび２３ａ）を接触させることができる。また、寸法情報を用いることにより、把持対象物１１０における接触位置の位置関係を求めることができるので、少ない接触位置の情報でも把持対象物１１０の位置情報の修正を行うことができる。
【００５６】
また、第１実施形態では、上記のように、制御装置４０を、把持対象物１１０の位置情報および姿勢情報に基づいて、多指ハンド部２０の力センサ２１ａ、２２ａおよび２３ａを用いた力制御（インピーダンス制御）により多指ハンド部２０を把持対象物１１０の位置が変化しないような強さで把持対象物１１０に接触させた状態で、多指ハンド部２０の力センサ２１ａ、２２ａおよび２３ａの出力に基づいて把持対象物１１０に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて把持対象物１１０の位置情報を修正するように構成する。これにより、多指ハンド部２０を把持対象物１１０に接触させる際に多指ハンド部２０との接触力に起因して把持対象物１１０の位置が変化するのを抑制することができるので、より正確に、把持対象物１１０に対する実際の接触位置を検出することができる。
【００５７】
（第２実施形態）
次に、図３および図４を参照して、本発明の第２実施形態によるロボット装置２００について説明する。この第２実施形態では、位置補正機能を使用するか否かをユーザにより設定可能に構成した上記第１実施形態と異なり、位置補正機能を使用するか否かを把持対象物１１０の位置情報と実際の接触位置とのずれ量に基づいて判断するように構成した例について説明する。
【００５８】
第２実施形態では、図３に示すように、ロボット装置２００の制御装置２４０は、視覚センサ３０の画像データに基づいて取得した把持対象物１１０の位置情報と、各指部２１、２２および２３の先端の力センサ２１ａ、２２ａおよび２３ａを用いて検出された把持対象物１１０に対する実際の接触位置とのずれ量が所定のしきい値よりも大きいか否かを判断するように構成されている。そして、制御装置２４０は、把持対象物１１０の位置情報と実際の接触位置とのずれ量が所定のしきい値よりも大きい場合には、接触位置の情報に基づいて、把持対象物１１０の位置情報および姿勢情報を修正する位置補正機能を実行するように構成されている。このしきい値は、たとえば、位置情報および姿勢情報を修正することなく把持対象物１１０を把持することが可能な位置ずれ量の最大値である。なお、制御装置２４０のアーム制御部４１、ハンド制御部４２、画像処理部４３および対象物データベース４４は、上記第１実施形態の制御装置４０のアーム制御部４１、ハンド制御部４２、画像処理部４３および対象物データベース４４と同じ構成を有し、制御装置２４０の作業動作プログラム２４５のみが第１実施形態と異なる。また、制御装置２４０は、本発明の「制御部」の一例である。
【００５９】
なお、第２実施形態のその他の構成は、上記第１実施形態と同様である。
【００６０】
次に、図３および図４を参照して、本発明の第２実施形態によるロボット装置２００の把持動作時の制御装置２４０の処理フローを説明する。この第２実施形態では、制御装置２４０の作業動作プログラム２４５に基づいてロボット装置２００の把持動作が行われる。
を説明する。
【００６１】
第２実施形態によるロボット装置２００の把持動作時の制御装置２４０の処理フローにおいて、ステップＳ１〜ステップＳ３は、上記第１実施形態と同様である。すなわち、図４に示すように、ステップＳ１において、視覚センサ３０により撮像された画像データに基づき、制御装置２４０の画像処理部４３により把持対象物１１０の位置情報、姿勢情報および形状情報が取得される。次に、ステップＳ２において、取得された把持対象物１１０の形状情報を制御装置２４０の対象物データベース４４内のデータと照合することにより、把持対象物１１０の寸法情報や把持形態データなどが取得される。ステップＳ３では、取得された把持対象物１１０の位置情報および姿勢情報と、把持対象物１１０の寸法情報および把持形態データとに基づいて、多指ハンド部２０の各指部２１、２２および２３が把持対象物１１０に対するアプローチ姿勢となるように配置される。
【００６２】
上記したステップＳ３の後、この第２実施形態では、ステップＳ１４において、取得された把持対象物１１０の位置情報および姿勢情報に基づいてアーム制御部４１によりロボットアーム１０が移動されることにより、把持対象物１１０に多指ハンド部２０を近づけるとともに、把持位置に配置された多指ハンド部２０を把持対象物１１０に接触させるアプローチ動作が実行される。
【００６３】
アプローチ動作の進行に伴い、指部２１、２２および２３の先端の力センサ２１ａ、２２ａおよび２３ａのそれぞれにより把持対象物１１０に対する接触が検出されるとともに、ロボットアーム１０および多指ハンド部２０の動作が一旦停止される。この際、ハンド制御部４２が力センサ２１ａ、２２ａおよび２３ａの出力に基づいて各指部２１、２２および２３の力制御（インピーダンス制御）を行うことにより、把持対象物１１０の位置が変化しないような強さで（いわゆる柔らかい接触で）接触動作が行われる。そして、ステップＳ１５において、力センサ２１ａ、２２ａおよび２３ａにより把持対象物１１０に対する接触が検出された位置（接触位置）が、それぞれ制御装置２４０（ハンド制御部４２）により取得される。このステップＳ１５により、把持対象物１１０の実際の位置および姿勢（ロボットアーム１０および多指ハンド部２０の座標系における位置および姿勢）が取得される。
【００６４】
ここで、第２実施形態では、ステップＳ１６において、制御装置２４０により、上記ステップＳ１において取得された把持対象物１１０の位置情報と、上記ステップＳ１５において検出された把持対象物１１０に対する実際の接触位置とのずれ量が所定のしきい値よりも大きいか否かが判断される。把持対象物１１０の位置情報と実際の接触位置とのずれ量が所定のしきい値よりも大きい場合には、ステップＳ１７に進み、位置情報および姿勢情報の修正（多指ハンド部２０の把持位置および把持姿勢の修正）が行われる。一方、把持対象物１１０の位置情報と実際の接触位置とのずれ量が所定のしきい値以下の場合には、把持位置および把持姿勢の修正を行うことなく把持可能と判断されてステップＳ１８に進む。
【００６５】
ステップＳ１７では、検出された複数の接触位置の情報に基づいて、制御装置２４０のハンド制御部４２により、把持対象物１１０の位置情報および姿勢情報が修正される。これに伴い、修正後の把持対象物１１０の位置情報および姿勢情報に基づいて、アーム制御部４１によりロボットアーム１０の位置（すなわち、多指ハンド部２０の把持位置）が修正されるとともに、ハンド制御部４２により多指ハンド部２０（指部２１、２２および２３）の把持姿勢が修正される。
【００６６】
ステップＳ１８では修正された把持位置に多指ハンド部２０が配置された状態で、制御装置２４０のハンド制御部４２により指部２１、２２および２３がそれぞれ移動されて多指ハンド部２０が修正された把持姿勢をとることにより、多指ハンド部２０による把持対象物１１０の把持が実行される。なお、上記ステップＳ１６で把持対象物１１０の位置情報と実際の接触位置とのずれ量が所定のしきい値以下と判断された場合には、このステップＳ１８に移行して、多指ハンド部２０の把持位置および把持姿勢が修正されることなく把持動作が実行される。
【００６７】
第２実施形態では、上記のように、制御装置２４０を、把持対象物１１０の位置情報による位置と、検出された把持対象物１１０に対する実際の接触位置とのずれ量が所定のしきい値よりも大きい場合に、力センサ２１ａ、２２ａおよび２３ａの出力に基づいて把持対象物１１０に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて把持対象物１１０の位置情報を修正するように構成することによって、画像処理部４３により取得した把持対象物１１０の位置情報が実際の接触位置に対して所定のしきい値よりも大きいずれ量（誤差）を含むと制御装置２４０により判断された場合には、検出した接触位置の情報に基づいて把持対象物１１０の位置情報を修正することができる。これにより、画像処理部４３により取得した把持対象物１１０の位置情報と実際の把持対象物１１０の位置情報とのずれ量が確実な把持を行うことが困難なほど大きい場合（しきい値よりも大きい場合）にのみ、検出した接触位置の情報に基づいて把持対象物１１０の位置情報を修正することができる。その結果、制御装置２４０の制御負荷を減少させることができる。
【００６８】
なお、第２実施形態のその他の効果は、上記第１実施形態と同様である。
【００６９】
（第３実施形態）
次に、図５〜図７を参照して、本発明の第３実施形態によるロボット装置３００について説明する。この第３実施形態では、上記第１実施形態および上記第２実施形態と異なり、ロボット装置３００のロボットアーム１０および多指ハンド部２０を移動させる移動台車３５０を設けた例について説明する。
【００７０】
第３実施形態では、図５に示すように、ロボット装置３００は、ロボットアーム１０と、多指ハンド部２０と、視覚センサ３０と、制御装置３４０と、移動台車３５０とを備えている。第３実施形態では、ロボットアーム１０およびロボットアーム１０の先端に設けられた多指ハンド部２０が移動台車３５０上に設置されるとともに、制御装置３４０が移動台車３５０の内部に設けられている。これにより、ロボット装置３００は、ユーザにより把持対象物１１０の把持（および移動）の指示を受け付けると、移動台車３５０を把持対象物１１０に向かって移動させて把持対象物１１０を把持することが可能なように構成されている。なお、制御装置３４０は、本発明の「制御部」の一例である。また、第３実施形態のロボットアーム１０、多指ハンド部２０および視覚センサ３０の構成は、上記第１および第２実施形態と同様である。
【００７１】
移動台車３５０は、たとえば４つの車輪３５１を含むとともに、車輪３５１を駆動するためのモータ３５２を内蔵している。そして、制御装置３４０から入力される制御信号に基づいて各車輪３５１のモータ３５２が駆動されることにより、移動台車３５０は任意の位置に移動することが可能なように構成されている。
【００７２】
制御装置３４０は、図６に示すように、アーム制御部４１と、ハンド制御部４２と、画像処理部４３と、対象物データベース４４と、作業動作プログラム３４５と、移動台車制御部３４６とを含んでいる。なお、制御装置３４０のアーム制御部４１、ハンド制御部４２、画像処理部４３および対象物データベース４４は、上記第１実施形態の制御装置４０のアーム制御部４１、ハンド制御部４２、画像処理部４３および対象物データベース４４と同じ構成を有し、制御装置３４０の作業動作プログラム３４５および移動台車制御部３４６が第１実施形態と異なる。
【００７３】
移動台車制御部３４６は、移動台車３５０のモータ３５２に対して制御信号を出力することにより、移動台車３５０の移動を制御する機能を有する。把持対象物１１０の把持動作を行う場合には、移動台車制御部３４６は、視覚センサ３０の画像データに基づいて取得した把持対象物１１０の位置情報および姿勢情報に基づき、把持対象物１１０に向かって移動台車３５０を移動させるように構成されている。
【００７４】
また、第３実施形態では、制御装置３４０は、把持対象物１１０の把持動作を行う際の移動台車３５０の移動量が所定のしきい値よりも大きい場合に、位置補正機能を使用するように構成されている。すなわち、上記のように把持対象物１１０の位置情報と実際の接触位置との位置ずれは、キャリブレーションが不十分な場合や、ロボットアーム１０および多指ハンド部２０と視覚センサ３０との位置関係が変化する場合などに発生する。この第３実施形態では、移動台車３５０の移動量が所定のしきい値よりも大きくなる場合には、ロボットアーム１０および多指ハンド部２０と、視覚センサ３０との位置関係が変化する場合や、移動台車３５０の移動により位置や方向がずれる場合なども考えられるため、把持対象物１１０の位置情報と実際の接触位置との位置ずれが発生する可能性が高くなる。一方、移動台車３５０の移動量が小さい場合には、移動台車３５０による移動の前後において位置関係は大きく変わらないため、制御装置３４０は、位置補正機能を使用する必要なしと判断することができる。
【００７５】
また、この第３実施形態では、制御装置３４０は、移動台車３５０の移動量が所定のしきい値以下の場合にも、視覚センサ３０の画像データに基づいて取得した把持対象物１１０の位置情報と、各指部２１、２２および２３の先端の力センサ２１ａ、２２ａおよび２３ａを用いて検出された把持対象物１１０に対する実際の接触位置とのずれ量が所定のしきい値よりも大きい場合には、位置補正機能を使用するように構成されている。位置補正機能の内容は上記第１および第２実施形態と同様であり、制御装置３４０（ハンド制御部４２）は、力センサ２１ａ、２２ａおよび２３ａの出力に基づいて把持対象物１１０の接触位置を複数（３点）取得するとともに、複数（３点）の接触位置の情報に基づいて、把持対象物１１０の位置情報および姿勢情報を修正するように構成されている。
【００７６】
なお、第３実施形態のその他の構成は、上記第１および第２実施形態と同様である。
【００７７】
次に、図７を参照して、本発明の第３実施形態によるロボット装置３００の把持動作時の制御装置３４０の処理フローを説明する。この第３実施形態では、制御装置３４０の作業動作プログラム３４５に基づいてロボット装置３００の把持動作が行われる。
【００７８】
第３実施形態によるロボット装置３００の把持動作時の制御装置３４０の処理フローにおいて、ステップＳ１およびステップＳ２は、上記第１実施形態と同様である。すなわち、図７に示すように、ステップＳ１において、視覚センサ３０により撮像された画像データに基づき、制御装置３４０の画像処理部４３により把持対象物１１０の位置情報、姿勢情報および形状情報が取得される。次に、ステップＳ２において、取得された把持対象物１１０の形状情報を制御装置３４０の対象物データベース４４内のデータと照合することにより、形状情報に対応する把持対象物１１０の寸法情報や、把持対象物１１０の把持形態データ（把持位置および把持姿勢）などが取得される。
【００７９】
次に、ステップＳ２３では、移動台車制御部３４６により移動台車３５０のモータ３５２が駆動されることによって、把持対象物１１０に向かって移動台車３５０が移動される。具体的には、まず、取得された把持対象物１１０の位置情報および姿勢情報と、把持対象物１１０の寸法情報および把持形態データとに基づいて、アーム制御部４１、ハンド制御部４２および移動台車制御部３４６により、把持対象物１１０の把持位置への移動経路、および、把持姿勢に対応する多指ハンド部２０のアプローチ姿勢が決定される。そして、把持対象物１１０の把持位置への移動経路に基づいて、移動台車制御部３４６により、把持位置に多指ハンド部２０を配置可能な位置まで移動台車３５０が移動される。この際、移動台車３５０による移動距離が移動台車制御部３４６により取得される。
【００８０】
次に、ステップＳ２４において、制御装置３４０のハンド制御部４２により、把持対象物１１０の把持位置および把持姿勢に基づいて、多指ハンド部２０の各指部２１、２２および２３が把持対象物１１０に対するアプローチ姿勢となるように配置される。
【００８１】
ここで、第３実施形態では、ステップＳ２５において、制御装置３４０により、上記ステップＳ２３における移動台車３５０の移動量が所定のしきい値よりも大きいか否かが判断される。移動量が所定のしきい値よりも大きい場合には、位置補正機能を使用すると判断されてステップＳ２６に進む。一方、移動台車３５０の移動量が所定のしきい値以下の場合には、このステップＳ２５の時点では位置補正機能を使用しないと判断されてステップＳ３０に進む。
【００８２】
次に、ステップＳ２６において、取得された把持対象物１１０の位置情報および姿勢情報に基づいて制御装置３４０のアーム制御部４１によりロボットアーム１０が移動され、把持対象物１１０に多指ハンド部２０を近づけるアプローチ動作が実行される。
【００８３】
アプローチ動作の進行に伴い、多指ハンド部２０の力センサ２１ａ、２２ａおよび２３ａのそれぞれにより把持対象物１１０に対する接触が検出されるとともに、ロボットアーム１０および多指ハンド部２０の動作が一旦停止される。この際、制御装置３４０のハンド制御部４２が力センサ２１ａ、２２ａおよび２３ａの出力に基づいて各指部２１、２２および２３の力制御（インピーダンス制御）を行うことにより、把持対象物１１０の位置が変化しないような強さで接触動作が行われる。ステップＳ２７では、力センサ２１ａ、２２ａおよび２３ａにより把持対象物１１０に対する接触が検出された位置（接触位置）が、それぞれ制御装置３４０（ハンド制御部４２）により取得される。このステップＳ２７により、把持対象物１１０の実際の位置および姿勢（ロボットアーム１０および多指ハンド部２０の座標系における位置および姿勢）が取得される。
【００８４】
ステップＳ２８では、検出された複数（３点）の接触位置の情報に基づいて、制御装置３４０のハンド制御部４２により、把持対象物１１０の位置情報および姿勢情報が修正される。これに伴い、修正後の把持対象物１１０の位置情報および姿勢情報に基づいて、アーム制御部４１によりロボットアーム１０の位置（すなわち、多指ハンド部２０の把持位置）が修正されるとともに、ハンド制御部４２により多指ハンド部２０（指部２１、２２および２３）の把持姿勢が修正される。
【００８５】
ステップＳ２９では、修正された把持位置に多指ハンド部２０が配置された状態で、ハンド制御部４２により多指ハンド部２０が修正された把持姿勢をとることにより、把持対象物１１０の把持が実行される。
【００８６】
一方、上記ステップＳ２５でロボット装置３００（移動台車３５０）の移動量が所定のしきい値以下の場合には、ステップＳ３０に移行する。ステップＳ３０では、把持対象物１１０の位置情報および姿勢情報に基づいてアーム制御部４１によりロボットアーム１０が移動され、多指ハンド部２０を把持対象物１１０の把持位置に配置するアプローチ動作が実行される。
【００８７】
そして、ステップＳ３１において、ハンド制御部４２により各指部２１、２２および２３がそれぞれ移動され、多指ハンド部２０による把持対象物１１０の把持動作が開始される。この際、多指ハンド部２０の力センサ２１ａ、２２ａおよび２３ａのそれぞれにより把持対象物１１０に対する接触が検出されるとともに、接触が検出されたそれぞれの位置（接触位置）が制御装置３４０（ハンド制御部４２）により取得される。したがって、このステップＳ３１により、把持動作の過程で把持対象物１１０の実際の位置および姿勢（ロボットアーム１０および多指ハンド部２０の座標系における位置および姿勢）が取得される。
【００８８】
そして、この第３実施形態では、ステップＳ３２において、上記ステップＳ２５と異なり、制御装置３４０により、上記ステップＳ１において取得された把持対象物１１０の位置情報と、上記ステップＳ３１において検出された把持対象物１１０に対する実際の接触位置とのずれ量が所定のしきい値よりも大きいか否かが判断されることにより、位置補正機能を使用するか否かが判断される。すなわち、上記ステップＳ２５では、移動台車３５０の移動量に基づいて位置補正機能を使用するか否かを判断したが、移動台車３５０の移動量が小さい場合であっても、位置情報と実際の接触位置との位置ずれが発生する場合も考えられる。この点を考慮して、第３実施形態では、ステップＳ３２において、把持対象物１１０の位置情報と実際の接触位置とのずれ量が所定のしきい値よりも大きい場合には、ステップＳ３３に進み、把持動作が一時中断されるとともに、多指ハンド部２０の把持位置および把持姿勢の修正が行われる。一方、把持対象物１１０の位置情報と実際の接触位置とのずれ量が所定のしきい値以下の場合には、位置補正機能を使用せずにそのまま把持動作が進行するとともに、多指ハンド部２０が把持姿勢をとることにより、把持対象物１１０の把持が完了する。
【００８９】
ステップＳ３３では、上記ステップＳ２８と同様に、検出された複数（３点）の接触位置の情報に基づいて、ハンド制御部４２により、把持対象物１１０の位置情報および姿勢情報が修正される。これに伴い、修正後の把持対象物１１０の位置情報および姿勢情報に基づいて、アーム制御部４１によりロボットアーム１０の位置（すなわち、多指ハンド部２０の把持位置）が修正されるとともに、ハンド制御部４２により多指ハンド部２０（指部２１、２２および２３）の把持姿勢が修正される。その後、ステップＳ２９に移行して、ハンド制御部４２により各指部２１、２２および２３がそれぞれ駆動されて多指ハンド部２０が修正された把持姿勢をとることにより、把持対象物１１０の把持が実行される。
【００９０】
第３実施形態では、上記のように、多指ハンド部２０が先端に設けられたロボットアーム１０を把持対象物１１０に向かって移動させる移動台車３５０を設け、画像処理部４３により取得した把持対象物１１０の位置情報および姿勢情報に基づいて移動台車３５０およびロボットアーム１０を移動させて把持対象物１１０に多指ハンド部２０を近づけていき、多指ハンド部２０の力センサ２１ａ、２２ａおよび２３ａの出力に基づいて把持対象物１１０に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて把持対象物１１０の位置情報を修正するように構成する。このようにロボット装置３００自体の位置が変化することに起因して、画像処理部４３により取得した把持対象物１１０の位置情報に誤差が含まれ易い場合にも、多指ハンド部２０による把持対象物１１０に対する実際の接触位置を検出し、検出した接触位置の情報に基づいて把持対象物１１０の位置情報を修正することができるので、把持対象物１１０を確実に把持することができる。
【００９１】
なお、第３実施形態のその他の効果は、上記第２実施形態と同様である。
【００９２】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
【００９３】
たとえば、上記第１〜第３実施形態では、本発明を生活支援ロボットとして用いるロボット装置１００（２００、３００）に適用した例を示したが、本発明はこれに限られない。本発明は、ロボットアームおよび多指ハンド部を備える装置であれば、生活支援ロボット以外のロボット装置として用いることが可能である。たとえば、本発明を各種の産業用ロボット装置に適用してもよい。
【００９４】
また、上記第１〜第３実施形態では、本発明の検出手段の一例として視覚センサ（カメラ）を設けるとともに、本発明の情報取得手段の一例として画像処理部を設けた例を示したが、本発明はこれに限られない。本発明では、視覚センサ（カメラ）以外にも、キーボードなどの入力装置によりユーザが把持対象物の位置情報を入力するように構成してもよい。また、視覚センサおよび画像処理部とタッチパネルとを組み合わせて、ユーザがタッチパネルの画面上で把持対象物を選択するように構成してもよい。この他、視覚センサ以外の距離センサを用いて対象物の位置情報を取得してもよいし、たとえば圧力センサをアレイ状に配置して、圧力センサ（アレイ）上に置かれた対象物の位置情報を取得するように構成してもよい。
【００９５】
また、上記第１〜第３実施形態では、検出した接触位置の情報に基づいて把持対象物の位置情報を修正し、修正された位置情報に基づいて多指ハンド部により把持対象物を把持するように構成した例を示したが、本発明はこれに限られない。本発明では、修正された位置情報に基づいて把持以外の動作制御を行うように構成してもよい。たとえば、修正された位置情報に基づいて、対象物である容器に物体を収納したり、液体を注ぎ込むような構成としてもよい。
【００９６】
また、上記第１〜第３実施形態では、ロボット装置に１本のロボットアームおよび１つの多指ハンド部のみを設けた例を示したが、本発明はこれに限られない。本発明では、ロボットアームおよび多指ハンド部が複数設けられていてもよい。また、１本のロボットアームに複数の多指ハンド部が設けられていてもよい。
【００９７】
また、上記第１〜第３実施形態では、６自由度のロボットアームを設けた例を示したが、本発明はこれに限られない。本発明では、６自由度以外のロボットアームを用いてもよい。同様に、ロボットアームの形状や、ロボットアームの関節部の位置なども上記第１〜第３実施形態における構成以外の構成としてもよい。
【００９８】
また、上記第１〜第３実施形態では、２自由度の指部を３本有する６自由度の多指ハンド部を設けた例を示したが、本発明では、多指ハンド部の指の自由度および本数はこれに限られない。本発明では、多指ハンド部に２本の指部を設けてもよいし、多指ハンド部に４本以上の指部を設けてもよい。また、指部は、１自由度としてもよいし、３自由度以上としてもよい。また、多指ハンド部の形状や、多指ハンド部の各指部の関節部のそれぞれの位置なども上記第１〜第３実施形態における構成以外の構成としてもよい。
【００９９】
また、上記第１〜第３実施形態では、多指ハンド部の３本の指部にそれぞれ指先力センサを設けた例を示したが、本発明はこれに限られない。本発明では、少なくとも１本の指部に指先力センサが設けられていればよい。
【０１００】
また、上記第１〜第３実施形態では、本発明の指先力センサの一例である力センサ２１ａ、２２ａおよび２３ａを、３軸方向の力を検出する圧力センサにより構成した例を示したが、本発明はこれに限られない。本発明では、指先力センサを、３軸以外の６軸方向の力を検出するセンサにより構成してもよい。
【０１０１】
また、上記第１〜第３実施形態におけるロボット装置の動作説明においては、把持対象物に対する実際の接触位置を検出し、検出した接触位置に基づいて把持対象物の位置情報および姿勢情報を修正する例を説明したが、本発明はこれに限られない。本発明では、実際の接触位置の検出は、把持対象物以外の物体を対象物としてもよい。すなわち、把持対象物１１０がテーブル（図５参照）などの上面に設置されている場合には、まずテーブルに多指ハンド部２０の指部２１、２２または２３を接触させ、テーブルに対する接触位置を検出することにより、把持対象物１１０の高さ位置（Ｚ軸方向の位置情報）に関する位置情報を修正することが可能である。また、テーブルが略水平であれば、テーブル上の把持対象物１１０のＸ軸およびＹ軸回りの傾き（姿勢）も略水平となるので、テーブルに対する接触位置（３点）を検出することにより、把持対象物１１０の姿勢情報についても修正することができる。したがって、視覚センサの画像データに基づいて把持対象物がテーブルや棚などに設置されていると認識された場合（把持対象物と他の物体との位置関係が明らかな場合）には、そのテーブルや棚を対象物として接触位置を検出することによって、実際に把持対象物から取得する必要のある情報の数（位置情報および姿勢情報を修正する場合、各３自由度の合計６自由度を特定するための接触位置の数）を減少させることができる。
【０１０２】
なお、把持を行う場合、把持対象物の形状によっては、６自由度の位置および姿勢を特定する必要がない場合も多い。たとえば、円柱形状の把持対象物についてＺ軸回りの姿勢を考慮する必要はないので、このような場合には、位置情報のみを取得するとともに、実際の接触位置に基づいて位置情報を修正して把持を行うようにしてもよい。
【０１０３】
また、上記第１実施形態では、検出した接触位置に基づいて把持対象物の位置情報を修正する位置補正機能を使用するか否かを、ユーザによる制御装置４０への設定に基づいて決定するように構成し、上記第２実施形態では、位置情報と検出した接触位置との位置ずれの大きさに基づいて決定するように構成し、上記第３実施形態では、移動台車３５０の移動量、および、位置情報と検出した接触位置との位置ずれの大きさに基づいて決定するように構成した例を示したが、本発明はこれに限られない。本発明では、検出した接触位置に基づいて把持対象物の位置情報を修正する位置補正機能を使用するか否かを、上記以外の他の判断基準に基づいて決定してもよい。
【０１０４】
また、上記第１〜第３実施形態では、検出した接触位置に基づいて把持対象物の位置情報および姿勢情報を修正する例を説明したが、本発明はこれに限られない。本発明では、検出した接触位置に基づいて把持対象物の位置情報のみを修正するように構成してもよい。
【０１０５】
また、上記第１〜第３実施形態では、把持対象物１１０の把持動作における、多指ハンド部２０の力制御として、インピーダンス制御を行うことにより、多指ハンド部２０（指部２１、２２および２３）を把持対象物１１０の位置が変化しないような強さで（いわゆる柔らかい接触で）把持対象物１１０に接触させるように構成した例を示したが、本発明はこれに限られない。本発明では、インピーダンス制御以外の力制御を行うことにより、多指ハンド部を把持対象物の位置が変化しないような強さで（いわゆる柔らかい接触で）把持対象物に接触させるように制御してもよい。また、力制御を行うことなく多指ハンド部を把持対象物に接触させるように構成してもよい。
【０１０６】
また、上記第１〜第３実施形態では、対象物データベース４４と、画像処理部４３により取得された対象物の形状情報とを照合して把持対象物１１０の寸法情報を取得するように構成した例を示したが、本発明はこれに限られない。本発明では、寸法情報を取得することなく、画像処理部４３により取得された対象物の位置情報と、姿勢情報と、形状情報とに基づいて、把持対象物に対する接触動作を行うように構成してもよい。
【０１０７】
また、上記第１〜第３実施形態では、制御装置が対象物データベースを含むように構成した例を示したが、本発明はこれに限られない。たとえば、対象物データベースを外部のサーバに設けるとともに、制御装置が外部のサーバにアクセスして、把持対象物の寸法情報や把持形態データなどの対象物データベースの情報を取得するように構成してもよい。
【０１０８】
また、上記第３実施形態では、ロボット装置３００に４輪の移動台車３５０を設け、移動台車３５０に制御装置３４０を内蔵した例を示したが、本発明はこれに限られない。本発明では、移動台車を４輪にする必要はなく、移動台車に制御装置を内蔵する必要もない。移動台車は、３輪でもよいし、クローラ（無限軌道）型でもよく、レールなどの軌道上を移動するように構成してもよい。制御装置は、移動台車の内部に設けてもよいし、移動台車の外部に設けてもよい。
【符号の説明】
【０１０９】
１０  ロボットアーム
２０  多指ハンド部
２１ａ、２２ａ、２３ａ  力センサ（指先力センサ）
３０  視覚センサ（検出手段）
４０、２４０、３４０  制御装置（制御部）
４３  画像処理部（情報取得手段）
４４  対象物データベース（データベース）
１００、２００、３００  ロボット装置
３５０  移動台車
【図１】
0005505138.tif 000002
【図２】
0005505138.tif 000003
【図３】
0005505138.tif 000004
【図４】
0005505138.tif 000005
【図５】
0005505138.tif 000006
【図６】
0005505138.tif 000007
【図７】
0005505138.tif 000008