説明

把持判別装置および把持判別方法

【課題】把持対象である物体が把持可能であるか否かを正確に判定することが可能な把持判別装置を提供する。
【解決手段】本発明の把持判別装置は、把持対象である物体を把持部によって把持した状態で、把持部を移動させる目標軌道を生成する計画部と、目標軌道に基づいて駆動された把持部の動きを計測する観測部と、目標軌道から導出される把持部の目標値および観測部により計測された実測値に基づいて、把持対象である物体が把持可能であるか否かを判別する把持状態判別部と、把持状態判別部による判別結果に基づいて、把持部の把持する物体の把持状態を変更する把持状態変更部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、把持判別装置および把持判別方法に関する。
【背景技術】
【0002】
近年、自律的に移動し、様々な作業を行うロボットが実現されつつある。このような自律移動型ロボットには、例えば、原子力プラント等におけるメンテナンス作業や災害現場での救助作業、宇宙空間での作業等のように、人間の立ち入りが困難な環境での作業の遂行が期待されている。
【0003】
一方で、自律移動ロボットを家庭内へ導入し、家庭内でユーザの介助を行わせることについても、期待が高まっている。例えば、高齢者や車椅子利用者の生活支援として、ユーザにとっては身体的に困難を伴う作業を自律移動型ロボットに代行させることで、ユーザの負荷を軽減することができる。
【0004】
例えば、ロボットに部屋の片付けを行わせる場合、ロボットは、部屋に置かれた物体を把持して、所定の位置に移動させる動作を行う。このとき、移動してはいけない物体や、移動できない物体、把持できない物体等については片付けを行わないようにするため、ロボットは、移動させようとする物体が把持してもよいものであるか否か、あるいは移動可能なものであるか否かを判断する必要がある。このような判断は、片付け以外の場面においても、物体を把持する動作や把持した物体を移動させる動作を行う際には重要となる。
【0005】
ここで、ロボットハンド等により物体を把持する把持制御方法についても、様々な方法が提案されている。例えば、特許文献1には、算出した把持位置姿勢がアームおよびハンドの可動範囲外であった場合に、可動範囲内での把持位置姿勢に算出された把持位置姿勢を修正する把持位置姿勢決定方法が開示されている。また、特許文献2には、物体を置く動作中において算出した床反力が閾値を超えるか否かを判定して、物体の形状や物体を把持する方向に関係なく、物体を離す適切なタイミングを判定するロボットハンド装置が開示されている。このような技術によって、ロボットハンドを用いて、物体を確実に移動させたり、衝撃を与えることなく移動させた物体を置いたりすることができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−56513号公報
【特許文献2】特開2007−276112号公報
【特許文献3】特開2009−269102号公報
【特許文献4】特開2007−30054号公報
【特許文献5】特開2009−36557号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、上記特許文献1では、物体を把持できるか否かを幾何学的に判定して、アームおよびハンドの把持位置姿勢を制御している。このため、例えば部分的に視認された椅子の脚等のような物体の一部を幾何学的には把持可能であっても、物体全体(例えば椅子自体)を移動させることはできない状況が生じる等、物体の把持の可否判定を誤る可能性があるという問題があった。
【0008】
また、上記特許文献2では、物体に衝撃を与えることなく、物体を置くことを目的としており、その物体を把持することが可能かどうかを判定することについては考慮されていない。
【0009】
このように、従来の技術により、物体を把持し、移動させる動作を行うことはできるが、その把持対象である物体が把持可能かどうか、また移動可能かどうかについては考慮されていない。したがって、ロボットハンドが把持してはいけない物体や、移動できない物体等を把持して移動させようとしてしまう可能性もある。また、ロボットハンドにより物体を無理やり把持して移動させようとすると、その物体を破損する恐れや、ロボットハンドの破損が生じる恐れもある。
【0010】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、把持対象である物体が把持可能であるか否かを正確に判定することが可能な、新規かつ改良された把持判別装置および把持判別方法を提供することにある。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明のある観点によれば、把持対象である物体を把持部によって把持した状態で、把持部を移動させる目標軌道を生成する計画部と、目標軌道に基づいて駆動された把持部の動きを計測する観測部と、目標軌道から導出される把持部の目標値および観測部により計測された実測値に基づいて、把持対象である物体が把持可能であるか否かを判別する把持状態判別部と、把持状態判別部による判別結果に基づいて、把持部の把持する物体の把持状態を変更する把持状態変更部と、を備える、把持判別装置が提供される。
【0012】
ここで、把持状態判別部は、目標値と実測値との偏差が所定値以上となったとき、物体は把持不能と判別してもよい。
【0013】
また、観測部は、把持部の位置を計測し、把持状態判別部は、観測部により計測された把持部の実測位置と、目標軌道から導出した把持部の目標位置との偏差に基づいて、把持対象である物体が把持可能であるか否かを判別してもよい。
【0014】
あるいは、観測部は、物体を把持した状態で把持部を移動させたときに把持部に作用する作用力を計測し、把持状態判別部は、観測部により計測された把持部に作用する実測作用力と、目標軌道から導出した把持部に作用する目標作用力との偏差に基づいて、把持対象である物体が把持可能であるか否かを判別してもよい。
【0015】
また、観測部は、物体を把持したときに把持部と物体との間に生ずる滑りを計測し、把持状態判別部は、把持部が物体を把持する把持力が許容値以上であり、かつ観測部による計測結果より把持部と物体との間に滑りが生じている場合、把持対象である物体は把持不能と判断してもよい。
【0016】
把持状態変更部は、把持状態判別部により物体が把持不能と判別されたとき、把持部による物体の把持を中止してもよい。
【0017】
さらに、把持判別装置は、把持状態判別部により把持可能性が判別された物体の判別結果と、空間内における当該物体の位置とを、関連付けて環境マップとして記憶する把持状態記憶部を備えてもよい。
【0018】
このとき、計画部は、把持状態記憶部より、把持対象である物体が把持不能と判別されているか否かを判定し、物体が把持不能と判別されている場合には、当該物体を把持しないことを決定してもよい。
【0019】
また、上記課題を解決するために、本発明の別の観点によれば、把持対象である物体を把持部によって把持した状態で、把持部を移動させる目標軌道を生成するステップと、目標軌道に基づいて駆動された把持部の動きを計測するステップと、目標軌道から導出される把持部の目標値および計測された把持部の動きを表す実測値に基づいて、把持対象である物体が把持可能であるか否かを判別するステップと、判別結果に基づいて、把持部の把持する物体の把持状態を変更するステップと、を含む、把持判別方法が提供される。
【発明の効果】
【0020】
以上説明したように本発明によれば、把持対象である物体が把持可能であるか否かを正確に判定することが可能な把持判別装置および把持判別方法を提供することができる。
【図面の簡単な説明】
【0021】
【図1】マニピュレータのハンド部により物体を把持した状態の一例を示す説明図である。
【図2】本発明の実施形態に係る把持判定装置の機能構成を示すブロック図である。
【図3】同実施形態に係る把持状態記憶部に記憶される情報の一例を示す説明図である。
【図4】手先位置に基づく把持判別方法を示すフローチャートである。
【図5】ハンド部に対する作用力に基づく把持判別方法を示すフローチャートである。
【図6A】ハンド部の滑り量に基づく把持判別方法を示すフローチャートである。
【図6B】ハンド部の滑り量に基づく把持判別方法を示すフローチャートである。
【図7】同実施形態に係る把持判別装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0022】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0023】
なお、説明は以下の順序で行うものとする。
1.把持判定装置の構成
2.把持判別方法
2−1.手先位置に基づく把持判別
2−2.ハンド部に作用する作用力に基づく把持判別
2−3.ハンド部の滑り量に基づく把持判別
3.ハードウェア構成例
【0024】
<1.把持判定装置の構成>
まず、図1〜図3に基づいて、本発明の実施形態に係る把持判定装置100の構成について説明する。なお、図1は、マニピュレータ10のハンド部14により物体を把持した状態の一例を示す説明図である。図2は、本実施形態に係る把持判定装置100の機能構成を示すブロック図である。図3は、本実施形態に係る把持状態記憶部170に記憶される情報の一例を示す説明図である。
【0025】
[把持判定装置の概要]
本実施形態に係る把持判別装置100は、例えば図1に示すような、物体を把持して移動させることの可能なマニピュレータ10によって把持対象である物体を把持する際に、当該物体が把持可能であるか否かを判別するための装置である。把持判別装置100は、マニピュレータ10を制御する制御装置(図示せず。)に設けることができる。自律移動型ロボットがマニピュレータ10を備える場合であれば、例えばロボットを統括して制御する制御装置(図示せず。)に把持判別装置100を設けることができる。
【0026】
ここで、本実施形態に係るマニピュレータ10は、図1に示すように、アーム部12と、物体5を把持するハンド部14とからなる。アーム部12は、1または複数のリンクからなり、その一端が例えばロボットの胴体部等の基台(図示せず。)に対して移動可能に設けられている。また、アーム部12の他端(先端)には、ハンド部14が移動可能に接続されている。ハンド部14は、アーム部12と接続された接続部14aと、接続部14aから突出する2つの指部14bとからなる。なお、指部14bは3つ以上設けることもできる。指部14bは、把持対象の物体5を挟んだり包み込んだりして把持することができる。
【0027】
このようなマニピュレータ10により物体5を能動的に把持する際、把持判別装置100によって物体5が把持可能か否かについて判別される。本実施形態において、「把持可能」とは、把持することが可能であり、把持した物体を移動させることができることをいう。これに対して、「把持不能」とは、把持してはいけない、把持した物体を移動することができない、あるいは把持した物体の移動が禁じられていることをいう。把持不能な物体(以下、「不動物」ともいう。)には、例えば、重い、滑る、大きい、長い、不安定である等の特徴を有する移動することができない物体や、壊れやすい等の特徴を有する把持してはいけない物体等がある。また、机等のように常に所定の位置に有るべきものや、ケーブルによって他の物体と接続されているもののように移動が禁じられている物体も把持不能な物体であり、誤認識により何もない場合も把持不能な状態となる。
【0028】
把持判別装置100は、マニピュレータ10のハンド部14が物体5を把持した後、マニピュレータ10を動かし、物体5が把持可能な物体であると仮定したときにマニピュレータ10が目標とする動作と、同じように動作したか否か判定する。そして、マニピュレータ10が目標とする動作と同じように動作したと判定した場合には、把持判別装置100は、物体5を把持可能な物体と判定する。一方、マニピュレータ10が目標とする動作と異なる動作をしたと判定した場合には、把持判別装置100は、物体5を把持不能な物体と判定する。
【0029】
このように、把持判定装置100によってハンド部14が把持する物体5が把持可能か否かを判断することで、マニピュレータ10が物体5を把持して動作を開始する前に、当該動作を実行してよいか否かを判断することができ、正しい動作を行うことができる。
【0030】
[把持判定装置の機能構成]
把持判定装置100は、図2に示すように、把持計画部110と、把持状態判別動作計画部120と、把持状態観測部130と、把持状態判別部140と、把持状態変更部150と、インピーダンス制御部160と、把持状態記憶部170とを備える。
【0031】
把持計画部110は、物体を把持するハンド部14を、物体の把持点まで移動させるための軌道を決定する。把持計画部110は、まず、把持対象として特定された物体を把持する位置となる把持点を、既存の手法を用いて決定する。そして、把持計画部110は、ハンド部14を現在位置から把持点まで移動させるための目標軌道を生成する。この目標軌道に沿ってハンド部14を移動させるように、後述するインピーダンス制御部160によりマニピュレータ10を制御することで、ハンド部14に物体を把持させることができる。また、把持計画部110は、物体を把持した後のハンド部14を目標位置まで移動させる軌道を計画することもできる。把持計画部110により生成された目標軌道は、把持状態判別動作計画部120、把持状態判別部140、把持状態変更部150、およびインピーダンス制御部160へ出力される。
【0032】
また、把持計画部110では、後述する把持状態記憶部170を参照して、把持対象である物体が既に把持不能であると判定されていないか確認する。確認した結果、当該物体が把持不能であると判定されている場合には、把持計画部110は、物体の把持は行わないことを決定する。
【0033】
把持状態判別動作計画部120は、把持対象である物体が把持可能であるか否かを判別するための動作(把持状態判別動作)の目標軌道を生成する。把持状態判別動作は、物体を把持した状態でハンド部14を動かす動作である。把持状態判別動作では、ハンド部14を大きく動かす必要はなく、目標軌道と実際のハンド部14の軌道との差を検出可能な程度動かせばよい。把持状態判別動作は、例えば、図1に示すように、マニピュレータ10のハンド部14により物体5を把持した状態で、左右方向(x軸方向)、前後方向(y軸方向)、上下方向(z軸方向)にそれぞれ所定距離だけ移動させる動作とすることができる。このように、把持状態判別動作計画部120により把持状態判別動作を実行することによって、ハンド部14により物体を把持して移動させる前に、当該物体が把持可能であるか否かを判別することができる。把持状態判別動作計画部120は、把持状態判別動作によって移動するマニピュレータ10の目標軌道を、把持状態判別部140およびインピーダンス制御部160へ出力する。
【0034】
把持状態観測部130は、目標軌道に基づき制御されるマニピュレータ10の動きを観測する。把持状態観測部130は、把持計画部110または把持状態判別動作計画部120により生成された目標軌道から導出できる、マニピュレータ10の空間での状態を表す物理量、例えば、手先位置(ハンド部14の特定点)や、ハンド部14に作用する作用力、ハンド部14の滑り量等を実測値として計測する。把持状態観測部130は、取得した計測値を観測結果として把持状態判別部140へ出力する。
【0035】
把持状態判別部140は、マニピュレータ10の目標軌道に基づく目標値と把持状態観測部130により取得された実測値との偏差に基づいて、ハンド部14による物体の把持状態を判別する。把持状態判別部140は、ハンド部14が物体を把持しながら目標軌道に沿って動作しているという把持可能状態と、ハンド部14が把持している物体が、動くはずなのに動かない、停止しているはずなのに動いた、想定したより動かすのに大きな力を要した、ハンド部14に対して動かないはずなのに滑った等の把持不能状態とを判別することができる。把持状態判別部140による把持状態判別処理の詳細については後述する。把持状態判別部140による判別結果は、把持状態変更部150および把持状態記憶部170へ出力される。
【0036】
把持状態変更部150は、把持計画部110により生成されたマニピュレータ10の目標軌道および把持状態判別部140による判別結果に基づいて、ハンド部14による物体の把持状態を変更する。例えば、把持状態変更部150は、ハンド部14により把持している物体の移動を停止したり、物体を置いたり、物体を把持しているハンド部14の指部14bを開放したりする。把持状態変更部150は、このようにハンド部14の物体の把持状態を変更するための変更情報をインピーダンス制御部160に出力する。
【0037】
インピーダンス制御部160は、マニピュレータ10をインピーダンス制御して、マニピュレータ10の位置・姿勢を制御する。インピーダンス制御部160は、把持計画部110または把持状態判別動作計画部120により生成された目標軌道、あるいは把持状態変更部150から入力された変更情報に基づいて、マニピュレータ10の位置・姿勢を制御する。インピーダンス制御部160より制御されることにより動作するマニピュレータ10の動きは、把持状態観測部130により観測される。
【0038】
把持状態記憶部170は、マニピュレータ10の存在する空間の情報を環境マップとして記憶する。環境マップは、例えば図3に示すように、マニピュレータ10の存在する空間に存在する物体が、空間内にどのように配置されているかを示す。図3に示す空間マップより、空間の壁際に棚があり、中央付近に机および椅子が存在することを認識することができる。また、空間内には物体A〜Dが配置されており、物体Aは机にあることも認識できる。
【0039】
把持状態記憶部170は、さらに、環境マップ上に認識されている物体に関する情報を記憶する。例えば、物体の形状や、物体の位置姿勢、把持可能性を示す不動物フラグ、重量、物体(例えば、机や椅子、棚等)を識別するためのタグ、ユーザ指示による物体の移動可否情報、物体の移動速度等の情報が、各物体に対して記憶されている。さらに、把持情報記憶部170には、物体の把持に関連する関連情報を記憶することもできる。例えば「物体Aは静的環境物(例えば、机の脚)であった」、「物体Bは重すぎた」等の情報を関連情報として記憶することができる。把持状態記憶部170に記憶されている情報は、把持状態判別部140による判別結果に基づき、随時更新される。
【0040】
<2.把持判別方法>
把持判別装置100は、物体を把持したハンド部14を移動させたときの、ハンド部14の動きの目標値と実測値との偏差に基づき、把持している物体が把持可能な物体であるか否かを判別する。この際、把持判別装置100は、例えば、手先の位置や、ハンド部14に作用する力、物体の滑り量等の物理量を用いて物体の把持可能性を判別することができる。以下、図4〜図6Bに基づいて、物体の把持状態の判別に用いる、ハンド部14の動きを表す物理量に手先の位置や、ハンド部14に作用する力、物体の滑り量を用いたときの、把持判別装置100による把持判別方法について説明する。
【0041】
[2−1.手先位置に基づく把持判別]
まず、図4に基づいて、手先位置に基づき物体の把持判別を行う把持判別方法について説明する。かかる把持判別方法では、ハンド部14の任意の位置を特定点とし、この特定点の位置を手先位置とする。把持判別装置100は、マニピュレータ10のハンド部14が把持した物体を動かす動作において、目標軌道から導出される目標手先位置と、把持状態観測部130により計測された実測手先位置とを比較する。そして、目標手先位置と実測手先位置との偏差が許容値から外れたことを検知したとき、把持判別装置100は、把持している物体を想定した通りに移動できていないと判断し、当該物体の把持を中止する。このように、本例において、把持判別装置100は、ハンド部14により物体を把持したときの手先位置から物体の把持状態を判別する。
【0042】
このような把持判別方法において、まず、把持計画部110は、把持状態記憶部170に記憶されている環境マップを参照し、把持対象である物体が既に不動物と判断されているか否かを確認する(ステップS100)。環境マップには、マニピュレータ10の存在する空間において存在が認識されている物体に関する情報が記憶されている。物体に関する情報には、当該物体の把持の可否を示す不動物フラグが含まれている。不動物フラグが「false」であるときには把持可能な物体であり、不動物フラグが「true」であるときには把持不能な物体であることを示す。物体に対して把持判別の可否が一度判断されると、不動物フラグに情報が格納される。なお、把持判別の可否の判断が一度も行われていない物体の不動物フラグには、「false」を格納してもよく、未判断であることを示す情報(例えば、ブランク等)を格納してもよい。
【0043】
把持計画部110は、環境マップの不動物フラグを確認し、物体が不動物でないこと、すなわち不動物フラグに「false」が格納されているか否かを判断する。不動物フラグが「false」であるときには、物体は把持可能であると判断し、把持判別装置100はステップS102以降の処理を実行する。把持判別の可否の判断が一度も行われていないと判断される場合にも、ステップS102以降の処理を実行するものとする。一方、不動物フラグが「true」であるときには、物体は把持不能であると判断し、把持計画部110は、当該物体を把持しないことを決定し(ステップS101)、処理を終了する。
【0044】
次いで、把持計画部110は、物体を把持するためのハンド部14の目標軌道(第1目標軌道)を生成する(ステップS102)。把持計画部110は、ハンド部14を現在位置から把持対象である物体の把持点まで移動させる第1目標軌道を生成し、インピーダンス制御部160へ出力する。インピーダンス制御部160は、第1目標軌道に従って、ハンド部14を物体の把持点まで移動させ、物体を把持させる(ステップS104)。
【0045】
ハンド部14が物体を把持すると、把持状態判別動作計画部120は、把持対象の物体が把持可能か否かを判別する把持状態判別動作を行うため、ハンド部14の目標軌道(第2目標軌道)を生成する(ステップS106)。把持状態判別動作計画部120は、物体を把持するハンド部14を現在位置から所定の方向に移動させる第2目標軌道を生成する。把持状態判別計画部120で生成された第2目標軌道は、インピーダンス制御部160に出力され、インピーダンス制御部160は、第2目標軌道に従って、ハンド部14に把持状態判別動作を行わせる(ステップS108)。
【0046】
ステップS108における、インピーダンス制御部160の制御によるマニピュレータ10の動きは、把持状態観測部130により観測される(ステップS110)。本例では、把持状態観測部130は、例えばマニピュレータ10を構成する各部位の空間における状態を計測し、計測された物理量から手先位置(すなわち、ハンド部14の特定点の位置)を運動学的に算出する。算出された実測手先位置は、把持状態判別部140へ出力される。
【0047】
ここで、本実施形態に係るマニピュレータ10は、重力補償制御により重力に抗う力を加えた後、さらにハンド部14等の部位を所定の状態に保持するための制御量を加えるように制御することができるように構築することができる。これにより、重力補償制御に必要な力は大きいが、手先位置の制御に必要な力は小さくなる。
【0048】
このとき、トルクセンサ内蔵型の理想化関節をマニピュレータ10が有することで、非常に小さな力で手先位置を移動させ、また所定の位置にとどめることが可能となる。このような理想化関節を有しない場合、手先位置を所定の位置にとどめるためには非常に高いフィードバックゲインが必要となり、手先位置を移動させようとしても容易に手先を移動させることができなくなる。そうすると、手先位置の変位を測定することが困難となり、本例のようにハンド部14の位置に基づき把持状態の判定を行うことは難しい。したがって、トルクセンサにより制御可能なマニピュレータ10において、重力補償制御を適用することで、本例の把持状態の判定を実現することができる。
【0049】
その後、把持状態判別部140は、第2目標軌道に基づく目標手先位置と実測手先位置との偏差を算出する(ステップS112)。把持状態判別部140は、把持状態判別動作計画部120により生成された第2軌道情報からハンド部14の目標位置(目標手先位置)を導出し、把持状態観測部130により観測されたハンド部14の実測手先位置との偏差を算出する。算出された偏差は、物体を把持したハンド部14が第2目標軌道に沿って動いた場合の理想の動きと把持状態観測部130により計測された実際の動きとのずれの大きさを表している。
【0050】
把持状態判別部140は、目標手先位置と実測手先位置との偏差を算出すると、当該偏差が許容値内にあるか否かを判定する(ステップS114)。許容値には、第2目標軌道に沿ってマニピュレータ10が動作しているとみなすことのできる目標手先位置と実測手先位置とのずれの限界値が設定される。把持状態判別部140は、算出した偏差が許容値内であると判定したとき、ハンド部14は第2目標軌道に沿って動いていると判断し、ハンド部14が把持している物体は把持可能な物体と判断する。
【0051】
その後、把持状態判別部140は、把持状態判別動作が終了したか否かを判定し(ステップS116)、当該動作が終了していない場合には、ステップS110からの処理を繰り返す。一方、把持状態判別動作が終了したと判定した場合には、把持状態判別部140は、当該物体に対する把持を完了したと判断し(ステップS118)、処理を終了する。物体の把持が完了すると、把持計画部110は、物体把持後の目標軌道を生成する。そして、インピーダンス制御部160は、生成された物体把持後の目標軌道に基づいてマニピュレータ10を駆動制御する。
【0052】
また、ステップS114において、目標手先位置と実測手先位置との偏差が許容値を超えたと判定した場合、把持状態判別部140は、ハンド部14は第2目標軌道に沿って動いていないと判断する。これより、把持状態判別部140は、ハンド部14が把持している物体は把持不能な物体と判断して、ハンド部14による把持を中止する。把持状態判別部140により把持不能であると判断されると、把持状態変更部150は、物体を把持するハンド部14の指部14bを開放し、予め設定された標準姿勢に復帰するよう、インピーダンス制御部160に指示する(ステップS120)。インピーダンス制御部160は、把持状態変更部150からの指示に従って、マニピュレータ10を駆動制御する。
【0053】
そして、把持状態判別部140は、把持状態記憶部170の環境マップの、把持対象であった物体の不動物フラグを「true」にする(ステップS122)。このように、把持状態判別部140により、把持対象の物体が把持不能であったことを環境マップに記録した後、処理を終了する。
【0054】
以上、手先位置に基づき物体の把持判別を行う把持判別方法について説明した。このように、把持判別装置100は、空間における手先位置を観測し、把持状態判別動作の目標軌道から導出される目標手先位置と観測された実測手先位置との偏差から、当該物体把持可能性を判断する。すなわち、目標手先位置と実測手先位置との偏差が許容値を超えた場合、把持判別装置100はマニピュレータ10のハンド部14が目標軌道に沿って移動していないと判断し、把持している物体は把持不能であると判別する。このように、ハンド部14により実際に物体を把持した状態でマニピュレータ10を動作させる前に、把持対象である物体の把持可能性を判別することにより、把持してはいけない物体を把持したり、移動できない物体を移動させたりすることを防止することができる。
【0055】
[2−2.ハンド部に作用する作用力に基づく把持判別]
次に、図5に基づいて、ハンド部14に作用する作用力に基づき物体の把持判別を行う把持判別方法について説明する。かかる把持判別方法では、物体を把持するハンド部14を移動させたときに、ハンド部14に作用する作用力を把持状態の判別に用いる。把持判別装置100は、マニピュレータ10のハンド部14が把持した物体を動かす動作において、目標軌道から導出されるハンド部14に対する目標作用力と実測作用力とを比較する。そして、目標作用力と実測作用力との偏差が許容値から外れたことを検知したとき、把持判別装置100は、把持している物体を想定した通りに移動できていないと判断し、当該物体の把持を中止する。このように、本例において、把持判別装置100は、ハンド部14により物体を把持したときのハンド部14に対する作用力から物体の把持状態を判別する。
【0056】
このような把持判別方法において、まず、把持計画部110は、把持状態記憶部170に記憶されている環境マップを参照し、把持対象である物体が既に不動物と判断されているか否かを確認する(ステップS200)。把持計画部110は、物体の把持の可否を示す不動物フラグを確認し、物体が不動物でないこと、すなわち不動物フラグに「false」が格納されているか否かを判断する。不動物フラグが「false」であるときには、物体は把持可能であると判断し、把持判別装置100はステップS202以降の処理を実行する。一方、不動物フラグが「true」であるときには、物体は把持不能であると判断し、把持計画部110は、当該物体を把持しないことを決定し(ステップS201)、処理を終了する。
【0057】
次いで、把持計画部110は、物体を把持するためのハンド部14の目標軌道(第1目標軌道)を生成する(ステップS202)。把持計画部110によりハンド部14を現在位置から把持対象である物体の把持点まで移動させる第1目標軌道が生成されると、インピーダンス制御部160は、第1目標軌道に従ってハンド部14を移動させ、物体を把持させる(ステップS204)。なお、ステップS200〜204までの処理は、図4に示したステップS100〜S104までの処理と同一である。
【0058】
ハンド部14が物体を把持すると、把持状態判別動作計画部120は、把持対象の物体が把持可能か否かを判別する把持状態判別動作を行うため、ハンド部14の目標軌道(第2目標軌道)を生成する(ステップS206)。把持状態判別動作計画部120は、物体を把持するハンド部14を現在位置から所定の方向に移動させる第2目標軌道を生成する。そして、把持状態判別動作計画部120は、第2目標軌道から、物体を把持したハンド部14に作用する目標作用力を導出する。物体の形状や重量、ハンド部14の移動方向等に応じて、物体からハンド部14が受ける作用力は変化する。そこで、ハンド部14に作用する作用力を用いて、ハンド部14が第2目標軌道に沿って移動できているか否かを把持状態判別部140により判定するため、把持状態判別動作計画部120は、把持状態判別動作の際ハンド部14に作用する目標作用力を導出する。
【0059】
把持状態判別計画部120で生成された第2目標軌道は、インピーダンス制御部160に出力され、インピーダンス制御部160は、第2目標軌道に従って、ハンド部14に把持状態判別動作を行わせる(ステップS208)。
【0060】
ステップS208における、インピーダンス制御部160の制御によるマニピュレータ10の動きは、把持状態観測部130により観測される(ステップS210)。本例では、把持状態観測部130は、把持状態判別動作の際にハンド部14に作用する作用力を計測する。把持状態観測部130により計測された実測作用力は、把持状態判別部140へ出力される。ハンド部14に対する作用力は、例えば、6軸力センサを用いて計測することができる。あるいは、トルクセンサ内蔵型の理想化関節を有するマニピュレータ10においては外力推定を行うことによってもハンド部14に対する作用力を計測することができる。トルクセンサ内蔵型の理想化関節は、例えば特許文献3に記載の技術を適用して構成することができる。また、外力の推定方法は、例えば特許文献4に記載の技術を用いることができる。
【0061】
その後、把持状態判別部140は、第2目標軌道に基づく目標作用力と実測作用力との偏差を算出する(ステップS212)。把持状態判別部140は、把持状態判別動作計画部120により生成された第2軌道情報からハンド部14の目標作用力を導出し、把持状態観測部130により観測されたハンド部14の実測作用力との偏差を算出する。
【0062】
把持状態判別部140は、目標作用力と実測作用力との偏差を算出すると、当該偏差が許容値内にあるか否かを判定する(ステップS214)。許容値には、第2目標軌道に沿ってマニピュレータ10が動作しているとみなすことのできる目標作用力と実測作用力とのずれの限界値が設定される。把持状態判別部140は、算出した偏差が許容値内であると判定したとき、ハンド部14は第2目標軌道に沿って動いていると判断し、ハンド部14が把持している物体は把持可能な物体と判断する。
【0063】
その後、把持状態判別部140は、把持状態判別動作が終了するか否かを判定し(ステップS216)、当該動作が終了していない場合には、ステップS210からの処理を繰り返す。一方、把持状態判別動作が終了したと判定した場合には、把持状態判別部140は、当該物体に対する把持を完了したと判断し(ステップS218)、処理を終了する。物体の把持が完了すると、把持計画部110は、物体把持後の目標軌道を生成する。そして、インピーダンス制御部160は、生成された物体把持後の目標軌道に基づいてマニピュレータ10を駆動制御する。
【0064】
また、ステップS214において、目標作用力と実測作用力との偏差が許容値を超えたと判定した場合、把持状態判別部140は、ハンド部14は第2目標軌道に沿って動いていないと判断する。これより、把持状態判別部140は、ハンド部14が把持している物体は把持不能な物体と判断して、ハンド部14による把持を中止する。把持状態判別部140により把持不能であると判断されると、把持状態変更部150は、物体を把持するハンド部14の指部14bを開放し、予め設定された標準姿勢に復帰するよう、インピーダンス制御部160に指示する(ステップS120)。インピーダンス制御部160は、把持状態変更部150からの指示に従って、マニピュレータ10を駆動制御する。
【0065】
そして、把持状態判別部140は、把持状態記憶部170の環境マップの、把持対象であった物体の不動物フラグを「true」にする(ステップS222)。このように、把持状態判別部140により、把持対象の物体が把持不能であったことを環境マップに記録した後、処理を終了する。
【0066】
以上、ハンド部14に対する作用力に基づき物体の把持判別を行う把持判別方法について説明した。このように、把持判別装置100は、ハンド部14に作用する作用力を観測し、把持状態判別動作の目標軌道から導出される目標作用力と観測された実測作用力との偏差から、当該物体把持可能性を判断する。すなわち、目標作用力と実測作用力との偏差が許容値を超えた場合、把持判別装置100はマニピュレータ10のハンド部14が目標軌道に沿って移動していないと判断し、把持している物体は把持不能であると判別する。このように、ハンド部14により実際に物体を把持した状態でマニピュレータ10を動作させる前に、把持対象である物体の把持可能性を判別することにより、把持してはいけない物体を把持したり、移動できない物体を移動させたりすることを防止することができる。
【0067】
[2−3.ハンド部の滑り量に基づく把持判別]
次に、図6Aおよび図6Bに基づいて、ハンド部14の滑り量に基づき物体の把持判別を行う把持判別方法について説明する。かかる把持判別方法では、マニピュレータ10のハンド部14によって物体を把持した後、ハンド部14と物体との間に生ずる滑りを計測する。把持判別装置100は、マニピュレータ10のハンド部14が把持した物体を動かす動作において、許容される把持力内で物体を把持できるか否かによって、当該物体が把持可能であるか否かを判定する。物体を把持するハンド部14の把持力が許容値から外れたことを検知したとき、把持判別装置100は、把持している物体を想定した通りに移動できていないと判断し、当該物体の把持を中止する。このように、本例において、把持判別装置100は、物体を把持するハンド部14の滑り量から物体の把持状態を判別する。
【0068】
このような把持判別方法において、まず、把持計画部110は、把持状態記憶部170に記憶されている環境マップを参照し、把持対象である物体が既に不動物と判断されているか否かを確認する(ステップS300)。把持計画部110は、物体の把持の可否を示す不動物フラグを確認し、物体が不動物でないこと、すなわち不動物フラグに「false」が格納されているか否かを判断する。不動物フラグが「false」であるときには、物体は把持可能であると判断し、把持判別装置100はステップS302以降の処理を実行する。一方、不動物フラグが「true」であるときには、物体は把持不能であると判断し、把持計画部110は、当該物体を把持しないことを決定し(ステップS301)、処理を終了する。
【0069】
次いで、把持計画部110は、物体を把持するためのハンド部14の目標軌道(第1目標軌道)を生成する(ステップS302)。把持計画部110によりハンド部14を現在位置から把持対象である物体の把持点まで移動させる第1目標軌道が生成されると、インピーダンス制御部160は、第1目標軌道に従ってハンド部14を移動させ、物体を把持させる(ステップS304)。
【0070】
ハンド部14が物体を把持すると、把持状態判別動作計画部120は、把持対象の物体が把持可能か否かを判別する把持状態判別動作を行うため、ハンド部14の目標軌道(第2目標軌道)を生成する(ステップS306)。把持状態判別動作計画部120は、物体を把持するハンド部14を現在位置から所定の方向に移動させる第2目標軌道を生成し、インピーダンス制御部160に出力する。インピーダンス制御部160は、第2目標軌道に従って、ハンド部14に把持状態判別動作を行わせる(ステップS308)。なお、ステップS300〜308までの処理は、図4に示したステップS100〜S108までの処理と同一である。
【0071】
その後、把持状態判別部140は、把持状態判別動作が終了するか否かを判定し(ステップS310)、当該動作が終了していない場合には、ステップS314以降の処理を実行する。一方、把持状態判別動作が終了したと判定した場合には、把持状態判別部140は、当該物体に対する把持を完了したと判断し(ステップS312)、処理を終了する。物体の把持が完了すると、把持計画部110は、物体把持後の目標軌道を生成する。そして、インピーダンス制御部160は、生成された物体把持後の目標軌道に基づいてマニピュレータ10を駆動制御する。
【0072】
ステップS310において把持状態判別動作が終了していないと判定された場合、把持状態観測部130は、ハンド部14と物体との間に生じている滑り(滑り量)を計測する(ステップS314)。ハンド部14の把持力が弱かったり、物体の表面がつるつるしている等、滑りやすく把持し難い状態であったりする場合、ハンド部14と物体とが相対的に移動する、すなわち滑りが生ずる。ハンド部14と物体との間に滑りが生じている場合、ハンド部14は物体を正しく把持できておらず、物体を落下させる可能性がある。そこで、把持状態判別部140は、ハンド部14と物体との間に滑りがない、すなわち、滑り量が0であるか否かを判定し(ステップS316)、ハンド部14が物体を正しく把持できているか確認する。
【0073】
滑り量は、例えば、物体を把持したときに当該物体を接触する指部14bの接触面に、滑りを検出可能なセンサを設けることにより検出することができる(特許文献5参照)。かかるセンサは、例えば、センサ面に対して垂直方向の圧力のみを検出する静電容量型圧力センサにより構成することができる。かかるセンサの表面には、外部から受ける力によって変形可能な粘弾性体が設けられており、粘弾性体が変形するとセンサに対する圧力が拡散される。センサによってこの拡散された圧力を検出して取得した圧力分布の変化に基づいて、把持判別装置100は、ハンド部14による物体の把持状態を判別するための滑り量を取得することができる。
【0074】
ステップS316にて滑り量が0でないと判断された場合、すなわちハンド部14に対する物体の滑りが検出された場合には、滑りがなくなるようにハンド部14の把持力を増大する(ステップS318)。その後、把持状態判別部140は、ハンド部14の把持力が許容値以内であるか否かを判定する(ステップS320)。ハンド部14の把持力が過大となると、物体との滑りがなくなり、確実に把持することができるようになる。しかし、過大な把持力が物体に加わることにより、物体が変形したり破損したりする可能性がある。このため、ハンド部14の把持力は、物体に変形等が生じない許容値内に収められる。また、許容値は、例えば、マニピュレータ10の機械的強度や、マニピュレータ10を駆動するモータやギアの仕様等に基づき、ハンド部14が出力可能な力に設定される。
【0075】
把持状態判別部140は、ハンド部14の把持力が許容値以内である場合には、ステップS310に戻り、把持状態判別動作が終了したか否かを判定する。そして、把持状態判別動作が終了したと判定した場合には、把持状態判別部140は、当該物体に対する把持を完了したと判断し(ステップS312)、処理を終了する。一方、当該動作が終了していない場合には、ステップS314以降の処理を繰り返し実行する。
【0076】
また、ステップS316において、滑り量が0と判定された場合には、ハンド部14と物体との間には滑りが生じていない状態と判断される。この場合、ステップS320にて、ハンド部の把持力14が許容値以内であるか否かを判断し、許容値以内であれば、上記と同様、把持状態判別部140は、ステップS310に戻り、処理を行う。一方、ステップS320にてハンド部の把持力14が許容値を超えている場合には、物体を変形等させる可能性があるため、ハンド部14による物体の把持を中止する。すなわち、把持状態変更部150は、物体を把持するハンド部14の指部14bを開放し、予め設定された標準姿勢に復帰するよう、インピーダンス制御部160に指示する(ステップS322)。インピーダンス制御部160は、把持状態変更部150からの指示に従って、マニピュレータ10を駆動制御する。
【0077】
そして、把持状態判別部140は、把持状態記憶部170の環境マップの、把持対象であった物体の不動物フラグを「true」にして、把持対象の物体が把持不能であったことを環境マップに記録した後(ステップS324)処理を終了する。
【0078】
以上、ハンド部14の滑り量に基づく把持判別方法について説明した。このように、把持判別装置100は、ハンド部14により物体を把持した後、物体とハンド部14との間に生じている滑り量を観測して、ハンド部14が物体を正しく把持できているか否かを判断する。このとき、ハンド部14の把持力が許容値内であることを確認し、物体を変形等させない力で把持できているかも確認する。把持状態判別部140は、ハンド部14と物体との間に滑りが生じていたり、許容値を超える把持力で物体を把持していたりする場合には、ハンド部14によって当該物体を把持することはできないと判別する。このように、ハンド部14により実際に物体を把持した状態でマニピュレータ10を動作させる前に、把持対象である物体の把持可能性を判別することにより、把持してはいけない物体を把持したり、移動できない物体を移動させたりすることを防止することができる。
【0079】
このように、本実施形態に係る把持判別装置100により、ハンド部14の動きを表す物理量に手先の位置や、ハンド部14に作用する力、物体の滑り量等を用いて、把持対象である物体が把持可能か否かを判別することができる。また、判別した物体の把持可能性は、不動物フラグとして環境マップに記憶される。これにより、次回当該物体を把持使用とするとき、把持計画部110は不動物フラグを参照して、この物体を把持可能か否かを認識することができる。
【0080】
<3.ハードウェア構成例>
本実施形態にかかる把持判別装置100による一部の処理は、ハードウェアにより実行させることもでき、ソフトウェアによって実行させることもできる。この場合、把持判別装置100は、図7に示すようなコンピュータとして構成することもできる。以下、図7に基づいて、本実施形態に係る把持判別装置100の一ハードウェア構成例について説明する。
【0081】
本実施形態にかかる入力ユニットを構成する把持判別装置100は、上述したように、コンピュータ等の情報処理装置により実現することができ、マニピュレータ10を備える自律分散型ロボットに設けることができる。把持判別装置100は、図7に示すように、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、ホストバス104aとを備える。また、把持判別装置100は、ブリッジ104と、外部バス104bと、インタフェース105と、入力装置106と、出力装置107と、ストレージ装置(HDD)108と、ドライブ109と、接続ポート111と、通信装置113とを備える。
【0082】
CPU101は、演算処理装置および制御装置として機能し、各種プログラムに従って把持判別装置100内の動作全般を制御する。また、CPU101は、マイクロプロセッサであってもよい。ROM102は、CPU101が使用するプログラムや演算パラメータ等を記憶する。RAM103は、CPU101の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバス104aにより相互に接続されている。
【0083】
ホストバス104aは、ブリッジ104を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス104bに接続されている。なお、必ずしもホストバス104a、ブリッジ104および外部バス104bを分離構成する必要はなく、一のバスにこれらの機能を実装してもよい。
【0084】
入力装置106は、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU101に出力する入力制御回路などから構成されている。ユーザは、該入力装置106を操作することにより、ロボットの把持判別装置100に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0085】
出力装置107は、例えば、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置およびランプなどの表示装置や、スピーカなどの音声出力装置を含む。
【0086】
ストレージ装置108は、把持判別装置100の記憶部の一例であり、データ格納用の装置である。ストレージ装置108は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置108は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置108は、ハードディスクを駆動し、CPU101が実行するプログラムや各種データを格納する。
【0087】
ドライブ109は、記憶媒体用リーダライタであり、把持判別装置100に内蔵、あるいは外付けされる。ドライブ109は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体に記録されている情報を読み出して、RAM103に出力する。
【0088】
接続ポート111は、外部機器と接続されるインタフェースであって、例えばUSB(Universal Serial Bus)などによりデータ伝送可能な外部機器との接続口である。また、通信装置113は、例えば、通信網15に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置112は、無線LAN(Local Area Network)対応通信装置であっても、ワイヤレスUSB対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
【0089】
なお、本実施形態に係る把持判別装置100は、必ずしも図7に示すハードウェアを備える必要はない。例えば、入力装置106や表示装置107、ストレージ装置108、ドライブ109、接続ポート111、通信装置113等については、把持判別装置100とは別の装置として、把持判別装置100と接続して使用できるようにしてもよい。
【0090】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0091】
10 マニピュレータ
12 アーム部
14 ハンド部
100 把持判別装置
110 把持計画部
120 把持状態判別動作計画部
130 把持状態観測部
140 把持状態判別部
150 把持状態変更部
160 インピーダンス制御部
170 把持状態記憶部


