(57)【要約】【課題】物体同士の重畳関係を、より具体的に把握すること。【解決手段】本発明に係る物体認識装置は、周辺を時間的に連続して撮像し、複数の画像情報を生成する撮像部と、複数の画像情報のそれぞれについて撮像範囲に位置する第１の物体及び第２の物体を認識する物体認識部と、認識された第１の物体及び第２の物体のそれぞれの位置の変化から、第１の物体及び第２の物体のそれぞれが静止状態か運動状態のいずれにあるかを判定する運動判定部と、第１の物体と第２の物体の重畳関係を推定する重畳関係推定部を備える。重畳関係推定部は、第１の物体が静止状態にあり第２の物体が運動状態にあるときに、第２の物体が認識されなくなった場合には、第１の物体内に第２の物体が存在すると推定し、第１の物体が静止状態にあり第２の物体が運動状態にあるときに、第１の物体が認識されなくなった場合には、第１の物体上に第２の物体が存在すると推定する。【選択図】図３
2015114933.tif 000002
【特許請求の範囲】
【請求項１】
周辺を時間的に連続して撮像し、それぞれの画像を示す複数の画像情報を生成する撮像部と、
前記生成された複数の画像情報のそれぞれについて、前記撮像部の撮像範囲に位置する第１の物体及び第２の物体を認識する物体認識部と、
前記認識された第１の物体及び第２の物体のそれぞれの位置の変化から、前記第１の物体及び前記第２の物体のそれぞれが静止状態か運動状態のいずれにあるかを判定する運動判定部と、
前記第１の物体及び前記第２の物体の認識結果と、前記第１の物体及び前記第２の物体が静止状態か運動状態のいずれにあるかの判定結果から、前記第１の物体と前記第２の物体の重畳関係を推定する重畳関係推定部と、を備え、
前記重畳関係推定部は、
前記第１の物体が静止状態にあり前記第２の物体が運動状態にあるときに、前記第１の物体が認識されているが前記第２の物体が認識されなくなった場合には、前記第１の物体内に前記第２の物体が存在すると推定し、
前記第１の物体が静止状態にあり前記第２の物体が運動状態にあるときに、前記第２の物体が認識されているが前記第１の物体が認識されなくなった場合には、前記第１の物体上に前記第２の物体が存在すると推定する、
物体認識装置。
【請求項２】
前記物体認識装置は、さらに、前記認識された第１の物体及び前記第２の物体のそれぞれの位置から、前記第１の物体と前記第２の物体との間の距離を算出する距離算出部を備え、
前記重畳関係推定部は、前記距離算出部により算出された前記第１の物体と前記第２の物体との間の距離が所定の距離閾値以上であるときには、前記第１の物体と前記第２の物体のいずれかが認識されなくなるような場合であっても、前記第１の物体と前記第２の物体とが重畳関係にあると推定しない、
請求項１に記載の物体認識装置。
【請求項３】
前記運動判定部は、前記認識された第１の物体及び第２の物体のそれぞれの位置の変化として、前記第１の物体及び前記第２の物体のそれぞれについて運動ベクトルを算出し、算出した運動ベクトルの大きさが、所定の運動ベクトル閾値未満である場合には静止状態であると判定し、前記運動ベクトル閾値以上である場合には運動状態にあると判定する、
請求項１又は２に記載の物体認識装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の物体認識装置と、
物体を操作可能なロボットアームと、
前記重畳関係推定部によって推定された前記第１の物体と前記第２の物体の重畳関係を考慮して前記第１の物体又は前記第２の物体を操作するように前記ロボットアームを制御する制御部と、
を備えたロボット。
【請求項５】
請求項１乃至３のいずれか１項に記載の物体認識装置と、
物体を操作可能なロボットアームと、
前記第１の物体について、その物体内に他の物体を置くことができる物体か、又は、その物体上に他の物体を置くことができる物体かを示す物体機能情報が格納される格納部と、
前記ロボットアームにより前記第１の物体に他の物体を置く場合、前記格納部に格納された物体機能情報に従って、前記第１の物体内に他の物体を置く、又は、前記第２の物体上に他の物体を置くように前記ロボットアームを制御する制御部と、を備え、
前記重畳関係推定部は、
前記第１の物体内に前記第２の物体が存在すると推定した場合、前記第１の物体について、その物体内に他の物体を置くことができる物体であることを示す物体機能情報を前記格納部に格納し、
前記第１の物体上に前記第２の物体が存在すると推定した場合、前記第１の物体について、その物体上に他の物体を置くことができる物体であることを示す物体機能情報を前記格納部に格納する、
ロボット。
【請求項６】
周辺を時間的に連続して撮像し、それぞれの画像を示す複数の画像情報を生成するステップと、
前記生成された複数の画像情報により、撮像範囲に位置する第１の物体及び第２の物体が静止状態か運動状態のいずれにあるかを判定するステップと、
前記第１の物体が静止状態にあり前記第２の物体が運動状態にあると判定した場合、前記第１の物体及び前記第２の物体のうち、前記第２の物体が認識されなくなったときには、前記第１の物体内に前記第２の物体が存在すると推定し、前記第１の物体が認識されなくなったときには、前記第１の物体上に前記第２の物体が存在すると推定するステップと、
を備えた物体認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体認識装置、ロボット及び物体認識方法に関し、特に、相互に重畳する可能性のある複数の物体を認識する技術に関する。
【背景技術】
【０００２】
特許文献１には、長時間にわたる追跡対象の遮蔽や、遮蔽後に遮蔽物が追跡対象と一体となって移動する場合にも追跡を可能とする物体追跡装置が開示されている。この物体追跡装置は、追跡対象の尤度モデルにより算出した追跡対象の尤度と、予め定められた閾値との比較により異常状態を検知した場合、遮蔽物の尤度モデルを作成する。これにより、追跡の異常があったときに、追跡の対象を本来の対象から遮蔽物に移して、遮蔽物を仮の追跡対象として認識して追跡を続行することができるようにしている。
【０００３】
特許文献２には、追跡目標が遮蔽物に遮蔽され、遮蔽物が追跡対象となっている場合に、追跡目標の再検出精度を高めることができる目標追跡装置が開示されている。この目標追跡装置は、入力画像内において追跡目標が遮蔽物に遮蔽された場合、入力画像内での遮蔽物のサイズ変動に応じて追跡目標のサイズ情報も更新するようにしている。これにより、追跡目標が再出現したときに、追跡目標を再検出する可能性を高めることができるようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２７２４３６号公報
【特許文献２】特開２０１２−８０２２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１及び特許文献２に開示の技術では、単に、物体が遮蔽されているか否かを把握することができるのみであり、物体同士の重畳関係を、それよりも具体的に把握することはできないという問題がある。
【０００６】
本発明は、上述のような問題を解決するためになされたものであり、物体同士の重畳関係を、より具体的に把握することができる物体認識装置、ロボット及び物体認識方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様に係る物体認識装置は、周辺を時間的に連続して撮像し、それぞれの画像を示す複数の画像情報を生成する撮像部と、前記生成された複数の画像情報のそれぞれについて、前記撮像部の撮像範囲に位置する第１の物体及び第２の物体を認識する物体認識部と、前記認識された第１の物体及び第２の物体のそれぞれの位置の変化から、前記第１の物体及び前記第２の物体のそれぞれが静止状態か運動状態のいずれにあるかを判定する運動判定部と、前記第１の物体及び前記第２の物体の認識結果と、前記第１の物体及び前記第２の物体が静止状態か運動状態のいずれにあるかの判定結果から、前記第１の物体と前記第２の物体の重畳関係を推定する重畳関係推定部と、を備え、前記重畳関係推定部は、前記第１の物体が静止状態にあり前記第２の物体が運動状態にあるときに、前記第１の物体が認識されているが前記第２の物体が認識されなくなった場合には、前記第１の物体内に前記第２の物体が存在すると推定し、前記第１の物体が静止状態にあり前記第２の物体が運動状態にあるときに、前記第２の物体が認識されているが前記第１の物体が認識されなくなった場合には、前記第１の物体上に前記第２の物体が存在すると推定するものである。これによれば、物体が他方の物体内に存在する形で重畳しているのか、物体が他方の物体上に存在する形で重畳しているのかといった物体同士のより具体的な重畳関係を把握することができる。
【０００８】
前記物体認識装置は、さらに、前記認識された第１の物体及び前記第２の物体のそれぞれの位置から、前記第１の物体と前記第２の物体との間の距離を算出する距離算出部を備え、前記重畳関係推定部は、前記距離算出部により算出された前記第１の物体と前記第２の物体との間の距離が所定の距離閾値以上であるときには、前記第１の物体と前記第２の物体のいずれかが認識されなくなるような場合であっても、前記第１の物体と前記第２の物体とが重畳関係にあると推定しないようにしてもよい。これによれば、物体が相互に離れており物体が重畳し得ないような状態において物体が重畳していると誤認識することを防止することができる。
【０００９】
また、前記運動判定部は、前記認識された第１の物体及び第２の物体のそれぞれの位置の変化として、前記第１の物体及び前記第２の物体のそれぞれについて運動ベクトルを算出し、算出した運動ベクトルの大きさが、所定の運動ベクトル閾値未満である場合には静止状態であると判定し、前記運動ベクトル閾値以上である場合には運動状態にあると判定するようにしてもよい。これによれば、実際には物体が運動していないが微小な運動ベクトルが検出されてしまった場合に、物体が運動していると誤判定することを防止することができる。
【００１０】
本発明の第２の態様に係るロボットは、上述の第１の態様に係る物体認識装置と、物体を操作可能なロボットアームと、前記重畳関係推定部によって推定された前記第１の物体と前記第２の物体の重畳関係を考慮して前記第１の物体又は前記第２の物体を操作するように前記ロボットアームを制御する制御部と、を備えたものである。これによれば、ロボットが、より具体的な物体同士の重畳関係を把握して動作することができるため、より柔軟な物体の操作をすることができる。
【００１１】
本発明の第３の態様に係るロボットは、上述の第１の態様に係る物体認識装置と、物体を操作可能なロボットアームと、前記第１の物体について、その物体内に他の物体を置くことができる物体か、又は、その物体上に他の物体を置くことができる物体かを示す物体機能情報が格納される格納部と、前記ロボットアームにより前記第１の物体に他の物体を置く場合、前記格納部に格納された物体機能情報に従って、前記第１の物体内に他の物体を置く、又は、前記第２の物体上に他の物体を置くように前記ロボットアームを制御する制御部と、を備え、前記物体関係推定部は、前記第１の物体内に前記第２の物体が存在すると推定した場合、前記第１の物体について、その物体内に他の物体を置くことができる物体であることを示す物体機能情報を前記格納部に格納し、前記第１の物体上に前記第２の物体が存在すると推定した場合、前記第１の物体について、その物体上に他の物体を置くことができる物体であることを示す物体機能情報を前記格納部に格納するようにしてもよい。これによれば、ロボットが、物体の機能（他の物体を内部に置くことができる、他の物体を上に置くことができる）を学習し、物体の機能を考慮してより柔軟な物体の操作をすることができる。
【００１２】
本発明の第４の態様に係る物体認識方法は、周辺を時間的に連続して撮像し、それぞれの画像を示す複数の画像情報を生成するステップと、前記生成された複数の画像情報により、撮像範囲に位置する第１の物体及び第２の物体が静止状態か運動状態のいずれにあるかを判定するステップと、前記第１の物体が静止状態にあり前記第２の物体が運動状態にあると判定した場合、前記第１の物体及び前記第２の物体のうち、前記第２の物体が認識されなくなったときには、前記第１の物体内に前記第２の物体が存在すると推定し、前記第１の物体が認識されなくなったときには、前記第１の物体上に前記第２の物体が存在すると推定するステップと、を備えたものである。これによれば、上述の第１の態様と同様に、物体同士のより具体的な重畳関係を把握することができる。
【発明の効果】
【００１３】
上述した本発明の各態様によれば、物体同士の重畳関係を、より具体的に把握することができる物体認識装置、ロボット及び物体認識方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１に係るロボットの外部構成図である。
【図２】実施の形態１に係るロボットの内部構成図である。
【図３】実施の形態１に係るロボットの処理ブロック図である。
【図４】実施の形態１に係るロボットの処理を示すフローチャートである。
【図５】実施の形態１に係るロボットの処理を示すフローチャートである。
【図６】対象物の重畳関係の一例を示す図である。
【図７】対象物の重畳関係の一例を示す図である。
【図８】実施の形態２に係るロボットの処理ブロック図である。
【図９】実施の形態２に係るロボットの処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下に図面を参照しながら、本発明の好適な実施の形態について説明する。以下の実施の形態に示す具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、それに限定されるものではない。また、以下の記載及び図面では、説明の明確化のため、当業者にとって自明な事項等については、適宜、省略及び簡略化がなされている。
【００１６】
＜発明の実施の形態１＞
本実施の形態１に係るロボット１について説明する。まず、図１を参照して、本実施の形態１に係るロボット１の外部構成について説明する。図１は、本実施の形態１に係るロボット１の外部構成図である。
【００１７】
ロボット１は、ロボット本体１０、移動台車２０、把持部３０、及び頭部４０を有している。ロボット１は、工場において人が行う作業を代行する産業ロボットとして利用することができる。また、ロボット１は、家庭内において人が行う作業を代行するサービスロボットとしても利用することができる。例えば、ロボット１は、人に代わり物体を運搬する作業や、物体を人に拾い届ける作業等を実行するロボットとして利用することができる。
【００１８】
移動台車２０は、その上方でロボット本体１０を支持するように、その上部がロボット本体１０の下部に連結されている。移動台車２０は、その下部に設けられた車輪（図示せず）を駆動することでロボット１を移動させる。
【００１９】
把持部３０は、ロボット本体１０の前方に突出するように、ロボット本体１０の前部に接続されている。把持部３０は、多関節のアーム（ロボットアーム）である。把持部３０は、その先端部に、任意の物体を把持できるハンド６０を含む。これにより、ロボット１は、把持部３０の各関節の角度を調整することで、ハンド６０を所望の位置に移動させ、その位置に存在する物体を把持することができる。
【００２０】
頭部４０は、ロボット本体１０の上方でロボット本体１０に支持されるように、ロボット本体１０の上部に連結されている。頭部４０は、その前方を撮像部５０によって観測可能となるように、その前部に撮像部５０が取り付けられている。撮像部５０は、ロボット１の周辺を撮像し、撮像した周辺の画像を示す画像情報を生成する。すなわち、撮像部５０は、具体的には周辺を撮像するカメラとなる。カメラは、単眼カメラ及びステレオカメラ等の各種カメラのうち、任意のカメラを使用するようにしてよい。
【００２１】
撮像部５０は、所定の角度範囲（画角）を撮像可能となっている。一方、頭部４０とロボット本体１０との連結部は、頭部４０を動作可能となるように多自由度の関節構造となっている。例えば、関節構造として少なくとも２自由度以上を有するようにすることで、頭部４０は、少なくとも上下左右に動作させることが可能とされている。これにより、撮像部５０の撮像可能な角度範囲が限られていても、頭部４０を動作させることで広範囲を撮像することを可能としている。
【００２２】
操作端末９は、ロボット１と無線又は有線によって通信可能な情報処理端末である。本実施の形態では、操作端末９とロボット１とが無線によって通信する例について説明する。操作端末９は、デスクトップＰＣ（Personal Computer）のような据え置き型の情報処理端末であってもよいが、好ましくは、ユーザが生活空間において制限なくロボット１を操作可能とするために、携帯型の情報処理端末であるとよい。携帯型の情報処理端末は、例えば、スマートフォン、又はタブレット端末等である。
【００２３】
ユーザは、操作端末９によってロボット１に対して、上述したような人が行う作業を指示することができる。ロボット１は、ユーザから指示された作業をユーザに代わり実行する。例えば、ロボット１は、ユーザから操作端末９によって物体の運搬を指示された場合、その物体を運搬先に運搬する。
【００２４】
すなわち、上述した構成により、ロボット１は、撮像部５０によって生成した画像情報が示す画像に基づいて周辺に存在する物体を認識する。そして、ロボット１は、認識した物体を把持部３０によって把持して、その物体の運搬先となる目標地点へ移動台車２０の車輪を駆動することで運搬する。
【００２５】
続いて、図２を参照して、本実施の形態１に係るロボット１の内部構成について説明する。図２は、本実施の形態１に係るロボット１の内部構成図である。
【００２６】
ロボット１は、制御部１１、記憶部１２、通信部１３、アクチュエータ２１ａ、２１ｂ、車輪２２ａ、２２ｂ、及びアクチュエータ３１ａ、３１ｂを有する。制御部１１及び記憶部１２は、ロボット本体１０に含まれる。アクチュエータ２１ａ、２１ｂ及び車輪２２ａ、２２ｂは、移動台車２０に含まれる。アクチュエータ３１ａ、３１ｂは、把持部３０に含まれる。
【００２７】
制御部１１は、ロボット１を統括的に制御する。制御部１１は、ＣＰＵ（Central Processing Unit）を有しており、そのＣＰＵが記憶部１２に格納されたプログラムを実行することで、制御部１１としての各種処理を実現する。すなわち、このプログラムは、制御部１１が有するＣＰＵに制御部１１としての各種処理を実行させるためのコードを含んでいる。
【００２８】
記憶部１２は、上記プログラムや、その他の制御部１１が使用する各種情報が格納される。記憶部１２は、上記プログラムや各種情報を格納可能な記憶装置の少なくとも１つを含む。記憶装置として、例えば、メモリ及びハードディスク等の少なくとも１つを任意に使用してよい。
【００２９】
通信部１３は、操作端末９に送信するために制御部１１から出力された情報を、無線信号に変換し、操作端末９に送信する。通信部１３は、操作端末９から受信した無線信号を、制御部１１で処理可能な情報となるように電気信号に変換し、制御部１１に出力する。例えば、ユーザがロボット１に指示をする場合、その指示内容を示す無線信号が操作端末９から送信され、通信部１３によって受信されることになる。
【００３０】
アクチュエータ２１ａ、２１ｂは、ロボット１の車輪２２ａ、２２ｂを駆動する。アクチュエータ２１ａは、制御部１１からの制御によって駆動され、車輪２２ａを回転させる。アクチュエータ２１ｂは、制御部１１からの制御によって駆動され、車輪２２ｂを回転させる。
【００３１】
車輪２２ａ及び車輪２２ｂは、上述した移動台車２０の下部に取り付けられた車輪に該当する。すなわち、制御部１１は、アクチュエータ２１ａ、２１ｂを制御して、車輪２２ａ、２２ｂを回転させることでロボット１を移動させる。
【００３２】
アクチュエータ３１ａ、３１ｂは、ロボット１の把持部３０を駆動する。アクチュエータ３１ａ、３１ｂは、制御部１１からの制御によって駆動され、把持部３０を動作させるアクチュエータ３１ａ、３１ｂのそれぞれは、把持部３０の関節として設けられている。なお、ここでは、把持部３０が、アクチュエータ３１ａとアクチュエータ３１ｂとの２つの関節を有する例について説明するが、把持部３０の関節数は、これに限られない。
【００３３】
ハンド６０は、制御部１１からの制御によって駆動され、物体を把持もしくは解放する。制御部１１は、ハンド６０によって把持対象の物体を把持する場合、各アクチュエータ３１ａ、３１ｂ、２１ａ、２１ｂの少なくとも１つを駆動し、撮像部５０から出力された画像情報が示す画像に基づいて認識した物体までハンド６０を導く。
【００３４】
続いて、図３を参照して、本実施の形態１に係るロボット１の処理ブロックについて説明する。図３は、本実施の形態１に係るロボット１の処理ブロック図である。
【００３５】
制御部１１は、特徴抽出部１１１、特徴点対応付け部１１２、物体認識部１１３、及び運動ベクトル算出部１１４、運動判定部１１５、距離算出部１１６、及び重畳関係推定部１１７として機能する。
【００３６】
また、記憶部１２は、物体情報格納部１２１として機能する。物体情報格納部１２１には、ロボット１が動作する環境に存在する複数の物体のそれぞれについて、物体認識用特徴情報、物体３Ｄモデル情報（物体形状情報）、特徴点位置情報、及び物体ＩＤが格納されている。物体認識用特徴情報、物体３Ｄモデル情報、特徴点位置情報、及び物体ＩＤは、同一の物体について相互に対応付けられている。これらの情報は、物体の種類毎に用意するようにしてもよい。
【００３７】
物体認識用特徴情報は、物体のモデルを特徴点（特徴点群）によって示す情報である。物体３Ｄモデル情報は、物体の３Ｄモデル（モデルとなる三次元形状）を示す情報である。特徴点位置情報は、物体３Ｄモデル情報が示す物体の３Ｄモデルに対する、物体認識用特徴情報が示す各特徴点の位置関係を示す情報である。物体ＩＤは、各物体を一意に示す情報である。
【００３８】
撮像部５０は、所定の時間間隔で撮像し、順次、生成した画像情報を特徴抽出部１１１に出力する。このようにして、複数のフレームの画像情報が順次生成される。
【００３９】
特徴抽出部１１１は、撮像部５０から出力された現フレームの画像情報が示す画像において特徴点（特徴点群）を抽出する。なお、特徴点を抽出するために利用する画像特徴として、ＳＵＲＦ特徴、エッジ特徴、及びＨＯＧ（Histogram of Oriented Gradient）特徴等の特徴のうち、任意の特徴を利用するようにしてよい。
【００４０】
特徴点対応付け部１１２は、特徴抽出部１１１によって抽出された特徴点と、物体認識用特徴情報が示す物体のモデルの特徴点との対応付けを行う。すなわち、特徴点対応付け部１１２は、抽出された特徴点と、物体のモデルの特徴点とを照合（マッチング）することで、抽出された特徴点の中から物体のモデルの特徴点と一致する特徴点を特定し、相互に対応付ける。すなわち、これにより、画像の特徴点の中から、物体の特徴点が認識される。
【００４１】
物体認識部１１３は、特徴点対応付け部１１２によって特定された特徴点の対応関係に基づいて、どの物体（どの物体ＩＤの物体）が存在するか認識するとともに、物体の位置・姿勢を認識する。具体的には、物体認識部１１３は、抽出された特徴点と物体のモデルの特徴点との間で対応付けられた（一致した）特徴点が、物体のモデルの全ての特徴点に対して所定の割合を超えている場合に、その位置にその物体が存在するものと認識する。これにより、物体認識部１１３は、その物体のモデルの特徴量を示す物体認識用特徴情報に対応する物体ＩＤの物体が存在すると認識する。また、物体認識部１１３は、抽出された物体の特徴点の位置関係に基づいて、物体の姿勢（傾き）を特定する。なお、物体の位置には、ロボット１から物体までの距離も含まれる。ここで、ロボット１から物体までの距離は、撮像部５０が単眼カメラであれば、特徴点間の距離に基づいて推定するようにすればよく、２つの以上の画像を撮像するステレオカメラであれば、２つの画像間の同一地点のズレ量（例えば同一特徴点のズレ量等）に基づいて算出するようにすればよい。
【００４２】
運動ベクトル算出部１１４は、物体認識部１１３による過去フレームから現フレームまでの複数フレーム分の物体の認識結果（物体の位置）の比較によって、物体の運動ベクトル（方向および速度）を算出する。例えば、物体認識部１１３が現フレームの物体の認識結果を記憶部１２に格納することで、その後のフレームの処理時に運動ベクトル算出部１１４が過去フレームの物体の認識結果として参照可能とすればよい。
【００４３】
運動判定部１１５は、運動ベクトル算出部１１４によって算出された物体の運動ベクトルから、過去フレームから現フレームにかけて、その物体が運動しているか否かを判定する。具体的には、運動判定部１１５は、物体の運動ベクトルの大きさが所定の閾値以上である場合、その物体が運動している（運動状態にある）と判定する。一方、運動判定部１１５は、物体の運動ベクトルの大きさが所定の閾値未満である場合、その物体が運動していない（静止状態にある）と判定する。
【００４４】
距離算出部１１６は、物体認識部１１３によって得られた複数の物体のそれぞれの認識結果（物体の位置）から、現フレームにおける物体同士の距離を算出する。
【００４５】
重畳関係推定部１１７は、距離算出部１１６によって算出された過去フレームでの物体同士の距離と、運動判定部１１５による過去フレームでのそれらの物体が運動しているか否かの判定結果と、物体認識部１１３による現フレームでのそれらの物体の認識結果とから、物体同士がどのような重畳関係にあるのかを推定する。
【００４６】
具体的には、重畳関係推定部１１７は、次の（１）〜（４）に示す事前知識に従って物体同士の重畳関係を推定する。
【００４７】
（１）対象物体同士が接近した後に一方の対象物体しか見えなくなった場合、一方の対象物体が他方の対象物体に重畳している
（２）対象物体Ａが対象物体Ｂを隠している場合、対象物体Ａが動いた後でも対象物体Ｂが見えなければ、対象物体Ｂは対象物体Ａに随伴して運動している
（３）対象物体Ａが静止しており、対象物体Ｂが運動した後に対象物体Ｂが見えなくなった場合、対象物体Ｂは対象物体Ａ内に存在する
（４）対象物体Ａが静止しており、対象物体Ｂが運動した後に対象物体Ａが見えなくなった場合、対象物体Ｂは対象物体Ａ上に存在する
【００４８】
特に、重畳関係推定部１１７は、（３）（４）に示すように、対象物体Ａ及び対象物体Ｂのうち、どちらの対象物体が認識されなくなった場合に、どちらの対象物体が運動していたか否かも考慮することで、より具体的な重畳関係を特定する。すなわち、運動している物体が認識できなくなった場合には、その物体が他方の物体内に入り込んだ蓋然性が高いため、運動していた物体が静止していた物体内に存在すると推定する。一方、静止している物体が認識できなくなった場合には、その物体上に他方の物体が載せられた蓋然性が高いため、運動していた物体が静止していた物体上に存在すると推定する。このようにして、本実施の形態では、物体同士の重畳関係として、単に物体が遮蔽されているか否かだけでなく、外部及び内部のいずれにおいて重畳しているかまで把握するこを可能としている。
【００４９】
続いて、図４及び図５を参照して、本実施の形態１に係るロボット１の処理について説明する。図４及び図５は、本実施の形態１に係るロボット１の処理を示すフローチャートである。以下、説明の簡略化のため、ｔフレーム目における物体の重畳関係の判定のみに着目して説明をする。すなわち、実際は、以下に説明する処理はパイプライン処理的に実施され、ｔフレーム目以外のフレームのそれぞれにおいても同様に物体の重畳関係の判定が行われることになる。また、以下の説明では、説明の簡略化のため、撮像によって得られた画像において２つの物体（対象物Ａ、対象物Ｂ）が認識される場合について例示する。
【００５０】
（ｔ−２フレーム目の画像に対する処理）
撮像部５０は、その画角内で周辺を撮像し、撮像した環境の画像（カメラ画像）を示す画像情報を生成して特徴抽出部１１１に出力する（Ｓ１）。特徴抽出部１１１は、撮像部５０から出力された画像情報が示す画像について特徴点を抽出する（Ｓ２）。
【００５１】
特徴点対応付け部１１２は、特徴抽出部１１１によって抽出された特徴点と、物体情報格納部１２１に格納された物体認識用特徴情報が示す物体のモデルの特徴点とをマッチングし、相互に一致する特徴点を特定する（Ｓ３）。
【００５２】
物体認識部１１３は、特徴点対応付け部１１２によって特定された特徴点の対応関係に基づいて、マッチングの取れた特徴点から物体ＩＤ及び物体の位置・姿勢を認識する（Ｓ４）。すなわち、物体認識部１１３は、特徴点のマッチングの取れた物体のモデルに対応する物体ＩＤの物体が存在するものと認識する。また、抽出された特徴点に対して、一致する特徴点を基準として物体のモデルの特徴点を当てはめた場合に、その物体のモデルが占める位置に物体が存在すると推定する。また、一致する特徴点を基準として当てはめられた物体のモデルの特徴点から、特徴点位置情報が示す物体の３Ｄモデルと物体の特徴点との位置関係に基づいて物体が存在する領域（物体全体の領域）も特定することができる。よって、例えば、その当てはめられた物体のモデルの特徴点における各特徴点の重心、又は、物体が存在する領域の重心等として、物体の位置を認識することができる。
【００５３】
また、物体の姿勢（傾き）は、一致する特徴点について、物体のモデルの特徴点の分布に対する、抽出された物体の特徴点の分布の傾きとして特定することができる。この傾きは、例えば、物体のモデルの特徴点において、物体が傾きなく水平面に置かれた状態における方向を定義しておくことで特定するようにすればよい。これによれば、特徴点認識用特徴情報に基づいて、物体のモデルの特徴点の分布に対する、抽出された物体の特徴点の分布の傾きとして、物体の姿勢を特定することができる。
【００５４】
なお、ここでは、上述したように、対象物Ａと対象物Ｂの２つの物体が認識されたものとして説明を続ける。
【００５５】
距離算出部１１６は、距離算出部１１６によって認識された対象物同士の距離を算出する（Ｓ５）。すなわち、距離算出部１１６は、対象物Ａの位置と対象物Ｂの位置との差として、対象物Ａと対象物Ｂの距離を算出する。
【００５６】
重畳関係推定部１１７は、対象物同士の距離が近いか否かを判定する（Ｓ６）。すなわち、重量関係推定部１１７は、対象物Ａと対象物Ｂの距離が所定の閾値以上である場合、対象物同士の距離が近くないと判定する。一方、重量関係推定部１１７は、対象物Ａと対象物Ｂの距離が所定の閾値未満である場合、対象物同士の距離が近いと判定する。
【００５７】
対象物同士の距離が近くないと判定した場合（Ｓ６：Ｎｏ）、重畳関係推定部１１７は、その対象物Ａと対象物Ｂの重畳関係の推定は行わない。この場合は、対象物Ａと対象物Ｂが離れているため、対象物Ａと対象物Ｂのいずれかが認識されなくなるような場合であっても、対象物Ａと対象物Ｂが重畳することは無いと考えられるからである。一方、対象物同士の距離が近いと判定した場合（Ｓ６：Ｙｅｓ）、ステップＳ７以降の対象物Ａと対象物Ｂの重畳関係を推定する処理を継続する。
【００５８】
（ｔ−１フレーム目の画像に対する処理）
次のフレームとなるｔ−１フレーム目の画像についても物体が認識されることになるため、その認識結果を利用して以下の処理が行われる（Ｓ７）。具体的には、ロボット１は、ｔ−１フレーム目の画像についても、上述のステップＳ１〜Ｓ４と同様の処理によって対象物Ａ及び対象物Ｂを認識する。すなわち、ｔ−１フレーム目の画像による物体の認識は、ステップＳ６でＮｏとなる場合も当然に行われることとなる。
【００５９】
運動ベクトル算出部１１４は、物体認識部１１３によって認識した対象物Ａ及び対象物Ｂのそれぞれについて運動ベクトルを算出する（Ｓ８）。具体的には、運動ベクトル算出部１１４は、対象物Ａと対象物Ｂのそれぞれについて、ｔ−２フレーム目の画像において認識した位置から、ｔ−１フレーム目の画像において認識した位置までのベクトルを、運動ベクトルとして算出する。
【００６０】
運動判定部１１５は、運動ベクトル算出部１１４によって算出された対象物Ａの運動ベクトルから、対象物Ａが静止しているか否かを判定する（Ｓ９）。すなわち、運動判定部１１５は、対象物Ａの運動ベクトルが所定の閾値未満である場合、対象物Ａが静止していると判定する。一方、運動判定部１１５は、対象物Ａの運動ベクトルが所定の閾値以上である場合、対象物Ａが静止しておらず、運動していると判定する。
【００６１】
また、運動判定部１１５は、運動ベクトル算出部１１４によって算出された対象物Ｂの運動ベクトルから、対象物Ｂが静止しているか否かを判定する（Ｓ１０、Ｓ１１）。すなわち、運動判定部１１５は、対象物Ｂの運動ベクトルが所定の閾値未満である場合、対象物Ｂが静止していると判定する。一方、運動判定部１１５は、対象物Ｂの運動ベクトルが所定の閾値以上である場合、対象物Ｂが静止しておらず、運動していると判定する。
【００６２】
対象物Ａと対象物Ｂが共に静止していると判定された場合（Ｓ９：Ｙｅｓ、Ｓ１０：Ｙｅｓ）、対象物Ａと対象物Ｂの重畳関係の推定は行わない。この場合は、対象物Ａと対象物Ｂがいずれも動いていないため、対象物Ａと対象物Ｂが重畳することは無いと考えられるからである。
【００６３】
対象物Ａが静止しているが、対象物Ｂが静止しておらず運動していると判定された場合（Ｓ９：Ｙｅｓ、Ｓ１０：Ｎｏ）、ステップＳ１２以降の対象物Ａと対象物Ｂの重畳関係を推定する処理を継続する。
【００６４】
対象物Ａが静止しておらず運動しているが、対象物Ｂが静止していると判定された場合（Ｓ９：Ｎｏ、Ｓ１０：Ｙｅｓ）、ステップＳ１８以降の対象物Ａと対象物Ｂの重畳関係を推定する処理を継続する。
【００６５】
対象物Ａと対象物Ｂが共に静止しておらず運動していると判定された場合（Ｓ９：Ｎｏ、Ｓ１０：Ｎｏ）、対象物Ａと対象物Ｂの重畳関係の推定は行わない。ただし、この場合には、対象物Ａ及び対象物Ｂが共に運動しており、いずれかの対象物が他方の対象物に遮蔽される可能性がある。そのため、次のフレームで、いずれかの対象物が認識できなくなった場合には、他方の対象物によって遮蔽されているとの重畳関係の推定を行うようにしてもよい。
【００６６】
（ｔフレーム目の画像に対する処理１）
次のフレームとなるｔフレーム目の画像についても物体が認識されることになるため、その認識結果を利用して以下の処理が行われる（Ｓ１２）。具体的には、ロボット１は、ｔフレーム目の画像についても、上述のステップＳ１〜Ｓ４と同様の処理によって対象物Ａ及び対象物Ｂを認識する。すなわち、ｔフレーム目の画像による物体の認識は、ステップＳ６でＮｏとなる場合も当然に行われることとなる。ただし、ここでは、対象物Ａ及び対象物Ｂのうち、いずれかの対象物が認識できない場合が発生するものとして説明する。
【００６７】
重畳関係推定部１１７は、物体認識部１１３によるｔフレーム目の画像での認識結果において対象物Ａが認識できているか否かを判定する（Ｓ１３）。また、重畳関係推定部１１７は、物体認識部１１３によるｔフレーム目の画像での認識結果において対象物Ｂが認識できているか否かを判定する（Ｓ１４、Ｓ１５）。
【００６８】
対象物Ａと対象物Ｂが共に認識できている場合（Ｓ１３：Ｙｅｓ、Ｓ１４：Ｙｅｓ）、重畳関係推定部１１７は、対象物Ａと対象物Ｂの重畳関係の推定は行わない。この場合は、対象物Ａと対象物Ｂが共に見えており、対象物Ａと対象物Ｂは重畳していないからである。もしくは、対象物Ａか対象物Ｂの一部が隠蔽されているが、対象物Ａと対象物Ｂの位置が認識の結果、特定できており、重畳関係が明らかであるからである。
【００６９】
対象物Ａが認識できるが、対象物Ｂが認識できていない場合（Ｓ１３：Ｙｅｓ、Ｓ１４：Ｎｏ）、重畳関係推定部１１７は、対象物Ｂが対象物Ａ内に存在すると判定する（Ｓ１５）。この場合は、対象物Ａが静止しており、対象物Ｂが運動しているときに、対象物Ａと対象物Ｂのうち、対象物Ｂのみが認識できなくなった場合となる。よって、対象物Ｂが対象物Ａ内に入ったと考えられるからである。
【００７０】
例えば、図６に例示するように、食器棚（対象物Ｂ）に食器（対象物Ａ）が入れられた場合、ステップＳ１５に到達する。すなわち、ロボット１は、例えば、図６に例示するようなケースにおいて、食器棚（対象物Ｂ）に食器（対象物Ａ）が入れられたという重畳関係を適切に認識することができる。
【００７１】
対象物Ａが認識できないが、対象物Ｂが認識できる場合（Ｓ１３：Ｎｏ、Ｓ１５：Ｙｅｓ）、重畳関係推定部１１７は、対象物Ｂが対象物Ａ上に存在すると判定する（Ｓ１７）。この場合は、対象物Ａが静止しており、対象物Ｂが運動しているときに、対象物Ａと対象物Ｂのうち、対象物Ａのみが認識できなくなった場合となる。よって、対象物Ｂが対象物Ａ上に載せられたと考えられるからである。
【００７２】
例えば、図７に例示するように、食器（対象物Ａ）の上に他の食器（対象物Ｂ）が重ねて置かれた場合、ステップＳ１７に到達する。すなわち、ロボット１は、例えば、図７に例示するようなケースにおいて、食器（対象物Ａ）の上に他の食器（対象物Ｂ）が重ねて置かれたという重畳関係を適切に認識することができる。
【００７３】
ここで、図７に示すように、対象物Ａに対して対象物Ｂを重ねて置いた場合であっても、対象物Ａが認識できているのであれば、対象物Ａと対象物Ｂのそれぞれの位置が認識できるので、その位置関係からロボット１は対象物Ａに対して対象物Ｂを重ねて置かれた状態であることを推定することができる。一方で、ＳＵＲＦのように輝度変化の大きい点を特徴点として抽出する画像特徴を利用する場合、図７のように対象物Ａの上に対象物Ｂを置くことで対象物Ａの絵柄が隠れてしまうと、対象物Ａが認識できなくなる場合がある。また、エッジ特徴及びＨＯＧ特徴のように物体の輪郭を特徴点として抽出する画像特徴を利用する場合、図７のように対象物Ａの上に対象物Ｂを置くことで対象物Ａの輪郭が広範囲で見えなくなってしまうと、対象物Ａが認識できなくなる場合がある。本実施の形態によれば、このような場合にも、対象物Ａの上に対象物Ｂが存在するとして重畳関係を適切に認識することができる。
【００７４】
対象物Ａと対象物Ｂが共に認識できていない場合（Ｓ１３：Ｎｏ、Ｓ１５：Ｎｏ）、重畳関係推定部１１７は、対象物Ａと対象物Ｂの重畳関係の推定は行わない。この場合は、対象物Ａと対象物Ｂは共に、対象物Ａ及び対象物Ｂ以外の他の対象物との関係で認識できなくなっている可能性がある。しかしながら、その場合であっても、ロボット１は、対象物Ａ及び対象物Ｂのそれぞれと、他の対象物との関係においても、上述の処理を実行するため、その重畳関係を特定することが可能である。
【００７５】
（ｔフレーム目の画像に対する処理２）
上述したように、次のフレームとなるｔフレーム目の画像についても物体が認識されることになるため、その認識結果を利用して以下の処理が行われる（Ｓ１８）。ただし、ここでも、上述と同様に、対象物Ａ及び対象物Ｂのうち、いずれかの対象物が認識できない場合が発生するものとして説明する。
【００７６】
重畳関係推定部１１７は、物体認識部１１３によるｔフレーム目の画像での認識結果において対象物Ａが認識できているか否かを判定する（Ｓ１９）。また、重畳関係推定部１１７は、物体認識部１１３によるｔフレーム目の画像での認識結果において対象物Ｂが認識できているか否かを判定する（Ｓ２０、Ｓ２１）。
【００７７】
対象物Ａと対象物Ｂが共に認識できている場合（Ｓ１９：Ｙｅｓ、Ｓ２０：Ｙｅｓ）、重畳関係推定部１１７は、対象物Ａと対象物Ｂの重畳関係の推定は行わない。この場合は、対象物Ａと対象物Ｂが共に見えており、対象物Ａと対象物Ｂは重畳していないからである。もしくは、対象物Ａか対象物Ｂの一部が隠蔽されているが、対象物Ａと対象物Ｂの位置が認識の結果、特定できており、重畳関係が明らかであるからである。
【００７８】
対象物Ａが認識できるが、対象物Ｂが認識できていない場合（Ｓ１９：Ｙｅｓ、Ｓ２０：Ｎｏ）、重畳関係推定部１１７は、対象物Ａが対象物Ｂ上に存在すると判定する（Ｓ２２）。この場合は、対象物Ｂが静止しており、対象物Ａが運動しているときに、対象物Ａと対象物Ｂのうち、対象物Ｂのみが認識できなくなった場合となる。よって、対象物Ａが対象物Ｂ上に載せられたと考えられるからである。
【００７９】
対象物Ａが認識できないが、対象物Ｂが認識できる場合（Ｓ１９：Ｎｏ、Ｓ２１：Ｙｅｓ）、重畳関係推定部１１７は、対象物Ａが対象物Ｂ内に存在すると判定する（Ｓ２３）。この場合は、対象物Ｂが静止しており、対象物Ａが運動しているときに、対象物Ａと対象物Ｂのうち、対象物Ａのみが認識できなくなった場合となる。よって、対象物Ａが対象物Ｂ内に入ったと考えられるからである。
【００８０】
対象物Ａと対象物Ｂが共に認識できていない場合（Ｓ１９：Ｎｏ、Ｓ２１：Ｎｏ）、重畳関係推定部１１７は、対象物Ａと対象物Ｂの重畳関係の推定は行わない。この場合は、対象物Ａと対象物Ｂは共に、対象物Ａ及び対象物Ｂ以外の他の対象物との関係で認識できなくなっている可能性がある。しかしながら、その場合であっても、ロボット１は、対象物Ａ及び対象物Ｂのそれぞれと、他の対象物との関係においても、上述の処理を実行することができるため、その重畳関係を特定することが可能である。
【００８１】
上述の処理によれば、ロボット１は、物体の重畳関係をより具体的（物体内に他の物体が存在するか、物体上に他の物体が存在するか）に認識することができるため、その物体の具体的な重畳関係を考慮して、把持部３０によって、より柔軟な物体の操作をすることができる。
【００８２】
例えば、制御部１１は、食器棚（対象物Ｂ）の中に食器（対象物Ａ）が置かれた場合でも、その後に柔軟な物体の操作をすることができる。すなわち、このようにしても、上述した処理によれば、制御部１１は、食器棚の中に食器が置かれていると把握しているため、例えばユーザから操作端末９を介して食器を取ってくるように指示された場合に、食器を食器棚から出すように把持部３０を制御をすることができる。
【００８３】
また、例えば、制御部１１は、食器（対象物Ａ）の上に食器（対象物Ｂ）が重ねて置かれた場合であっても、その後に柔軟な物体の操作をすることができる。すなわち、このようにしても、上述の処理によれば、制御部１１は、食器（対象物Ａ）の上に食器（対象物Ｂ）が置かれていると把握しているため、例えばユーザから操作端末９を介して食器（対象物Ａ）を取ってくるように指示された場合に、食器（対象物Ａ）の上に置かれた食器（対象物Ｂ）を下ろして食器（対象物Ａ）を把持するように把持部３０を制御することができる。
【００８４】
このように、本実施の形態によれば、制御部１１は、重複関係推定部１１７によって推定された対象物Ａ及び対象物Ｂの重畳関係を考慮して対象物Ａ又は対象物Ｂを操作するように把持部３０を制御することができる。これによれば、上述したように、より柔軟な物体の操作をすることができる。特に、ロボット１のように、人の作業を代行して実行するロボットに適用することで、上述したように、より人が実行する動作に近い柔軟な物体の操作を実施することが可能となるため、非常に有効である。
【００８５】
なお、以上の処理では、運動ベクトルの算出を、最終的な判定を行うフレーム（ｔフレーム）の１つ前のフレーム（ｔ−１フレーム）と２つ前のフレーム（ｔ−２フレーム）における認識結果を利用して行う例について説明したが、これに限られない。例えば、異なる２つのフレーム（例えばｔ−１フレームとｔ−３フレーム、又は、ｔ−２フレームとｔ−３フレーム等）での認識結果を利用してもよく、３つ以上のフレーム（ｔ−１〜ｔ−３フレーム）を利用してもよい。しかしながら、好ましくは、上述したように、最終的な判定を行うフレーム（ｔフレーム）により近いフレームで運動ベクトルを算出するとよい。
【００８６】
また、上述の処理では、対象物同士の距離を、最終的な判定を行うフレーム（ｔフレーム）の２つ前のフレーム（ｔ−２フレーム）における認識結果を利用して行う例について説明したが、これに限られない。例えば、他のフレーム（ｔ−１フレームや、ｔ−３フレーム等）での認識結果を利用してもよい。しかしながら、好ましくは、上述したように、最終的な判定を行うフレーム（ｔフレーム）により近いフレーム（例えばｔ−１フレームやｔ−２フレーム）で対象物同士の距離を算出するとよい。
【００８７】
なお、上述の処理の典型的な状況としては、撮像部５０が対象物Ａや対象物Ｂの上方に位置している状況となる。例えば、斜め上方から、これらの物体を撮像している場合である。この場合には、例えば、図７に示すように、対象物Ａの上に対象物Ｂが載せられた状態を適切に把握することができる。また、撮像部５０が対象物Ａや対象物Ｂの真上に位置している場合であってもよい。
【００８８】
さらに、より正確に対象物Ａと対象物Ｂの重畳関係を把握するためには、対象物Ａ及び対象物Ｂの物体３Ｄモデル情報による対象物Ａ及び対象物Ｂの構造や、対象物Ａ及び対象物Ｂのロボット１からの相対的な位置関係を考慮して判定を行うようにしてもよい。例えば、対象物Ｂが静止しており対象物Ａが運動しているときに、対象物Ａと対象物Ｂのうち、対象物Ａのみが認識できなくなったときであっても、対象物Ｂの物体３Ｄモデル情報によれば対象物Ｂが物体を入れることができない構造である場合や、対象物Ａと対象物Ｂの相対位置が大きく異なる（例えば所定の閾値以上である）場合には、対象物Ａが対象物Ｂ内に存在すると判定しないようにしてもよい。また、例えば、対象物Ｂが静止しており対象物Ａが運動しているときに、対象物Ａと対象物Ｂのうち、対象物Ｂのみが認識できなくなったときであっても、対象物Ｂの物体３Ｄモデル情報によれば対象物Ｂが物体を上に載せることができない構造である場合や、対象物Ａと対象物Ｂの相対位置が大きく異なる（例えば所定の閾値以上である）場合には、対象物Ａが対象物Ｂ上に存在すると判定しないようにしてもよい。
【００８９】
以上に説明したように、本実施の形態１は、第１の物体と第２の物体が十分近い距離に存在し、第１の物体が静止状態にあり第２の物体が運動状態にあるときに、第１の物体が認識されているが第２の物体が認識されなくなった場合には、前記第１の物体内に前記第２の物体が存在すると推定するようにしている。また、第１の物体が静止状態にあり第２の物体が運動状態にあるときに、第２の物体が認識されているが第１の物体が認識されなくなった場合には、第１の物体上に第２の物体が存在すると推定するようにしている。これによれば、物体が他方の物体内に存在する形で重畳しているのか、物体が他方の物体上に存在する形で重畳しているのかといった物体同士のより具体的な重畳関係を把握することができる。
【００９０】
＜発明の実施の形態２＞
続いて、実施の形態２に係るロボット１について説明する。本実施の形態２に係るロボット１の外部構成及び内部構成については、図１及び図２と同様であるため説明を省略する。図８を参照して、本実施の形態２に係るロボット１の処理ブロックについて説明する。図８は、本実施の形態２に係るロボット１の処理ブロック図である。
【００９１】
本実施の形態２に係る制御部１１は、実施の形態１に係る制御部１１と比較して、さらに、物体機能推定部１１８及び物体機能格納部１２２として機能する。
【００９２】
物体機能推定部１１８は、重畳関係推定部１１７によって得られた物体同士の重畳関係から、物体の機能を推定する。例えば、物体機能推定部１１８は、重畳関係推定部１１７によって対象物Ｂが対象物Ａ上に存在すると推定された場合、対象物Ａは別の物体を上に載せられる物体であるということを、対象物Ａ固有の機能として学習する。また、物体機能推定部１１８は、重畳関係推定部１１７によって対象物Ｂが対象物Ａ内に存在すると推定された場合、対象物Ａは別の物体を内部に入れられる物体であるということを、対象物Ａ固有の機能として学習する。
【００９３】
物体機能格納部１２２は、物体情報格納部１２１に格納された物体ＩＤと対応付けられて、その物体ＩＤが示す物体ＩＤの物体における物体固有の機能を示す物体機能情報が格納される。この物体機能情報は、物体機能推定部１１８によって格納される。すなわち、物体認識部１１３によってある物体ＩＤの物体として認識された物体が別の物体を上に載せられる物体であると学習した場合、物体機能推定部１１８は、その物体ＩＤと対応付けて、別の物体を上に載せられる物体であることを示す物体機能情報を物体機能格納部１２２に格納する。また、物体認識部１１３によってある物体ＩＤの物体として認識された物体が別の物体を内部に入れられる物体であると学習した場合、物体機能推定部１１８は、その物体ＩＤと対応付けて、別の物体を内部に入れられる物体であることを示す物体機能情報を物体機能格納部１２２に格納する。
【００９４】
続いて、図９を参照して、本実施の形態１に係るロボット１の処理について説明する。図９は、本実施の形態１に係るロボット１の処理を示すフローチャートである。以下、重畳関係が推定される２つの物体を、対象物Ａ及び対象物Ｂとして説明する。
【００９５】
重畳関係推定部１１７は、図４及び図５を参照して説明した処理により、対象物同士の重畳関係を推定する（Ｓ３１）。
【００９６】
物体機能推定部１１８は、重畳関係推定部１１７によって推定された対象物同士の重畳関係から、対象物の機能を推定する（Ｓ３２）。例えば、物体機能推定部１１８は、重畳関係推定部１１７によって対象物Ｂが対象物Ａ上に存在すると推定された場合、対象物Ａは別の物体を上に載せられる物体であると推定する。また、物体機能推定部１１８は、重畳関係推定部１１７によって対象物Ｂが対象物Ａ内に存在すると推定された場合、対象物Ａは別の物体を内部に入れられる物体であると推定する。
【００９７】
物体機能推定部１１８は、推定した対象物の機能を物体機能格納部１２２に記憶する（Ｓ３３）。例えば、物体機能推定部１１８は、対象物Ａは別の物体を上に載せられる物体であると推定した場合、それを示す物体機能情報を対象物Ａの物体ＩＤと対応付けて物体機能格納部１２２に格納する。物体機能推定部１１８は、対象物Ａは別の物体を内部に入れられる物体であると推定した場合、それを示す物体機能情報を対象物Ａの物体ＩＤと対応付けて物体機能格納部１２２に格納する。
【００９８】
制御部１１は、物体機能格納部１２２に記憶された対象物の機能に従って対象物を操作するように把持部３０を制御する（Ｓ３４）。例えば、物体機能推定部１１８は、対象物Ａについて、別の物体を上に載せられる物体であることを示す物体機能情報が物体機能格納部１２２に格納されている場合、対象物Ａに他の物体を置くときには、対象物Ａ上に他の物体を置くように把持部３０を制御する。また、物体機能推定部１１８は、対象物Ａについて、別の物体を内部に入れられる物体であることを示す物体機能情報が物体機能格納部１２２に格納されている場合、対象物Ａに他の物体を置くときには、対象物Ａ内に他の物体を置くように把持部３０を制御する。
【００９９】
上述の処理によれば、ロボット１は、物体の機能を認識することができるため、その物体の機能を利用して物体の操作をすることができる。
【０１００】
例えば、制御部１１は、図６に示すようにユーザが食器（対象物Ａ）を食器棚（対象物Ｂ）に片づける行為を撮像部５０によって撮像することで、食器棚（対象物Ｂ）が別の物体を内部に入れることができる物体であることを学習することができる。よって、制御部は、その後に、ユーザから操作端末９を介して、図６に示すように食器（対象物Ａ）を食器棚（対象物Ｂ）に片づけるように指示を受けた場合、食器（対象物Ａ）を把持して、食器棚（対象物Ｂ）の中に置くように把持部３０を制御することが可能となる。
【０１０１】
また、例えば、制御部１１は、図７に示すようにユーザが食器（対象物Ａ）の上に食器（対象物Ｂ）を重ねて置く行為を撮像部５０によって撮像することで、食器（対象物Ａ）が別の物体を上に載せられる物体であることを学習することができる。よって、制御部１１は、その後に、ユーザから操作端末９を介して、図７に示すような食器（対象物Ａ及び対象物Ｂ）を運搬する指示を受けた場合、食器（対象物Ａ）の上に食器（対象物Ｂ）を重ねて置いた後に食器（対象物Ａ）を把持し、食器（対象物Ａ及び対象物Ｂ）をまとめて運搬するように把持部３０を制御することが可能となる。なお、この場合には、下の食器（対象物Ａ）が認識されなくなることになるが、食器（対象物Ａ）の上に食器（対象物Ｂ）が重ねられていることは把握しているため、例えば最後の食器（対象物Ａ）の認識結果に従って食器（対象物Ａ）を把持する等すればよい。
【０１０２】
このように、本実施の形態によれば、制御部１１は、物体機能推定部１１８によって推定された対象物の機能に従って、対象物内に他の物体を置く、対象物上に他の物体を置くように把持部３０を制御することができる。すなわち、上述したように、ロボット１が、物体の機能を学習し、物体の機能を考慮して物体の操作をすることができる。特に、ロボット１のように、人の作業を代行して実行するロボットに適用することで、上述したように、より人が実行する物体の操作を学習し、それに近い柔軟な物体の操作を実施することが可能となるため、非常に有効である。
【０１０３】
以上に説明したように、本実施の形態２では、物体機能推定部１１８は、第１の物体内に第２の物体が存在すると推定した場合、第１の物体について、その物体内に他の物体を置くことができる物体であることを示す物体機能情報を物体機能格納部１２２に格納するようにしている。また、物体機能推定部１１８は、第１の物体上に第１の物体が存在すると推定した場合、第１の物体について、その物体上に他の物体を置くことができる物体であることを示す物体機能情報を物体機能格納部１２２に格納するようにしている。そして、制御部１１は、把持部３０により第１の物体に他の物体を置く場合、物体機能格納部１２２に格納された物体機能情報に従って、第１の物体内に他の物体を置く、又は、第２の物体上に他の物体を置くように把持部３０を制御するようにしている。これによれば、ロボット１が、物体の機能（他の物体を内部に置くことができる、他の物体を上に置くことができる）を学習し、物体の機能を考慮して物体の操作をすることができる。
【０１０４】
なお、本発明は上記の実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【０１０５】
例えば、本実施の形態では、対象物Ａと対象物Ｂの２つの物体を認識して、それらの重畳関係を推定する場合について説明したが、３つ以上の複数の物体についても相互に重畳関係を推定するようにしてもよい。すなわち、複数の物体において２つの物体がとり得る組み合わせの全てについて対象物Ａ及び対象物Ｂとして、図４及び図５を参照して説明した処理を繰り返すことで、３つ以上の複数の物体についても相互に重畳関係を推定することが可能である。
【符号の説明】
【０１０６】
１  ロボット
１０  ロボット本体
２０  移動台車
３０  把持部
４０  頭部
５０  撮像部
６０  ハンド
１１  制御部
１２  記憶部
１３  通信部
２１ａ、２１ｂ  アクチュエータ
２２ａ、２２ｂ  車輪
３１ａ、３１ｂ  アクチュエータ
１１１  特徴抽出部
１１２  特徴点対応付け部
１１３  物体認識部
１１４  運動ベクトル算出部１１４
１１５  運動判定部
１１６  距離算出部
１１７  重畳関係推定部
１１８  物体機能推定部
１２１  物体情報格納部
１２２  物体機能格納部
【図１】
2015114933.tif 000003
【図２】
2015114933.tif 000004
【図３】
2015114933.tif 000005
【図４】
2015114933.tif 000006
【図５】
2015114933.tif 000007
【図６】
2015114933.tif 000008
【図７】
2015114933.tif 000009
【図８】
2015114933.tif 000010
【図９】
2015114933.tif 000011