(57)【要約】【課題】把持の成否の判定基準を、物体やタスクに応じて適切な基準となるように柔軟に変更可能とすること。【解決手段】本発明に係るロボット１０の把持制御システムは、物体と、その物体に応じた目標把持状態を含む把持方法情報とが対応付けて記憶された把持方法ＤＢ３０と、把持方法ＤＢ３０に記憶された把持方法情報に従って物体をハンドにより把持させる際に当該把持の成否の判定に利用する判定基準情報で、目標把持状態に対するセンサ１１で検出される把持状態の一致度に関する判定基準情報が、物体と対応付けて記憶された把持判定基準ＤＢ４０と、把持判定基準ＤＢ４０を参照して、指令される物体に応じた判定基準情報を取得して把持判定基準情報として決定する把持判定基準決定器６０と、一致度が、決定された把持判定基準情報に基づいて把持の成否を判定する把持成否判定器７０と、を備える。【選択図】図１
2011224695.tif 000002
【特許請求の範囲】
【請求項１】
ハンドと、前記ハンドを動作させる動力を発生する動力発生手段と、前記ハンドによる把持状態を検出する把持状態検出手段と、を備えるロボットの把持制御システムであって、
把持対象物体と、当該把持対象物体に応じた目標把持状態を含む把持方法情報とが対応付けて記憶された把持方法データベースと、
前記把持方法データベースに記憶された前記把持方法情報に従って前記把持対象物体を前記ハンドにより把持させる際に当該把持の成否の判定に利用する判定基準情報であって、前記目標把持状態に対する前記把持状態検出手段で検出される把持状態の一致度に関する判定基準情報が、前記把持対象物体と対応付けて記憶された把持判定基準データベースと、
前記把持判定基準データベースを参照して、指令される把持対象物体に応じた判定基準情報を取得し、当該取得した判定基準情報を把持判定基準情報として決定する把持判定基準決定器と、
前記一致度が、前記把持判定基準決定器で決定された前記把持判定基準情報を満たしているか否かにより、把持の成否を判定する把持成否判定器と、を備える
ロボットの把持制御システム。
【請求項２】
前記ハンドにより前記把持対象物体を把持する把持作業を含む一連の作業から構成されるタスクを管理するタスク管理部を更に備え、
前記把持方法データベースには、
前記把持作業と、当該把持作業に応じた目標把持状態を含む把持方法情報とが対応付けて記憶されており、
前記把持判定基準データベースには、
前記把持作業の目標把持状態に対する前記把持状態検出手段で検出される把持状態の一致度に関する判定基準情報が、前記把持作業と対応付けて記憶されており、
前記把持判定基準決定器は、
前記把持判定基準データベースを参照して、前記タスク管理部から指令されるタスクに応じた判定基準情報を取得し、当該取得した判定基準情報を把持判定基準情報として決定する
ことを特徴とする請求項１記載のロボットの把持制御システム。
【請求項３】
把持の失敗原因を示す把持ＮＧ状態と、当該把持ＮＧ状態に応じたリカバリ動作情報とが対応付けて記憶されたリカバリ動作データベースと、
リカバリ動作を計画する動作計画器と、を更に備え、
前記把持成否判定器は、
前記一致度が、前記把持判定基準決定器で決定された前記把持判定基準情報を満たしておらず把持に失敗したと判定した場合には、前記把持状態検出手段で検出された当該失敗時の把持状態から、該当する把持ＮＧ状態を決定して出力し、
前記動作計画器は、
前記リカバリ動作情報データベースを参照して、前記把持成否判定器が出力した前記把持ＮＧ状態に応じたリカバリ動作情報を取得し、当該取得したリカバリ動作情報に基づいてリカバリ動作を計画する
ことを特徴とする請求項１又は２に記載のロボットの把持制御システム。
【請求項４】
前記把持状態検出手段は、
前記ロボットに備えた複数のセンサを用いて構成され、当該複数のセンサの検出値に基づいて、把持状態を検出する
ことを特徴とする請求項１乃至３いずれか１項に記載のロボットの制御システム。
【請求項５】
ハンドと、
前記ハンドを動作させる動力を発生する動力発生手段と、
前記ハンドによる把持状態を検出する把持状態検出手段と、
把持対象物体と、当該把持対象物体に応じた目標把持状態を含む把持方法情報とが対応付けて記憶された把持方法データベースと、
前記把持方法データベースに記憶された前記把持方法情報に従って前記把持対象物体を前記ハンドにより把持させる際に当該把持の成否の判定に利用する判定基準情報であって、前記目標把持状態に対する前記把持状態検出手段で検出される把持状態の一致度に関する判定基準情報が、前記把持対象物体と対応付けて記憶された把持判定基準データベースと、
前記把持判定基準データベースを参照して、指令される把持対象物体に応じた判定基準情報を取得し、当該取得した判定基準情報を把持判定基準情報として決定する把持判定基準決定器と、
前記一致度が、前記把持判定基準決定器で決定された前記把持判定基準情報を満たしているか否かにより、把持の成否を判定する把持成否判定器と、を備える
ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの把持制御システム及びロボットに関する。
【背景技術】
【０００２】
物体を把持するハンドを備えたロボットでは、把持対象の物体や、物体を把持する作業を含むようなタスクに応じて、適切な把持を行うことが求められる。ロボットは、所定の判定基準に従って、ハンドにより把持対象物体を掴んだか否かを判定し、掴んだと判定した場合に、ハンドが接続されたアームなどを駆動してその後の動作を行う。
【０００３】
ロボットの把持制御技術は、特許文献１乃至９などに開示されている。このうち、特許文献１乃至３には、物体把持の成否の判定を行う技術が開示されている。これらの技術では、一または複数の判定基準を予め定めた上で、それら判定基準に従って把持の成否を判定している。
【０００４】
例えば特許文献１には、把持制御の高速化を目的とする、移動型物体把持装置が開示されている。特許文献１に開示される装置による把持では、接触センサ、力センサ、距離センサなどのセンサを用いて、物体の目標変形率と把持力を把持の目標値として、目標値のどちらかが満足されれば把持完了と判断している。そして、把持の完了後に物体を持ち上げ、そのときの接触センサの値で把持の成否を判断し、把持失敗時には、パラメータを修正した上で、再度、把持を行う。把持成功時には、そのときの制御目標値やパラメータをデータベースに登録しておき、似たような物体を把持する際には、データベースに登録されている値を利用して把持を行う。
【０００５】
また、例えば特許文献９には、すべり検知時の再把持を目的とする、ロボットの把持制御方法が開示されている。特許文献９に開示される把持制御方法では、分布型触覚センサを用いてすべり検知を行い、物体の重心位置からすべり検知を計算する。そして、すべり検知後の再把持では、（１）ハンドの姿勢を変えて支える、（２）更にすべる場合には支持力を増大する、という２つの再把持方法を行う。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−３１０３８８号公報
【特許文献２】特開２００５−１２５４６２号公報
【特許文献３】特開平７−１６４３６３号公報
【特許文献４】特開平１０−２４９７６７号公報
【特許文献５】特開２００８−０４９４５９号公報
【特許文献６】特開２００９−１８４０３０号公報
【特許文献７】特開２００７−３３１０７５号公報
【特許文献８】特開２００３−０９４３６７号公報
【特許文献９】特開平７−１８６０８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ロボットがハンドにより物体を把持する際には、把持対象物体に関する情報が与えられる。例えば、把持対象物体がコップである場合には、コップの形状、把持する箇所、どのような位置姿勢で把持すればよいかなどの情報が、ユーザにより予め与えられる。また、把持の成否を判定するための判定基準についても、ユーザが予め定めた上で、ロボット把持システムに情報として記憶保持される。
【０００８】
把持の成否を判定するための基準項目としては、例えば、ハンドの指部の関節角度、指先の接触センサの検出値、指先間の距離などが挙げられる。例えば関節角度と接触センサ検出値に基づいて判定を行う構成とすれば、関節角度が所定の関節角度となり、かつ、複数の指先の接触センサのうち所定の位置の接触センサの検出値がオンを示す値となったことをもって、把持に成功したものと判定することができる。
【０００９】
しかしながら従来技術では、把持対象物体の種類やタスクに関わらず、固定した同一の判定基準を用いて把持の成否を行っていた。例えば関節角度、接触センサ、指先間距離といった３つの基準を判定基準として予め定めた上で、全ての物体に対して、この定めた判定基準を適用していた。
【００１０】
把持の成否の判定を行うための判定基準が物体やタスクによらず固定されたものであると、例えば把持対象物体が変更された場合やタスクが変更された場合などには、把持の成否を誤判定してしまうという問題があった。例えば、実際にはユーザが意図したように把持できていないにも関わらず把持に成功したと誤って判定してしまうことや、そもそも把持できていないにも関わらず把持に成功したと誤って判定してしまうことなどがあった。
【００１１】
例えばロボットにドアノブを把持させることを考え、ハンドの指先の接触センサがオンとなり、かつ、関節角度が所定の関節角度となることを把持の成功条件として定める。ロボットはドアノブを把持するためにドアノブの認識処理を行うことがあるが、この際の認識処理の誤差に起因して、ハンドをドアノブに実際に近づけた際には、真のドアノブの位置姿勢からズレが生じる。このため、このようなズレのある状況において、例えばロボットがハンドの指関節の節部でドアノブを握ってしまうと、指先の接触センサはオンにはならないため、把持は失敗したものと判定してしまう。すなわち、ハンドの節部による把持ではあるものの、ドアノブの把持自体には成功しているにもかかわらず、判定基準が物体に対して適切でないために、把持は失敗だと判定してしまう。
【００１２】
ドアノブの把持に失敗したと誤って判定した場合には、ドアノブからハンドを一旦離した後に再び把持させる、或いは、把持の失敗をユーザに通知させる、などのリカバリ動作をロボットに実行させることが考えられる。しかし、ユーザから見ればロボットは実際にはドアノブを把持できていたのであるから、このようなリカバリ動作は不要なものと考えられ、余計な動作となる。
【００１３】
図９を参照して、判定基準を固定とした場合の問題を、より具体的に説明する。なお、図９は、ロボットハンド４１０が、物体４２０を把持する際の状況を示す側面図である。ロボットハンド４１０は、掌部と複数本の指から構成され、各指は複数の関節を介してリンクにより接続されている。
【００１４】
例えば把持の成否の判定基準として、指の関節角度のみを採用していた場合に、図９（ａ）に、ユーザが想定する、正しい把持の状況を示す。これに対して従来技術では、図９（ｂ）に示す状況においても図９（ａ）で示す状況と同じ関節角度となっているために、把持は成功したものと誤判定してしまう。すなわち、実際には不適切な位置で物体４２０を把持してしまっているにも関わらず、把持判定基準である関節角度が同じであるために、把持に成功したものと誤判定してしまう。このような物体を把持する場合には、利用する把持判定基準としては、指の関節角度だけでは不十分であり、例えば指先の接触センサなどについても把持判定基準として利用することが必要となる。
【００１５】
また、図１０及び図１１を参照して、物体やタスクによらず把持判定基準を固定した場合の問題を、より具体的に説明する。なお、図１０及び図１１では、取っ手の付いたコップ５２２を、３本指のハンド５１０により把持する場合を例に説明する。
【００１６】
例えば、取っ手の付いた物体を把持して、その向きを揃えてから片付けるというタスクを考える。ここで、単に、物体を「取って」、誰かに「渡す」だけのタスクであれば、把持に際しては物体の向きは気にせずに、しっかりとした力で把持することが重要となる。しかし例えば図１０に示すように、コップ５２２を「取って」から、コップ５２１と５２３の間に置いて片付けるようなタスクである場合には、コップ５２２を把持する際の向きについても考慮する必要がある。
【００１７】
すなわちコップ５２２を取ってからその位置姿勢を考慮せずに単に置くだけのタスクであれば、図１１（ａ）及び図１１（ｂ）に示すいずれの把持方法であっても把持自体には成功していると見なすことができる。しかし、コップ５２２を取ってから決められた場所に片付ける場合には、図１１（ｂ）に示した把持では、片付けが上手くできるとは限らない。すなわち、図１１（ｂ）に示すように、物体を持つこと自体は成功しているが、物体とハンドとの相対的な配置関係がタスクに対する判定基準として求められるような場合には、この判定基準をタスクに応じたものに変更しないと誤判定してしまう。このため、このような場合には、例えば物体をどの方向から掴むかといった掴み方をも考慮した把持判定基準を採用する必要がある。
【００１８】
従って、本発明が解決する第一の課題は、把持の成否の判定基準を、物体やタスクに応じて適切な基準となるように柔軟に変更可能とすることである。
【００１９】
また、物体把持の成否を判定するロボットでは、把持失敗と判定した場合には、再び把持を行うなどのリカバリ動作を行うことが求められる。しかし、判定基準が物体やタスクによらず固定されていると、その判定基準で満たされないとされた失敗原因が、本来の原因と異なる場合がある。以下、図１２を参照して、この問題について説明する。
【００２０】
例えば図１２（ａ）に、ハンド４１０により物体４３０を正しく把持している状況を示す。図１２に示すように、例えば断面が円形状であるような物体４３０を把持する場合には、関節角度及び接触力を判定基準として用いることで、把持の成否判定を正しく行うことができる。
【００２１】
ここで、関節角度は考慮せずに接触力のみを判定基準として利用していたものとして、最初の把持の際の状況が、図１２（ｂ）に示す状況であるものとする。図１２（ｂ）では、物体４３０と指との接触力が弱く、かつ、指先の先端リンクが開いている状況を示しており、この状況では、接触力が弱いために、把持に失敗したと判定されることになる。しかし、把持失敗後のリカバリ動作の再把持の際に、接触力のみを強くすると、指先の先端リンクは開いたままであるので、物体４３０を押し出してしまい、把持に再び失敗することになる（図１２（ｃ））。すなわち、最初の把持の際に、関節角度が目標値とは実際には異なるものであったにも関わらず、その後のリカバリ動作においても接触力のみを考慮して再把持を行ったため、把持の失敗を繰り返してしまうという問題がある。
【００２２】
また、物体やタスクに応じて判定基準自体を変更したとしても、把持に失敗した後のリカバリ動作が、予め決定され固定されたリカバリ動作であっては、把持の失敗原因を踏まえておらず、再び把持に失敗する可能性がある。さらに、例えば指関節のみを動作すればよいにもかかわらず、アームまでをも動作させるなどのリカバリ動作を行っては、過剰なリカバリ動作を招くことになり、非効率なリカバリ動作となってしまう。
【００２３】
従って、本発明が解決する第二の課題は、把持に失敗したと判定した場合に、失敗した際の状態に応じて適切なリカバリ動作を計画可能とすることである。
【課題を解決するための手段】
【００２４】
本発明に係る第一の態様のロボットの把持制御システムは、ハンドと、前記ハンドを動作させる動力を発生する動力発生手段と、前記ハンドによる把持状態を検出する把持状態検出手段と、を備えるロボットの把持制御システムであって、把持対象物体と、当該把持対象物体に応じた目標把持状態を含む把持方法情報とが対応付けて記憶された把持方法データベースと、前記把持方法データベースに記憶された前記把持方法情報に従って前記把持対象物体を前記ハンドにより把持させる際に当該把持の成否の判定に利用する判定基準情報であって、前記目標把持状態に対する前記把持状態検出手段で検出される把持状態の一致度に関する判定基準情報が、前記把持対象物体と対応付けて記憶された把持判定基準データベースと、前記把持判定基準データベースを参照して、指令される把持対象物体に応じた判定基準情報を取得し、当該取得した判定基準情報を把持判定基準情報として決定する把持判定基準決定器と、前記一致度が、前記把持判定基準決定器で決定された前記把持判定基準情報を満たしているか否かにより、把持の成否を判定する把持成否判定器と、を備えるものである。
【００２５】
これにより、把持判定基準データベースと把持判定基準決定器を備え、把持の成否に用いる判定内容を動的に切り替え可能としたことで、物体に応じて、適切な判定基準に柔軟に変更することができる。
【００２６】
また、前記ハンドにより前記把持対象物体を把持する把持作業を含む一連の作業から構成されるタスクを管理するタスク管理部を更に備え、前記把持方法データベースには、前記把持作業と、当該把持作業に応じた目標把持状態を含む把持方法情報とが対応付けて記憶されており、前記把持判定基準データベースには、前記把持作業の目標把持状態に対する前記把持状態検出手段で検出される把持状態の一致度に関する判定基準情報が、前記把持作業と対応付けて記憶されており、前記把持判定基準決定器は、前記把持判定基準データベースを参照して、前記タスク管理部から指令されるタスクに応じた判定基準情報を取得し、当該取得した判定基準情報を把持判定基準情報として決定するものとしてもよい。これにより、指令されるタスクに対しても、把持の成否に用いる判定内容を動的に切り替えることができる。
【００２７】
さらにまた、把持の失敗原因を示す把持ＮＧ状態と、当該把持ＮＧ状態に応じたリカバリ動作情報とが対応付けて記憶されたリカバリ動作データベースと、リカバリ動作を計画する動作計画器と、を更に備え、前記把持成否判定器は、前記一致度が、前記把持判定基準決定器で決定された前記把持判定基準情報を満たしておらず把持に失敗したと判定した場合には、前記把持状態検出手段で検出された当該失敗時の把持状態から、該当する把持ＮＧ状態を決定して出力し、前記動作計画器は、前記リカバリ動作情報データベースを参照して、前記把持成否判定器が出力した前記把持ＮＧ状態に応じたリカバリ動作情報を取得し、当該取得したリカバリ動作情報に基づいてリカバリ動作を計画するようにしてもよい。これにより、把持ＮＧ状態に対応したリカバリ動作情報が記憶されたリカバリ動作データベースを更に備え、動作計画器はリカバリ動作データベースを参照してリカバリ動作を計画することで、把持の失敗原因に応じた最適なリカバリ動作を計画することができる。
【００２８】
また、前記把持状態検出手段は、前記ロボットに備えた複数のセンサを用いて構成され、当該複数のセンサの検出値に基づいて、把持状態を検出するとよい。
【００２９】
本発明に係る第二の態様のロボットは、ハンドと、前記ハンドを動作させる動力を発生する動力発生手段と、前記ハンドによる把持状態を検出する把持状態検出手段と、把持対象物体と、当該把持対象物体に応じた目標把持状態を含む把持方法情報とが対応付けて記憶された把持方法データベースと、前記把持方法データベースに記憶された前記把持方法情報に従って前記把持対象物体を前記ハンドにより把持させる際に当該把持の成否の判定に利用する判定基準情報であって、前記目標把持状態に対する前記把持状態検出手段で検出される把持状態の一致度に関する判定基準情報が、前記把持対象物体と対応付けて記憶された把持判定基準データベースと、前記把持判定基準データベースを参照して、指令される把持対象物体に応じた判定基準情報を取得し、当該取得した判定基準情報を把持判定基準情報として決定する把持判定基準決定器と、前記一致度が、前記把持判定基準決定器で決定された前記把持判定基準情報を満たしているか否かにより、把持の成否を判定する把持成否判定器と、を備えるものである。
【００３０】
これにより、把持の成否の判定基準を、物体やタスクに応じて適切な基準となるように柔軟に変更することができる。
【発明の効果】
【００３１】
本発明によれば、把持の成否の判定基準を、物体やタスクに応じて適切な基準となるように柔軟に変更可能とするロボットの把持制御システム及びロボットを提供することができる。
また、把持に失敗したと判定した場合に、失敗した際の状態に応じて適切なリカバリ動作を計画可能とするロボットの把持制御システム及びロボットを提供することができる。
【図面の簡単な説明】
【００３２】
【図１】実施の形態１に係るロボットの概略構成を示す全体図である。
【図２】実施の形態１に係るロボット制御システムの構成図である。
【図３】実施の形態１に係る把持成否判定のフロー図である。
【図４】実施の形態２に係るロボット制御システムの構成図である。
【図５】実施の形態２に係るリカバリ動作データベースの格納情報を説明するための図である。
【図６】実施の形態２に係るリカバリ動作計画のフロー図である。
【図７】実施の形態２に係る把持失敗時のリカバリ動作を含むフロー図である。
【図８】実施の形態３に係るロボット制御システムの構成図である。
【図９】従来技術の問題を説明するための図である。
【図１０】従来技術の問題を説明するための図である。
【図１１】従来技術の問題を説明するための図である。
【図１２】従来技術の問題を説明するための図である。
【発明を実施するための形態】
【００３３】
実施の形態１．
以下、図面を参照して本発明の実施の形態について説明する。なお、以下では、全ての図面において同様の要素には同一の符号を付し、重複する説明を省略する。また、本文中の説明においては、必要に応じそれ以前に述べた符号を用いるものとする。
【００３４】
図１は、本実施の形態に係るロボットの概略構成を示す全体図である。
図１では、ロボット１０の上体部を例示しており、ロボット１０は、胴体１と、胴体１に連結されたアーム２と、アーム２に連結されたハンド３と、を備えている。アーム２は、複数の関節と、関節を介して接続される複数のリンクと、を備えている。また、ハンド３は、手首関節を介してアーム２の端部に連結されている。
【００３５】
ハンド３は、掌部と、関節を介して掌部に接続される複数本の指と、を備えている。各指は、複数の指関節と、指関節を介して接続される複数のリンクと、を備えている。各関節に備えられたモータなどのアクチュエータ（不図示）が駆動されることで、各関節は、所望の角度及び角速度で動作する。その結果、アーム２の位置及び姿勢と、ハンド３の位置及び姿勢と、指の位置及び姿勢と、を所望の位置及び姿勢に制御することができる。すなわち、アクチュエータ１２は、ロボット１０が動作する際の、動力発生手段に相当する。ロボット１０は、ハンド３により把持対象物体４（以下、単に、物体４と称する場合がある。）を把持する。また、物体４の把持に関する作業を含む一連の作業から成るタスクを行う。
【００３６】
図２は、本実施の形態に係るロボット制御システムの構成図である。
ロボット制御システム１００は、ロボット１０と、制御器２０と、把持方法データベース（ＤＢ）３０と、把持判定基準データベース（ＤＢ）４０と、タスク管理部５０と、把持判定基準決定器６０と、把持成否判定器７０と、を備えている。
【００３７】
ロボット１０は、物体４の把持状態を検出する把持状態検出手段としてのセンサ１１と、各関節を駆動するモータや減速機などから構成されるアクチュエータ１２と、を備えている。
【００３８】
センサ１１は、ロボット１０に搭載された複数のセンサを用いて構成され、ロボット１０がハンド３により物体４を把持する際の、ハンド３自体の状態や、物体４自体の状態を含む把持状態を検出する。センサ１１は、ロボット１０の各関節の関節角度を検出するエンコーダ、ロボット１０が把持している物体４との接触を検出する触覚センサ、物体４を把持する際に生じる接触力（指部に働く力・モーメント）を検出する力覚センサ、物体４の存在、距離、形状などのハンド３の近接情報を検出する近接覚センサなどの、各種のセンサを含む。なお、センサはこれに限定されず、物体認識用のカメラや測距センサなどを含むものとしてもよい。
【００３９】
触覚センサや力覚センサは、例えばハンド３の指先の腹部に備えることができ、近接覚センサは、例えば、ハンド３の指先などに備えることができる。また、各エンコーダの出力値から、アーム２、ハンド３、及び各指の位置及び姿勢を算出することができ、また、指を構成するリンクについて、リンク間距離（指同士の距離）を算出することができる。
【００４０】
制御器２０は、ロボット１０のアクチュエータ１２の動作を制御するための、制御指令を生成する。物体４を把持する際には、把持方法ＤＢ３０に格納されたセンサ１１の目標値が制御器２０に与えられる。制御器２０は、与えられる目標値と検出値に基づいて、フィードバック制御を行う。
【００４１】
把持方法ＤＢ３０には、ロボット１０に物体４をどのようにして把持させるのか、その目標把持状態を含む把持方法情報が記憶されている。把持方法情報は、物体４に対応付けて記憶されている。また、ロボット１０に把持作業を含むタスクを行わせる場合には、把持方法情報はその把持作業に関する目標把持状態を含み、把持作業に対応付けて記憶されている。把持方法情報は、物体４やタスクに応じて、把持の態様や、物体４を把持する際の制御に用いるセンサ１１や、そのセンサ１１の目標値を示す情報（目標把持状態）を含む。なお、把持方法情報は、物体４ごとに対応付けて記憶するものとしてもよいし、物体４のカテゴリーごとに対応付けて記憶するものとしてもよい。さらに、タスク及び物体４を組み合わせて、これら組合せに把持方法情報を対応付けて記憶するものとしてもよい。
【００４２】
より具体的には、把持方法情報は、例えば、物体４を握る、挟む、摘むなどといった把持の態様と、その態様により物体４を把持する際の、センサ１１の目標値（関節角度、関節トルク、指先力（指先に働く接触力）、ハンドの位置姿勢など）などを含んでいる。例えば、指先が互いに平行となるように物体４を挟んで把持する場合には、挟むという把持の態様と、物体４を挟む際の関節角度や指リンク間距離の目標値などが、物体４ごとに予め設定して記憶される。また、例えば、円筒形状の物体４を握り込んで把持する場合には、握り込むという把持の態様と、握り込む際の関節角度や接触力の目標値などが設定される。
【００４３】
把持判定基準ＤＢ４０には、把持方法ＤＢ２０に記憶された把持方法情報に従って物体４をハンド３により把持させる際に、その把持の成否の判定に利用する判定基準情報が記憶されている。判定基準情報は、目標把持状態に対するセンサ１１で検出される把持状態の一致度に関する情報であり、物体４と対応付けて記憶されている。また、ロボット１０に把持作業を含むタスクを行わせる場合には、その把持作業の目標把持状態についての判定基準情報も、把持作業に対応付けて把持判定基準ＤＢ４０に記憶される。
【００４４】
具体的には、把持判定基準ＤＢ４０には、把持方法ＤＢ３０に記憶されている把持方法情報に関して、いずれのセンサ１１を判定基準として利用するのか、また、その利用するセンサ１１の値についてどのような値を判定基準値とするのか、を示す判定基準情報が記憶されている。すなわち、判定基準情報は、物体４やタスクに応じて、物体４を把持する際に利用する判定基準やその判定基準値を示す情報である。
【００４５】
より具体的には、判定基準情報は、物体４の把持の成否を判定する際に用いるセンサ１１や、そのセンサ１１の判定基準値（関節角度、リンク間距離、接触センサへの接触の有無、指先力、物体４との相対位置・姿勢など）などを含む。詳細は後述するが、判定基準値は、目標値とセンサ１１の検出値との一致度についての閾値であり、例えば、一致度が閾値以上となる場合には、判定基準を満たして把持に成功したと判定され、閾値より小さい場合には、判定基準を満たしておらず把持に失敗したと判定される。
【００４６】
タスク管理部５０は、把持判定基準決定器６０の上位に位置し、ロボット１０に実行させる一連の作業からなるタスクを管理する。ここで、タスクは、ロボット１０がハンド３により物体４を把持する作業を含んでいる。ユーザは、ロボット１０に備えられたインタフェース（不図示）を介して、タスク管理部５０に対して、ロボット１０に把持させる物体４、その把持方法、及びロボット１０に実行させたいタスクなどを入力することができる。タスク管理部５０は、把持対象となる物体４を示す情報と、その形状や位置・姿勢などを示す情報などを、把持判定基準決定器６０へと指令する。また、タスク管理部５０は、タスクを指令する場合には、上記の情報に加えて、タスクを構成する一連の作業のうちで把持に関する作業を示す情報などについても、把持判定基準決定器６０へと指令する。
【００４７】
タスクとしては、例えば、物体４を取ってから所定の場所に置く、取ってから所定の位置に片付ける、握ってから所定の方向に開けるなどの物体４を把持する作業を含むタスクが入力されるが、これに限定されず、他の把持に関する作業を含むタスクでもよい。
【００４８】
把持判定基準決定器６０は、把持判定基準ＤＢ４０を参照して、タスク管理部５０からの指令に応じた判定基準情報を取得し、その取得した判定基準情報を、把持判定基準情報として決定する。より具体的には、把持判定基準決定器６０は、把持判定基準ＤＢ４０に記憶された判定基準及び判定基準値のうちで、いずれの判定基準及び判定基準値を把持の成否の判定に利用するのかを決定する。把持判定基準決定器６０は、決定した把持判定基準情報（判定基準及び判定基準値）を、把持成否判定器７０に対して出力する。
【００４９】
把持成否判定器７０は、把持方法ＤＢ３０に記憶された把持方法情報と、センサ１１により検出される把持状態と、把持判定基準決定器６０で決定された把持判定基準情報と、に基づいて、把持の成否を判定する。
【００５０】
より具体的には、把持成否判定器７０は、センサ１１により検出される検出値と把持方法ＤＢ３０に記憶された目標値との一致度が、把持判定基準決定器６０で把持判定基準情報として決定された判定基準値を満たしているか否かを判定する。把持成否判定器７０は、一致度が把持判定基準を満たしていた場合には把持に成功したものと判定し、把持判定基準を満たしていない場合には把持に失敗したものと判定し、その把持の成否判定の結果を出力する。一致度の算出は、例えば、把持方法ＤＢ３０に記憶された目標値と、センサ１１による検出値との誤差（絶対値）により求めてもよいし、或いは、目標値に対する到達度（相対値）として求めてもよい。なお、到達度は、（現在値−初期値）／（目標値−初期値）により求めることができる。
【００５１】
また、把持成否判定器７０は、把持に失敗したと判定した場合には、失敗時のセンサ１１の検出値から把持ＮＧ状態を決定し、その決定した把持ＮＧ状態を出力するものとしてもよい。なお、把持ＮＧ状態の詳細については後述する。
【００５２】
図３は、本実施の形態に係る把持成否判定のフロー図である。
タスク管理部５０が、把持判定基準決定器６０に対して把持動作を指令する（Ｓ１０１）。把持動作指令は、物体４と、把持方法（センサ１１及びその目標値）と、タスクと、を示す情報を含む。
【００５３】
把持判定基準決定器６０は、タスク管理部５０からの指令に基づき、物体４の把持に利用する把持判定基準情報（判定基準及び判定基準値）を決定する（Ｓ１０２）。把持判定基準決定器６０は、決定した把持判定基準情報を、把持成否判定器７０に対して出力する。
【００５４】
制御器２０は、タスク管理部５０により指令された把持動作指令を受けて、把持方法ＤＢ３０を参照して、ロボット１０による把持動作制御を行う（Ｓ１０３）。
【００５５】
把持成否判定器７０は、把持判定基準決定器６０により決定された把持判定基準情報（判定基準及び判定基準値）について、各判定基準などを満足するか否かを判定していく（Ｓ１０４〜Ｓ１０６）。ここで、判定基準の個数Ｎや判定基準項目の順番などは、把持判定基準決定器６０により決定されことで、判定基準決定器６０が把持の成否の判定に用いる内容が、動的に変更されることになる。
【００５６】
Ｓ１０４〜Ｓ１０６での条件判断の結果、全ての判定基準を満足する場合には、把持は成功であるものと判定する（Ｓ１０７）。一方で、いずれか１つの判定基準について満足しない場合には、把持は失敗であるものと判定し（Ｓ１０８）、また、その失敗の原因（把持ＮＧ状態）を出力する。
【００５７】
以上説明したように、本実施の形態では、把持判定基準ＤＢ４０と把持判定基準決定器６０を備え、把持の成否に用いる判定内容を動的に切り替え可能としたことで、物体４やタスクに応じて、適切な判定基準に柔軟に変更することができる。これにより、実際には把持できているのに、把持できていないと厳しく判定してしまう場合や、実際には把持できていないのに、把持できていると甘く判定してしまう場合などの、誤判定を抑制することができる。
【００５８】
実施の形態２．
図４は、本実施の形態に係るロボット制御システムの構成図である。なお、図に示すロボット制御システム２００が備える要素のうち、ロボット１０、制御器２０、把持方法ＤＢ３０、把持成否判定器７０は、上述した実施の形態１で説明した内容と同様の機能及び構成を有するため、以下では、その詳細な説明を省略する。
【００５９】
リカバリ動作データベース（ＤＢ）８０には、把持ＮＧ状態と、その把持ＮＧ状態に応じたリカバリ動作情報とが対応付けて記憶されている。把持ＮＧ状態とは、把持に失敗したと判定した場合に、その失敗の原因を示す情報である。より具体的には、把持ＮＧ状態は、把持に失敗したと判定したときに、把持方法ＤＢ３０に記憶されている把持方法情報に関して、センサ１１により検出される状態がどのような状態であったかを示す情報である。把持成否判定器７０は、把持失敗判定時のセンサ１１の検出値に基づいて、該当する把持ＮＧ状態を出力する。なお、把持ＮＧ状態として、把持方法ＤＢ３０に記憶される把持方法情報に応じた適切な内容が、ユーザにより予め設定される。
【００６０】
また、リカバリ動作情報は、把持の失敗の判定に続いて実行するリカバリ動作として、その把持の失敗の原因（把持ＮＧ状態）に対して適切となるリカバリ動作の内容を示す情報である。より具体的には、リカバリ動作情報は、ロボット１０の各部位（アーム２、ハンド３など）の動作指令である。
【００６１】
図５は、本実施の形態に係るリカバリ動作データベースの格納情報を説明するための図である。例えば、把持ＮＧ状態が「関節角度が目標値と異なる」である場合には、アーム２を「正しい位置へ動作」させ、かつ、ハンド３を「再把持」させる動作が、適切なリカバリ動作となる。また、把持ＮＧ状態によっては、リカバリ動作としては、例えば、ハンド３を動作させることで足り、アーム２については動作させる必要がない場合がある。すなわち、このような場合にはアーム２までも動作させては過大なリカバリ動作となるため、把持ＮＧ状態の内容に応じて、過大なリカバリ動作とならない適切な動作内容が、ユーザにより予め設定される。
【００６２】
動作計画器９０は、リカバリ動作ＤＢ８０を参照して、把持成否判定器７０が出力した把持ＮＧ状態に対応するリカバリ動作情報を取得し、取得したリカバリ動作情報に基づく、ロボット１０の動作計画を行う。
【００６３】
図６は、本実施の形態に係るリカバリ動作計画のフロー図である。
動作計画器９０は、把持成否判定器７０が出力した把持ＮＧ状態を取得する（Ｓ２０１）。
そして、リカバリ動作ＤＢ８０を参照して、取得した把持ＮＧ状態に対応するリカバリ動作情報を取得する（Ｓ２０２）。
そして、取得したリカバリ動作情報に基づく、ロボット１０の動作計画を行い、センサ１１により物体４を再度認識する（Ｓ２０３）。
そして、アーム２を動作させ、把持に適した正しい位置へと動作させる（Ｓ２０４）。そして、物体４をハンド３により再把持させる（Ｓ２０５）。
なお、Ｓ２０３〜Ｓ２０５で示したリカバリ動作としては、Ｓ２０３での物体４の再認識は必ずしも実行させる必要はなく、アーム２を動作させるなどの必要がある場合にのみ行えばよい。
【００６４】
図７は、本実施の形態に係る把持失敗時のリカバリ動作を含むフロー図である。なお、Ｓ３０１〜Ｓ３０４における処理は、図３で説明したＳ１０１〜Ｓ１０６と同様の処理を示すため以下ではその詳細な説明を省略し、Ｓ３０５の処理から説明する。
【００６５】
把持成否判定器７０は、把持方法ＤＢ３０に記憶された把持方法情報から、ロボット１０が物体４の把持に失敗したと判定し（Ｓ３０５）、把持ＮＧ状態を出力する。
動作計画器９０は、把持成否判定器７０が出力した把持ＮＧ状態を取得する（Ｓ３０６）。
動作計画器９０は、把持ＮＧ状態に基づいて、リカバリ動作ＤＢ８０を参照して、リカバリ動作情報を取得する（Ｓ３０７）。
動作計画器９０は、取得したリカバリ動作情報に基づいて、リカバリ動作を計画する（Ｓ３０８）。
動作計画器９０は、必要に応じて、センサ１１による物体４の認識処理を行い、その形状や位置・姿勢などを取得する（Ｓ３０９）。
動作計画器９０は、動作計画に基づいて、把持に適した正しい位置・姿勢へとアーム２を動作させる（Ｓ３１０）。
動作計画器９０は、アーム２の動作を停止した後、再び、物体４の把持動作を行わせる（Ｓ３１１）。以後、ロボット１０は、把持の成否の判定を再び行い、再度、把持に失敗した場合には、Ｓ３０５〜Ｓ３１１の処理を繰り返し行う。
【００６６】
以上説明したように、本実施の形態では、把持ＮＧ状態に対応したリカバリ動作情報が記憶されたリカバリ動作ＤＢ８０を備え、動作計画器９０はリカバリ動作ＤＢ８０を参照してリカバリ動作を計画することで、把持の失敗原因に応じた最適なリカバリ動作を計画することができる。
【００６７】
実施の形態３．
図８は、本実施の形態に係るロボット制御システムの構成図である。
図に示すロボット制御システム３００が備える要素のうち、ロボット１０、制御器２０、把持方法ＤＢ３０、把持成否判定器７０は、上述した実施の形態１で説明した内容と同様の機能及び構成を有しており、リカバリ動作ＤＢ８０、動作計画器９０は、上述した実施の形態２で説明した内容と同様の機能及び構成を有している。なお、これらの機能の一部又は全ては、ロボット１０自体に搭載するものとしてもよい。
【００６８】
従って、本実施の形態によれば、物体４を把持する際には、把持の成否に用いる判定内容を動的に切り替え可能としたことで、物体４やタスクに応じて、適切な判定基準に柔軟に変更することができる。また、把持に失敗したと判定した際には、把持の失敗原因に応じた最適なリカバリ動作を計画することができる。これにより、把持に要する一連の動作を、従来と比べてより効率的に行うことができる。
【００６９】
なお、上述した実施の形態では、把持方法ＤＢ３０と把持判定基準ＤＢ４０は、２つの異なるデータベースとして説明したが、本発明はこれに限定されず、把持方法情報と判定基準情報を含む１つの把持情報データベースとして構成してもよい。
【００７０】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００７１】
１  胴体、
２  アーム、
３  ハンド、
４  把持対象物体、
１１  センサ、
１２  アクチュエータ、
１０  ロボット、
２０  制御器、
３０  把持方法データベース（ＤＢ）、
４０  把持判定基準データベース（ＤＢ）、
５０  タスク管理部、
６０  把持判定基準決定器、
７０  把持成否判定器、
８０  リカバリ動作データベース（ＤＢ）、
９０  動作計画器、
１００、２００、３００  ロボット制御システム、
４１０、５１０  ハンド、
４２０、５２１〜５２４  把持対象物体
【図１】
2011224695.tif 000003
【図２】
2011224695.tif 000004
【図３】
2011224695.tif 000005
【図４】
2011224695.tif 000006
【図５】
2011224695.tif 000007
【図６】
2011224695.tif 000008
【図７】
2011224695.tif 000009
【図８】
2011224695.tif 000010
【図９】
2011224695.tif 000011
【図１０】
2011224695.tif 000012
【図１１】
2011224695.tif 000013
【図１２】
2011224695.tif 000014