【特許請求の範囲】
【請求項1】
把持対象である物体を把持部によって把持した状態で、前記把持部を移動させる目標軌道を生成する計画部と、
前記目標軌道に基づいて駆動された前記把持部の動きを計測する観測部と、
前記目標軌道から導出される前記把持部の目標値および前記観測部により計測された実測値に基づいて、把持対象である物体が把持可能であるか否かを判別する把持状態判別部と、
前記把持状態判別部による判別結果に基づいて、前記把持部の把持する物体の把持状態を変更する把持状態変更部と、
を備える、把持判別装置。
【請求項2】
前記把持状態判別部は、前記目標値と前記実測値との偏差が所定値以上となったとき、前記物体は把持不能と判別する、請求項1に記載の把持判別装置。
【請求項3】
前記観測部は、前記把持部の位置を計測し、
前記把持状態判別部は、前記観測部により計測された前記把持部の実測位置と、前記目標軌道から導出した前記把持部の目標位置との偏差に基づいて、把持対象である物体が把持可能であるか否かを判別する、請求項2に記載の把持判別装置。
【請求項4】
前記観測部は、物体を把持した状態で前記把持部を移動させたときに前記把持部に作用する作用力を計測し、
前記把持状態判別部は、前記観測部により計測された前記把持部に作用する実測作用力と、前記目標軌道から導出した前記把持部に作用する目標作用力との偏差に基づいて、把持対象である物体が把持可能であるか否かを判別する、請求項2に記載の把持判別装置。
【請求項5】
前記観測部は、物体を把持したときに前記把持部と前記物体との間に生ずる滑りを計測し、
前記把持状態判別部は、前記把持部が前記物体を把持する把持力が許容値以上であり、かつ前記観測部による計測結果より前記把持部と前記物体との間に滑りが生じている場合、把持対象である物体は把持不能と判断する、請求項2に記載の把持判別装置。
【請求項6】
前記把持状態変更部は、前記把持状態判別部により前記物体が把持不能と判別されたとき、前記把持部による物体の把持を中止する、請求項1に記載の把持判別装置。
【請求項7】
前記把持状態判別部により把持可能性が判別された物体の判別結果と、空間内における当該物体の位置とを、関連付けて環境マップとして記憶する把持状態記憶部をさらに備える、請求項1に記載の把持判別装置。
【請求項8】
前記計画部は、
前記把持状態記憶部より、把持対象である物体が把持不能と判別されているか否かを判定し、
前記物体が把持不能と判別されている場合には、当該物体を把持しないことを決定する、請求項7に記載の把持判別装置。
【請求項9】
把持対象である物体を把持部によって把持した状態で、前記把持部を移動させる目標軌道を生成するステップと、
前記目標軌道に基づいて駆動された前記把持部の動きを計測するステップと、
前記目標軌道から導出される前記把持部の目標値および計測された前記把持部の動きを表す実測値に基づいて、把持対象である物体が把持可能であるか否かを判別するステップと、
判別結果に基づいて、前記把持部の把持する物体の把持状態を変更するステップと、
を含む、把持判別方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate