(57)【特許請求の範囲】
【請求項１】
透明又は半透明の梱包材と前記梱包材に梱包された対象物とが撮像された撮像画像を取得する画像取得部と、
前記画像取得部の情報に基づいて前記梱包材の位置と姿勢とを検出し、前記梱包材に梱包された対象物の輪郭を検出する梱包材検出部と、
前記梱包材検出部の情報に基づいて、第１収容状況と第２収容状況とのいずれかである収容状況を検出する収容状況検出部と、
前記収容状況に基づいて、前記梱包材の部位のうちロボットの第１マニピュレーターに設けられた第１把持部に把持させる部位である第１把持部位の位置を算出する把持位置姿勢算出部と、
前記把持位置姿勢算出部が算出した前記第１把持部位の位置に基づいて、前記ロボットを動作させるロボット制御部と、
を備え、
前記ロボット制御部は、
前記収容状況が前記第１収容状況の場合、前記梱包材を前記第１把持部に把持させ、把持させた前記梱包材を前記第１把持部によって移動させて前記収容状況を前記第２収容状況に変化させ、
前記収容状況が前記第２収容状況の場合、前記第１把持部に前記梱包材を把持させる、
ロボット制御装置。
【請求項２】
前記ロボット制御部は、
前記第１把持部と前記ロボットの第２マニピュレーターに設けられた第２把持部とに前記梱包材を把持させた後、前記梱包材を切断させる動作を前記ロボットに行わせる、
請求項１に記載のロボット制御装置。
【請求項３】
前記第１マニピュレーターおよび前記第１把持部との間に設けられ、前記第１把持部に作用する力を検出する第１力センサーと、前記第２マニピュレーターおよび前記第２把持部との間に設けられ、前記第２把持部に作用する力を検出する第２力センサーの出力値を取得する力センサー情報取得部を備え、
前記ロボット制御部は、
前記第１力センサーから取得された力センサー情報に基づいて前記梱包材の第１把持部位を前記第１把持部に把持させ、
前記第２力センサーから取得された力センサー情報に基づいて前記梱包材の第２把持部位を前記第２把持部に把持させ、
前記梱包材を切断させる動作を前記ロボットに行わせる際、前記梱包材が有する位置のうち前記第１把持部と前記第２把持部との間の部位であり、前記第１把持部と前記第２把持部とによって張力が掛けられている位置を切断させる、
請求項２に記載のロボット制御装置。
【請求項４】
前記ロボット制御部は、
前記梱包材を切断させる動作を前記ロボットに行わせた後、前記第１把持部に前記対象物を前記梱包材から出させ、前記第１把持部に前記梱包材を所定の場所へ載置させる、
請求項２又は３に記載のロボット制御装置。
【請求項５】
前記画像取得部は、前記ロボットが備える撮像部が撮像した前記撮像画像を取得し、
前記梱包材検出部は、前記画像取得部が取得した前記撮像画像に基づいて前記梱包材の内側における少なくとも２つ以上の前記対象物の位置を検出する、
請求項１から４のうちいずれか一項に記載のロボット制御装置。
【請求項６】
前記ロボット制御部は、
前記第１把持部に前記梱包材を把持させ、
前記梱包材の切断に前記ロボットが失敗した場合、前記第１把持部による前記梱包材の把持部位を前記第１把持部に変更させる、
請求項１から４のうちいずれか一項に記載のロボット制御装置。
【請求項７】
前記ロボット制御部は、
前記第２把持部に前記梱包材を把持させ、
前記梱包材の切断に前記ロボットが失敗した場合、前記第２把持部による前記梱包材の把持部位を前記第２把持部に変更させる、
請求項２から４のうちいずれか一項に記載のロボット制御装置。
【請求項８】
透明又は半透明の梱包材と前記梱包材に梱包された対象物とが撮像された撮像画像を取得し、
前記撮像画像に基づいて前記梱包材の位置と姿勢とを検出し、かつ、前記梱包材に梱包された対象物の輪郭を検出し、
検出した前記輪郭に基づいて、第１収容状況と第２収容状況とのいずれかである収容状況を検出し、
検出した前記収容状況に基づいて、前記梱包材の部位のうちロボットの第１マニピュレーターに設けられた第１把持部に把持させる部位である第１把持部位の位置を算出し、
算出した前記第１把持部位の位置に基づいて、前記ロボットを動作させ、前記収容状況が前記第１収容状況の場合、前記梱包材を前記第１把持部に把持させ、把持させた前記梱包材を前記第１把持部によって移動させて前記収容状況を前記第２収容状況に変化させ、前記収容状況が前記第２収容状況の場合、前記第１把持部に前記梱包材を把持させる、
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット制御装置、及び制御方法に関する。
【背景技術】
【０００２】
パーツフィーダーのような給材装置、又は人の手から所定の部品（例えば、ネジ等）を給材し、給材した部品を用いて所定の作業（例えば、ネジ締め等）を行うロボットの研究や開発が行われている。当該ロボットへの部品の給材が給材装置や人の手により行われている理由は、部品が出荷段階で袋詰めされていることが多く、袋を開封して部品を袋から出す必要があるためである。
【０００３】
これに関し、袋等の梱包材に梱包された対象物を、梱包材から取り出す開梱装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１００１１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来の開梱装置では、梱包材の内側に梱包された対象物の収容状況を確認しないので、梱包材を開梱した際に意図しない事象、例えば、梱包材を開梱した際に対象物が梱包材の内側から外側に落ちてしまう等の事象が起こる場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、梱包材に梱包された対象物の収容状況に基づいて前記梱包材を把持する、ロボットである。
この構成により、ロボットは、梱包材に梱包された対象物の収容状況に基づいて梱包材を把持する。これにより、ロボットは、梱包材に梱包された対象物の収容状況に応じた位置を把持して作業を行うことができる。
【０００７】
また、本発明の他の態様は、ロボットにおいて、前記梱包材を把持した後、前記梱包材を切断する、構成が用いられてもよい。
この構成により、ロボットは、梱包材を把持した後、梱包材を切断する。これにより、ロボットは、梱包材の内側から対象物を梱包材の外側に出すことができる。
【０００８】
また、本発明の他の態様は、ロボットにおいて、前記梱包材を切断する際、前記梱包材に張力を掛けた位置を切断する、構成が用いられてもよい。
この構成により、ロボットは、梱包材を切断する際、梱包材に張力を掛けた位置を切断する。これにより、ロボットは、梱包材に加わる張力が不十分なために起こる事象による梱包材の切断の失敗を抑制することができる。
【０００９】
また、本発明の他の態様は、ロボットにおいて、前記梱包材を切断した後、前記対象物を前記梱包材から出し、前記梱包材を所定の場所へ載置する、構成が用いられてもよい。
この構成により、ロボットは、梱包材を切断した後、対象物を梱包材から出し、梱包材を所定の場所へ載置する。これにより、ロボットは、梱包材を開梱して対象物を給材することを、開梱後の梱包材に干渉することなく繰り返し行うことができる。
【００１０】
また、本発明の他の態様は、ロボットにおいて、前記梱包材を把持し、前記梱包材を移動させて、前記対象物と前記梱包材との位置関係を変化させる、構成が用いられてもよい。
この構成により、ロボットは、梱包材を把持し、梱包材を移動させて、対象物と梱包材との位置関係を変化させる。これにより、ロボットは、梱包材を移動することにより調整された収容状況に応じた位置を把持して作業を行うことができる。
【００１１】
また、本発明の他の態様は、ロボットにおいて、前記収容状況が検出できない場合、前記梱包材を移動させて、前記対象物と前記梱包材との位置関係を変化させる、構成が用いられてもよい。
この構成により、ロボットは、収容状況が検出できない場合、梱包材を移動させて、対象物と梱包材との位置関係を変化させる。これにより、ロボットは、梱包材に梱包された対象物の収容状況が分からない場合であっても、梱包材を移動することにより調整された収容状況に応じた位置を把持して作業を行うことができる。
【００１２】
また、本発明の他の態様は、ロボットにおいて、前記収容状況に基づいて、前記第１把持部により前記梱包材の第１把持部位を把持し、前記第２把持部により前記梱包材の第２把持部位を把持する、構成が用いられてもよい。
この構成により、ロボットは、梱包材に梱包された対象物の収容状況に基づいて、第１把持部により梱包材の第１把持部位を把持し、第２把持部により梱包材の第２把持部位を把持する。これにより、ロボットは、梱包材に梱包された対象物の収容状況に応じた第１把持部位を第１把持部により把持し、当該収容状況に応じた第２把持部位を第２把持部により把持して作業を行うことができる。
【００１３】
また、本発明の他の態様は、ロボットにおいて、前記収容状況を前記梱包材の内側における少なくとも２つ以上の前記対象物の位置に基づいて決定する、構成が用いられてもよい。
この構成により、ロボットは、梱包材に梱包された対象物の収容状況を梱包材の内側における少なくとも２つ以上の対象物の位置に基づいて決定する。これにより、ロボットは、２つ以上の対象物の位置に基づいて決定された収容状況に応じた位置を把持して作業を行うことができる。
【００１４】
また、本発明の他の態様は、ロボットにおいて、撮像部を備え、前記撮像部が撮像した撮像画像に基づいて前記梱包材の内側における少なくとも２つ以上の前記対象物の位置を検出する、構成が用いられてもよい。
この構成により、ロボットは、撮像部が撮像した撮像画像に基づいて梱包材の内側における少なくとも２つ以上の対象物の位置を検出する。これにより、ロボットは、撮像画像に基づいて検出された２つ以上の対象物の位置に基づいて決定された収容状況に応じた位置を把持して作業を行うことができる。
【００１５】
また、本発明の他の態様は、ロボットにおいて、接触部を備え、前記梱包材の表面をなぞるように前記接触部を移動させ、前記梱包材の表面の高さの変化に基づいて前記収容状況を判定する、構成が用いられてもよい。
この構成により、ロボットは、梱包材の表面をなぞるように接触部を移動させ、梱包材の表面の高さの変化に基づいて収容状況を判定する。これにより、ロボットは、梱包材の表面の高さの変化に基づいて決定された収容状況に応じた位置を把持して作業を行うことができる。
【００１６】
また、本発明の他の態様は、ロボットにおいて、第１把持部を備え、前記第１把持部により前記梱包材を把持し、前記梱包材の切断に失敗した場合、前記第１把持部による前記梱包材の把持位置を変更する、構成が用いられてもよい。
この構成により、ロボットは、第１把持部により梱包材を把持し、梱包材の切断に失敗した場合、第１把持部による梱包材の把持位置を変更する。これにより、ロボットは、例えば、梱包材の切断に適していない位置を第１把持部が把持したことにより梱包材の切断が失敗した場合であっても、作業を中断せずに続けることができる。
【００１７】
また、本発明の他の態様は、ロボットにおいて、第２把持部を備え、更に前記第２把持部により前記梱包材を把持し、前記梱包材の切断に失敗した場合、前記第２把持部による前記梱包材の把持位置を変更する、構成が用いられてもよい。
この構成により、ロボットは、更に第２把持部により梱包材を把持し、梱包材の切断に失敗した場合、第２把持部による梱包材の把持位置を変更する。これにより、ロボットは、例えば、梱包材の切断に適していない位置を第１把持部と第２把持部のうちいずれか一方又は両方が把持したことにより梱包材の切断が失敗した場合であっても、作業を中断せずに続けることができる。
【００１８】
また、本発明の他の態様は、ロボットにおいて、力センサーを備え、前記力センサーの出力値に基づいて前記梱包材を把持する、構成が用いられてもよい。
この構成により、ロボットは、力センサーの出力値に基づいて梱包材を把持する。これにより、ロボットは、梱包材を把持した際に、梱包材に対して過剰な力を加えることによって意図せずに梱包材を開梱してしまうことを抑制することができる。
【００１９】
また、本発明の他の態様は、ロボットに、梱包材に梱包された対象物の収容状況に基づいて前記梱包材を把持させる、制御装置である。
この構成により、制御装置は、ロボットに、梱包材に梱包された対象物の収容状況に基づいて梱包材を把持させる。これにより、制御装置は、梱包材に梱包された対象物の収容状況に応じた位置を把持して作業を行うことができる。
【００２０】
また、本発明の他の態様は、ロボットに、梱包材に梱包された対象物の収容状況に基づいて前記梱包材を把持させる、制御方法である。
この構成により、制御方法は、ロボットに、梱包材に梱包された対象物の収容状況に基づいて梱包材を把持させる。これにより、制御方法は、梱包材に梱包された対象物の収容状況に応じた位置を把持して作業を行うことができる。
また、本発明の他の態様は、梱包材と前記梱包材に梱包された対象物とが撮像された撮像画像を取得する画像取得部と、前記画像取得部の情報に基づいて前記梱包材の位置と、姿勢と、を検出し、前記梱包材に梱包された対象物の輪郭を検出する梱包材検出部と、前記梱包材検出部の情報に基づいて、第１収容状況と第２収容状況とのいずれかである収容状況を検出する収容状況検出部と、前記収容状況に基づいて、前記梱包材の部位のうちロボットの第１把持部に把持させる部位である第１把持部位の位置を算出する把持位置姿勢算出部と、前記把持位置姿勢算出部が算出した前記第１把持部位の位置に基づいて、前記ロボットを動作させるロボット制御部と、を備え、前記ロボット制御部は、前記収容状況が前記第１収容状況の場合、前記梱包材を前記第１把持部に把持させ、把持させた前記梱包材を前記第１把持部によって移動させて前記収容状況を前記第２収容状況に変化させ、前記収容状況が前記第２収容状況の場合、前記第１把持部に前記梱包物を把持させる、ロボット制御装置である。
また、本発明の他の態様は、ロボット制御装置において、前記ロボット制御部は、前記第１把持部と前記ロボットの第２把持部とに前記梱包材を把持させた後、前記梱包材を切断させる動作を前記ロボットに行わせる、構成が用いられてもよい。
また、本発明の他の態様は、ロボット制御装置において、前記ロボットが備える力センサーの出力値を取得する力センサー情報取得部を備え、前記ロボット制御部は、前記力センサー情報取得部の情報に基づいて前記梱包材の第１把持部位を前記第１把持部に把持させ、前記力センサー情報取得部の情報に基づいて前記梱包材の第２把持部位を前記第２把持部に把持させ、前記梱包材を切断させる動作を前記ロボットに行わせる際、前記梱包材が有する位置のうち前記第１把持部と前記第２把持部とによって張力が掛けられている位置を切断させる、構成が用いられてもよい。
また、本発明の他の態様は、ロボット制御装置において、前記ロボット制御部は、前記梱包材を切断させる動作を前記ロボットに行わせた後、前記第１把持部に前記対象物を前記梱包材から出させ、前記第１把持部に前記梱包材を所定の場所へ載置させる、構成が用いられてもよい。
また、本発明の他の態様は、ロボット制御装置において、前記画像取得部は、前記ロボットが備える撮像部が撮像した前記撮像画像を取得し、前記梱包材検出部は、前記画像取得部が取得した前記撮像画像に基づいて前記梱包材の内側における少なくとも２つ以上の前記対象物の位置を検出する、構成が用いられてもよい。
また、本発明の他の態様は、ロボット制御装置において、前記ロボット制御部は、前記第１把持部に前記梱包材を把持させ、前記梱包材の切断に前記ロボットが失敗した場合、前記第１把持部による前記梱包材の把持部位を前記第１把持部に変更させる、構成が用いられてもよい。
また、本発明の他の態様は、ロボット制御装置において、前記ロボット制御部は、前記第２把持部に前記梱包材を把持させ、前記梱包材の切断に前記ロボットが失敗した場合、前記第２把持部による前記梱包材の把持部位を前記第２把持部に変更させる、構成が用いられてもよい。
また、本発明の他の態様は、梱包材と前記梱包材に梱包された対象物とが撮像された撮像画像を取得し、前記撮像画像に基づいて前記梱包材の位置と、姿勢と、を検出し、前記梱包材に梱包された対象物の輪郭を検出し、検出した前記輪郭に基づいて、第１収容状況と第２収容状況とのいずれかである収容状況を検出し、検出した前記収容状況に基づいて、前記梱包材の部位のうちロボットの第１把持部に把持させる部位である第１把持部位の位置を算出し、算出した前記第１把持部位の位置に基づいて、前記ロボットを動作させ、前記収容状況が前記第１収容状況の場合、前記梱包材を前記第１把持部に把持させ、把持させた前記梱包材を前記第１把持部によって移動させて前記収容状況を前記第２収容状況に変化させ、前記収容状況が前記第２収容状況の場合、前記第１把持部に前記梱包物を把持させる、制御方法である。
【００２１】
以上により、ロボット、制御装置、及び制御方法は、梱包材に梱包された対象物の収容状況に基づいて梱包材を把持する。これにより、ロボット、制御装置、及び制御方法は、梱包材に梱包された対象物の収容状況に応じた位置を把持して作業を行うことができる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態に係るロボット２０の一例を示す構成図である。
【図２】梱包材Ｐの一例を示す図である。
【図３】制御装置３０のハードウェア構成の一例を示す図である。
【図４】制御装置３０の機能構成の一例を示す図である。
【図５】制御部３６がロボット２０に梱包材Ｐを開梱させ、予め決められた作業を行わせる処理の流れの一例を示すフローチャートである。
【図６】対象物Ｏの収容状況が第２収容状況となっている梱包材Ｐの一例を示す図である。
【発明を実施するための形態】
【００２３】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。図１は、本実施形態に係るロボット２０の一例を示す構成図である。
【００２４】
ロボット２０は、作業台ＴＢに配置された梱包材Ｐを把持する。
【００２５】
作業台ＴＢとは、例えば、テーブルである。この一例において、作業台ＴＢの上面には、梱包材Ｐと、カッターＣと、給材容器Ｔ１と、除材容器Ｔ２が配置されている。なお、作業台ＴＢは、テーブルに代えて、梱包材Ｐと、カッターＣと、給材容器Ｔ１と、除材容器Ｔ２とを配置することができる物体であれば、床面や棚等の他の物体であってもよい。また、作業台ＴＢは、複数の台、例えば、第１の台と第２の台とから構成されていてもよい。その場合、第１の台には、梱包材Ｐと、カッターＣと、給材容器Ｔ１と、除材容器Ｔ２のうちの一部が配置され、第２の台には、他の一部が配置される。
【００２６】
梱包材Ｐは、柔軟な材質で形成され、内側に物体を梱包することができる袋状の物体である。この一例において、梱包材Ｐには、内側に物体が梱包されており、当該物体が梱包材Ｐの外側に出ないように密閉されており、形状が長方形状である場合について説明する。柔軟な材質とは、この一例において、ソフトマター等のようにロボット２０の動きや重力、風の影響等で形状が変化しうる材質を示す。また、梱包材Ｐを形成する柔軟な材質は、この一例において、透明又は半透明な材質であるが、不透明な材質であってもよい。
【００２７】
すなわち、梱包材Ｐは、梱包材Ｐの外側から梱包材Ｐの内側に梱包された物体の収容状況を検出することが可能である。この一例において、梱包材Ｐを形成する柔軟な材質がビニールである場合について説明するが、これに代えて、内部が透けて見える布（メッシュ状の布等）やフィルム、生体膜等、他の材質であってもよい。なお、梱包材Ｐは、柔軟な材質に代えて、ロボット２０の動きや重力、風の影響等で形状が変化しない材質（弾性体や剛体）であってもよい。
【００２８】
ここで、図２を参照して、梱包材Ｐについて説明する。図２は、梱包材Ｐの一例を示す図である。図２に示したように、梱包材Ｐの材質は、透明なビニールである。また、梱包材Ｐの内側には、上述の梱包材Ｐの内側に梱包された物体として、Ｎ個の対象物Ｏ１〜対象物ＯＮが梱包されている。
【００２９】
以下では、説明の便宜上、対象物Ｏ１〜対象物ＯＮを区別する必要が無い限り、まとめて対象物Ｏと称して説明する。対象物Ｏは、例えば、産業用に加工された加工品や部品等の物体であるが、他の物体であってもよい。なお、対象物Ｏの一部又は全部は、互いに形状や大きさ、重さ等が異なる物体であってもよく、形状や大きさ、重さ等が同じ物体であってもよい。以下では、この一例として、対象物Ｏはすべて、形状や大きさ、重さが同じである場合について説明する。
【００３０】
ロボット２０は、梱包材Ｐを把持する際、梱包材Ｐの内側に梱包された対象物Ｏの収容状況に基づいて決定される梱包材Ｐの位置を把持し、予め決められた作業を行う。これにより、ロボット２０は、梱包材Ｐの内側に梱包された対象物Ｏの収容状況に応じた位置を把持して作業を行うことができる。以下では、ロボット２０が梱包材Ｐを把持する際に、梱包材Ｐの内側に梱包された対象物Ｏの収容状況に基づいて決定される梱包材Ｐの位置を把持する方法について詳しく説明する。また、以下では、説明の便宜上、梱包材Ｐの内側に梱包することを、梱包材Ｐに梱包すると称して説明する。
【００３１】
予め決められた作業とは、例えば、梱包材Ｐの開梱であるが、梱包材Ｐを箱等への収納等の他の作業であってもよい。この一例において、ロボット２０が、予め決められた作業として、梱包材Ｐの開梱と、梱包材Ｐに梱包された対象物Ｏの給材容器Ｔ１への給材と、対象物Ｏが給材容器Ｔ１に給材された後の梱包材Ｐ（すなわち、空の梱包材Ｐ）の除材容器Ｔ２への除材とを行う場合について説明する。
【００３２】
ロボット２０は、カッターＣを用いて、図２に示した梱包材Ｐを開梱する。カッターＣは、この一例において、図１に示したように支持台に刃Ｂが設けられている。また、カッターＣは、ロボット２０が梱包材Ｐを刃Ｂに押し付けることにより開梱することが可能な位置に配置されている。そして、ロボット２０は、梱包材Ｐを刃Ｂに押し当てて切断することにより開梱する。
【００３３】
ロボット２０は、梱包材Ｐを開梱した後、梱包材Ｐに梱包された対象物Ｏを梱包材Ｐの外側に出すことにより給材容器Ｔ１に給材する。すなわち、ロボット２０は、梱包材Ｐに梱包された対象物Ｏを、梱包材Ｐの内側から給材容器Ｔ１の中に載置する。そして、ロボット２０は、対象物Ｏを給材容器Ｔ１に給材した後の梱包材Ｐを除材容器Ｔ２の中に除材（廃棄、捨てる）する。なお、当該梱包材Ｐは、空の梱包材Ｐである。なお、ロボット２０は、対象物Ｏを給材容器Ｔ１に給材した後の梱包材Ｐが再利用可能な梱包材であった場合、当該梱包材Ｐを除材容器Ｔ２の中に除材する構成に代えて、梱包材Ｐを再利用する構成であってもよい。
【００３４】
給材容器Ｔ１は、梱包材Ｐに梱包された対象物Ｏを収容する容器であり、ロボット２０により梱包材Ｐから対象物Ｏを給材することが可能な位置に配置されている。除材容器Ｔ２は、対象物Ｏを給材容器Ｔ１に給材した後の空の梱包材Ｐを収容する容器であり、ロボット２０により当該空の梱包材Ｐを除材することが可能な位置に配置されている。除材容器Ｔ２の位置は、所定の場所の一例である。
【００３５】
ここで、ロボット２０が備える各種の機能部と、制御装置３０とについて説明する。
ロボット２０は、例えば、第１撮像部１１と、第２撮像部１２と、第３撮像部２１と、第４撮像部２２と、第１力センサー２３−１と、第２力センサー２３−２と、第１エンドエフェクターＥＮＤ１と、第２エンドエフェクターＥＮＤ２と、第１マニピュレーターＭＮＰ１と、第２マニピュレーターＭＮＰ２と、図示しない複数のアクチュエーターを備えた双腕ロボットである。
【００３６】
双腕ロボットとは、２本のアーム（腕）を有するロボットを示し、本実施形態では、第１エンドエフェクターＥＮＤ１と第１マニピュレーターＭＮＰ１によって構成されるアーム（以下、第１アームと称する）と、第２エンドエフェクターＥＮＤ２と第２マニピュレーターＭＮＰ２によって構成されるアーム（以下、第２アームと称する）との２本のアームを有する。
【００３７】
なお、ロボット２０は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットとは、１本のアームを有するロボットを示し、例えば、前述の第１アームと第２アームのうちいずれか一方を有するロボットを示す。
【００３８】
第１アームは、７軸垂直多関節型となっており、支持台と第１マニピュレーターＭＮＰ１と第１エンドエフェクターＥＮＤ１とがアクチュエーターによる連携した動作によって７軸の自由度の動作を行うことができる。なお、第１アームは、６自由度（６軸）以下で動作するものであってもよく、８自由度（８軸）以上で動作するものであってもよい。また、第１エンドエフェクターＥＮＤ１は、第１把持部の一例である。
【００３９】
第１アームが７自由度で動作する場合、第１アームは、６自由度以下で動作する場合と比較して取り得る姿勢が増えることによって、例えば、動作が滑らかになり、更に第１アームの周辺に存在する物体との干渉を容易に回避することができるようになる。また、第１アームが７自由度で動作する場合、第１アームの制御は、第１アームが８自由度以上で動作する場合と比較して計算量が少なく容易である。このような理由から、この一例では、第１アームは、７自由度で動作することが望ましい。なお、第１アームは、６自由度以下で動作する構成であってもよく、８自由度以上で動作する構成であってもよい。
【００４０】
第１アームが備える第１マニピュレーターＭＮＰ１、第１エンドエフェクターＥＮＤ１、図示しない複数のアクチュエーターのそれぞれは、例えば、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第１アームが備える第１マニピュレーターＭＮＰ１、第１エンドエフェクターＥＮＤ１、図示しない複数のアクチュエーターのそれぞれと制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続されてもよい。また、第１アームは、第１撮像部１１を備える。
第１撮像部１１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。
【００４１】
第１撮像部１１は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第１撮像部１１と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。第１撮像部１１は、図１に示したように第１アームを構成する第１マニピュレーターＭＮＰ１の一部に備えられており、第１アームの動きによって移動することが可能である。
【００４２】
第２アームは、７軸垂直多関節型となっており、支持台と第２マニピュレーターＭＮＰ２と第２エンドエフェクターＥＮＤ２とがアクチュエーターによる連携した動作によって７軸の自由度の動作を行うことができる。第２アームは、第１アームが７自由度で動作することが望ましい理由と同様の理由により、７自由度で動作することが望ましい。なお、第２アームは、６自由度（６軸）以下で動作するものであってもよく、８自由度（８軸）以上で動作するものであってもよい。また、第２エンドエフェクターＥＮＤ２は、第２把持部の一例である。
【００４３】
第２アームが備える第２マニピュレーターＭＮＰ２、第２エンドエフェクターＥＮＤ２、図示しない複数のアクチュエーターのそれぞれは、例えば、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２アームが備える第２マニピュレーターＭＮＰ２、第２エンドエフェクターＥＮＤ２、図示しない複数のアクチュエーターのそれぞれと制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続されてもよい。また、第２アームは、第２撮像部１２を備える。
第２撮像部１２は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。
【００４４】
第２撮像部１２は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２撮像部１２と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。第２撮像部１２は、図１に示したように第２アームを構成する第２マニピュレーターＭＮＰ２の一部に備えられており、第２アームの動きによって移動することが可能である。
【００４５】
第３撮像部２１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第３撮像部２１は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第３撮像部２１と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。第３撮像部２１は、梱包材Ｐと、カッターＣと、給材容器Ｔ１と、除材容器Ｔ２とが含まれる範囲を撮像可能な位置に設置されている。以下では、説明の便宜上、梱包材Ｐと、カッターＣと、給材容器Ｔ１と、除材容器Ｔ２とが含まれる範囲を撮像範囲と称して説明する。なお、第３撮像部２１は、撮像範囲の静止画像を第１撮像画像として撮像してもよく、撮像範囲の動画像を第１撮像画像として撮像してもよい。また、第３撮像部２１は、撮像範囲を撮像する。
【００４６】
第４撮像部２２は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第４撮像部２２は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第４撮像部２２と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。第４撮像部２２は、撮像範囲を撮像可能な位置に設置されている。なお、第４撮像部２２は、撮像範囲の静止画像を第２撮像画像として撮像してもよく、撮像範囲の動画像を第２撮像画像として撮像してもよい。また、第４撮像部２２は、撮像範囲を撮像する。
【００４７】
以下では、この一例において、第３撮像部２１と第４撮像部２２が撮像範囲をステレオ撮像する場合について説明する。そのため、以下では、説明の便宜上、第１撮像画像と第２撮像画像をまとめてステレオ撮像画像と称して説明する。なお、ロボット２０は、第３撮像部２１と第４撮像部２２により撮像範囲をステレオ撮像する構成に代えて、第３撮像部２１と、第４撮像部２２と、第１撮像部１１と、第２撮像部１２とのうちの任意の２台の組み合わせにより撮像範囲をステレオ撮像する構成であってもよい。また、ロボット２０は、撮像範囲を２台の撮像部によりステレオ撮像する構成に代えて、第３撮像部２１と、第４撮像部２２と、第１撮像部１１と、第２撮像部１２とのうちのいずれか１台によって撮像範囲を撮像する構成であってもよい。また、ロボット２０は、撮像範囲を２台の撮像部によりステレオ撮像する構成に代えて、第３撮像部２１と、第４撮像部２２と、第１撮像部１１と、第２撮像部１２とのうちの一部又は全部によって撮像範囲を撮像する構成であってもよい。また、第３撮像部２１と第４撮像部２２のうちいずれか一方又は両方が、ロボット２０と別体として撮像範囲を撮像可能な位置に設置される構成であってもよい。
【００４８】
第１力センサー２３−１は、ロボット２０の第１エンドエフェクターＥＮＤ１と第１マニピュレーターＭＮＰ１との間に備えられている。第１力センサー２３−１は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第１力センサー２３−１と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続されてもよい。第１力センサー２３−１は、第１エンドエフェクターＥＮＤ１に作用した力やモーメントを検出する。第１力センサー２３−１は、検出した力やモーメントを示す情報（以下、力センサー情報と称する）を、通信により制御装置３０へ出力する。
【００４９】
第２力センサー２３−２は、第２エンドエフェクターＥＮＤ２と第２マニピュレーターＭＮＰ２との間に備えられている。第２力センサー２３−２は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２力センサー２３−２と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続されてもよい。第２力センサー２３−２は、第２エンドエフェクターＥＮＤ２に作用した力やモーメントを検出する。第２力センサー２３−２は、検出した力やモーメントを示す情報（以下、力センサー情報と称する）を、通信により制御装置３０へ出力する。
【００５０】
第１力センサー２３−１と第２力センサー２３−２のうちいずれか一方又は両方により検出された力センサー情報は、制御装置３０によるロボット２０の力センサー情報に基づく制御に用いられる。力センサー情報に基づく制御とは、例えば、インピーダンス制御等のコンプライアンス制御を示す。なお、以下では、第１力センサー２３−１と第２力センサー２３−２を区別する必要が無い限り、まとめて力センサー２３と称して説明する。また、力センサー情報に含まれる力の大きさやモーメントの大きさを示す値は、力センサーの出力値の一例である。
【００５１】
ロボット２０は、さらに制御装置３０を内蔵し、内蔵された制御装置３０により制御される。なお、ロボット２０は、制御装置３０を内蔵する構成に代えて、外部に設置された制御装置３０により制御される構成であってもよい。
【００５２】
本実施形態において、ロボット２０が備える各機能部は、ロボット２０に内蔵された制御装置３０から制御信号を取得し、取得した制御信号に基づいた動作を行う。
【００５３】
制御装置３０は、ロボット２０に制御信号を送信することにより、ロボット２０を動作させる。制御装置３０は、第３撮像部２１及び第４撮像部２２から取得したステレオ撮像画像（すなわち、第１撮像画像及び第２撮像画像）に基づいて、梱包材Ｐに梱包された対象物Ｏの収容状況に基づいた梱包材Ｐの把持位置を決定する。制御装置３０は、梱包材Ｐに梱包された対象物Ｏの収容状況に基づいた梱包材Ｐの把持位置をロボット２０に把持させる。制御装置３０は、梱包材Ｐに梱包された対象物Ｏの収容状況に基づいた梱包材Ｐの把持位置をロボット２０が把持した後、ロボット２０に上述の予め決められた作業を行わせる。
【００５４】
次に、図３を参照して、制御装置３０のハードウェア構成について説明する。図３は、制御装置３０のハードウェア構成の一例を示す図である。制御装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備え、通信部３４を介してロボット２０と通信を行う。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
【００５５】
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含み、制御装置３０が処理する各種情報や画像、プログラム等を格納する。なお、記憶部３２は、制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
【００５６】
入力受付部３３は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部３３は、タッチパネルとして表示部と一体に構成されてもよい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００５７】
次に、図４を参照して、制御装置３０の機能構成について説明する。図４は、制御装置３０の機能構成の一例を示す図である。制御装置３０は、記憶部３２と、入力受付部３３と、表示部３５と、制御部３６を備える。制御部３６が備える機能部のうち一部又は全部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００５８】
制御部３６は、制御装置３０の全体を制御する。制御部３６は、撮像制御部４０と、力センサー情報取得部４１と、画像取得部４２と、梱包材検出部４３と、収容状況検出部４４と、判定部４５と、把持位置姿勢算出部４６と、容器等検出部４７と、ロボット制御部４９を備える。
【００５９】
撮像制御部４０は、第３撮像部２１と第４撮像部２２に撮像範囲をステレオ撮像させる。より具体的には、撮像制御部４０は、第３撮像部２１に第１撮像画像を撮像させ、第４撮像部２２に第２撮像画像を撮像させる。
力センサー情報取得部４１は、力センサー２３により検出される力センサー情報を取得する。
画像取得部４２は、第３撮像部２１及び第４撮像部２２からステレオ撮像画像を取得する。より具体的には、画像取得部４２は、第３撮像部２１が撮像した第１撮像画像を第３撮像部２１から取得し、第４撮像部２２が撮像した第２撮像画像を第４撮像部２２から取得する。
【００６０】
梱包材検出部４３は、例えば、画像取得部４２により取得されたステレオ撮像画像に基づいて、梱包材Ｐの輪郭を検出する。梱包材Ｐの輪郭を検出するとは、この一例において、当該輪郭の形状を検出するとともに、ステレオ撮像画像上において梱包材Ｐの輪郭を構成する各点（例えば、画素や画素の塊等）の位置を検出することを示す。以下では、説明の便宜上、梱包材Ｐの輪郭の形状と、梱包材Ｐの輪郭を構成する各点の位置とを、まとめて梱包材Ｐの輪郭と称して説明する。
【００６１】
また、梱包材検出部４３は、画像取得部４２により取得されたステレオ撮像画像に基づいて、撮像部座標系における梱包材Ｐの位置及び姿勢を検出する。この一例において、撮像部座標系とは、第３撮像部２１及び第４撮像部２２に共通の座標系である。なお、第１撮像画像上における位置及び姿勢と、撮像部座標系における位置及び姿勢とは、予めキャリブレーションにより対応付けられているとする。また、第２撮像画像上における位置及び姿勢と、撮像部座標系における位置及び姿勢とは、予めキャリブレーションにより対応付けられているとする。なお、梱包材Ｐの位置及び姿勢を検出するとは、この一例において、梱包材Ｐの重心の位置及び姿勢を検出することを示すが、梱包材Ｐに対応付けられる他の部位の位置及び姿勢を検出することであってもよい。
【００６２】
また、梱包材検出部４３は、例えば、画像取得部４２により取得されたステレオ撮像画像に基づいて、梱包材Ｐの内側に梱包された対象物Ｏの輪郭を検出する。対象物Ｏの輪郭を検出するとは、この一例において、当該輪郭の形状を検出するとともに、ステレオ撮像画像上において対象物Ｏの輪郭を構成する各点（例えば、画素や画素の塊等）の位置を検出することを示す。以下では、説明の便宜上、対象物Ｏの輪郭の形状と、対象物Ｏの輪郭を構成する各点の位置とを、まとめて対象物Ｏの輪郭と称して説明する。
【００６３】
収容状況検出部４４は、梱包材検出部４３により検出された梱包材Ｐの輪郭と、梱包材検出部４３により検出された対象物Ｏの輪郭とに基づいて、梱包材Ｐに梱包された対象物Ｏの収容状況を検出する。収容状況とは、この一例において、梱包材Ｐの内側において対象物Ｏが均一に収容されている（分布している）状況と、梱包材Ｐの内側において対象物Ｏがある部分領域に偏って収容されている（分布している）状況とのうちのいずれかを示す。具体的には、収容状況検出部４４は、梱包材Ｐの輪郭内において検出された対象物Ｏそれぞれの輪郭が、梱包材Ｐの輪郭内において均一に分布しているか否かを判定することにより収容状況を検出する。
【００６４】
以下では、説明の便宜上、梱包材Ｐの内側において対象物Ｏが均一に収容されている（分布している）状況を、第１収容状況と称して説明する。例えば、図２に示した梱包材Ｐに梱包されている対象物Ｏの収容状況は、梱包材Ｐの内側において対象物Ｏが略均一に収容されているため、第１収容状況である。また、以下では、梱包材Ｐの内側において対象物Ｏがある領域に偏って収容されている（分布している）状況を、第２収容状況と称して説明する。すなわち、収容状況検出部４４は、梱包材検出部４３により検出された梱包材Ｐの輪郭と、梱包材検出部４３により検出された対象物Ｏの輪郭とに基づいて、梱包材Ｐに梱包された対象物Ｏの収容状況が第１収容状況と第２収容状況とのうちいずれであるかを検出する。
【００６５】
判定部４５は、梱包材検出部４３により梱包材Ｐに梱包された対象物Ｏの輪郭が検出されたか否かを判定する。また、判定部４５は、収容状況検出部４４により検出された収容状況が第２収容状況であったか否かを判定する。
【００６６】
把持位置姿勢算出部４６は、収容状況検出部４４により検出された収容状況に基づいて、第１エンドエフェクターＥＮＤ１に把持させる梱包材Ｐの部位の位置及び姿勢を算出（決定）する。この算出する第１エンドエフェクターＥＮＤ１に把持させる梱包材Ｐの部位の位置及び姿勢は、ロボット座標系における位置及び姿勢である。また、把持位置姿勢算出部４６は、収容状況検出部４４により検出された収容状況に基づいて、第２エンドエフェクターＥＮＤ２に把持させる梱包材Ｐの部位の位置及び姿勢を算出（決定）する。この算出する第２エンドエフェクターＥＮＤ２に把持させる梱包材Ｐの部位の位置及び姿勢は、ロボット座標系における位置及び姿勢である。
【００６７】
なお、把持位置姿勢算出部４６は、例えば、収容状況検出部４４により検出された収容状況に応じた梱包材Ｐの部位の位置及び姿勢を、第１エンドエフェクターＥＮＤ１に把持させる梱包材Ｐの部位の位置及び姿勢と、収容状況とが対応付けられたテーブルから選択（決定）する構成等、梱包材Ｐの部位の位置及び姿勢を他の方法により決定する構成であってもよい。また、把持位置姿勢算出部４６は、例えば、収容状況検出部４４により検出された収容状況に基づいて、第２エンドエフェクターＥＮＤ２に把持させる梱包材Ｐの部位の位置及び姿勢を、梱包材Ｐの部位の位置及び姿勢と、収容状況とが対応付けられたテーブルから選択（決定）する構成等、梱包材Ｐの部位の位置及び姿勢を他の方法により決定する構成であってもよい。
【００６８】
容器等検出部４７は、画像取得部４２により取得されたステレオ撮像画像に基づいて、給材容器Ｔ１の位置及び姿勢を検出する。この一例において、給材容器Ｔ１の位置及び姿勢とは、ロボット座標系における給材容器Ｔ１の所定部位の位置及び姿勢を示す。給材容器Ｔ１の所定部位とは、例えば、給材容器Ｔ１の底面の中心であるが、これに代えて、他の部位であってもよい。
【００６９】
また、容器等検出部４７は、画像取得部４２により取得されたステレオ撮像画像に基づいて、除材容器Ｔ２の位置及び姿勢を検出する。この一例において、除材容器Ｔ２の位置及び姿勢とは、ロボット座標系における除材容器Ｔ２の所定部位の位置及び姿勢を示す。除材容器Ｔ２の所定部位とは、例えば、除材容器Ｔ２の底面の中心であるが、これに代えて、他の部位であってもよい。
【００７０】
また、容器等検出部４７は、画像取得部４２により取得されたステレオ撮像画像に基づいて、カッターＣの刃Ｂの位置及び姿勢を検出する。この一例において、カッターＣの刃Ｂの位置及び姿勢とは、ロボット座標系におけるカッターＣの刃Ｂの所定部位の位置及び姿勢を示す。カッターＣの刃Ｂの所定部位とは、例えば、梱包材Ｐを刃Ｂによって切断する際に梱包材Ｐを押し付けられる部位であるが、これに代えて、他の部位であってもよい。
【００７１】
ロボット制御部４９は、把持位置姿勢算出部４６により算出された各種の位置及び姿勢に基づいてロボット２０を動作させる制御信号を生成し、生成された制御信号をロボット２０に出力する。また、ロボット制御部４９は、ロボット２０に予め決められた作業を行わせる制御信号を生成し、生成された制御信号をロボット２０に出力する。
【００７２】
次に、図５を参照して、制御部３６がロボット２０に梱包材Ｐを開梱させ、予め決められた作業を行わせる処理について説明する。図５は、制御部３６がロボット２０に梱包材Ｐを開梱させ、予め決められた作業を行わせる処理の流れの一例を示すフローチャートである。なお、以下では、すでに撮像範囲内に対象物Ｏが梱包された梱包材Ｐが配置されている場合について説明する。
【００７３】
まず、撮像制御部４０は、第３撮像部２１及び第４撮像部２２に撮像範囲をステレオ撮像させる（ステップＳ８０）。次に、画像取得部４２は、第３撮像部２１及び第４撮像部２２からステレオ撮像画像（すなわち、第１撮像画像及び第２撮像画像）を取得する（ステップＳ９０）。
【００７４】
次に、容器等検出部４７は、ステップＳ９０において画像取得部４２が取得したステレオ撮像画像に基づいて給材容器Ｔ１の位置及び姿勢を検出する。また、容器等検出部４７は、ステップＳ９０において画像取得部４２が取得したステレオ撮像画像に基づいて除材容器Ｔ２の位置及び姿勢を検出する。また、容器等検出部４７は、ステップＳ９０において画像取得部４２が取得したステレオ撮像画像に基づいてカッターＣの刃Ｂの位置及び姿勢を検出する（ステップＳ１００）。
【００７５】
なお、容器等検出部４７は、予め記憶部３２に記憶された給材容器Ｔ１のリファレンス画像を読み込み、読み込んだ当該リファレンス画像を用いたパターンマッチング等によって給材容器Ｔ１の位置及び姿勢を検出する。また、容器等検出部４７は、予め記憶部３２に記憶された除材容器Ｔ２のリファレンス画像を読み込み、読み込んだ当該リファレンス画像を用いたパターンマッチング等によって除材容器Ｔ２の位置及び姿勢を検出する。また、容器等検出部４７予め記憶部３２に記憶されたカッターＣの刃Ｂのリファレンス画像を読み込み、読み込んだ当該リファレンス画像を用いたパターンマッチング等によってカッターＣの刃Ｂの位置及び姿勢を検出する。
【００７６】
次に、梱包材検出部４３は、ステップＳ９０において画像取得部４２が取得したステレオ撮像画像に基づいて梱包材Ｐの輪郭を検出する。また、梱包材検出部４３は、ステップＳ９０において画像取得部４２が取得したステレオ撮像画像に基づいて梱包材Ｐの位置及び姿勢を検出する。また、梱包材検出部４３は、ステップＳ９０において画像取得部４２が取得したステレオ撮像画像に基づいて梱包材Ｐに梱包された対象物Ｏそれぞれの輪郭を検出する（ステップＳ１１０）。
【００７７】
なお、梱包材検出部４３は、予め記憶部３２に記憶された梱包材Ｐのリファレンス画像を読み込み、読み込んだ当該リファレンス画像を用いたパターンマッチング等によって梱包材Ｐの輪郭を検出し、更に梱包材Ｐの位置及び姿勢を検出する。また、梱包材検出部４３は、予め記憶部３２に記憶された対象物Ｏのリファレンス画像を読み込み、読み込んだ当該リファレンス画像を用いたパターンマッチング等によって対象物Ｏの輪郭を検出する。
【００７８】
次に、判定部４５は、ステップＳ１１０において梱包材検出部４３により梱包材Ｐに梱包された対象物Ｏそれぞれの輪郭が検出されたか否かを判定する（ステップＳ１２０）。このステップＳ１２０における判定は、換言すると、梱包材Ｐに梱包された対象物Ｏが、梱包材Ｐの外側から視認可能であるか否かの判定である。
【００７９】
梱包材検出部４３により梱包材Ｐに梱包された対象物Ｏそれぞれの輪郭が検出されていない（すなわち、収容状況が検出できない）と判定した場合（ステップＳ１２０−Ｎｏ）、把持位置姿勢算出部４６は、ステップＳ１１０において梱包材検出部４３により検出された梱包材Ｐの位置及び姿勢に基づいて、第１持上部位の位置及び姿勢と、第２持上部位の位置及び姿勢を算出する（ステップＳ１５０）。第１持上部位とは、ステップＳ１５５の処理においてロボット２０が梱包材Ｐを持ち上げて揺らす際、第１エンドエフェクターＥＮＤ１により梱包材Ｐが把持される部位のことである。第２持上部位とは、ステップＳ１５５の処理においてロボット２０が梱包材Ｐを持ち上げて揺らす際、第２エンドエフェクターＥＮＤ２により梱包材Ｐが把持される部位のことである。
【００８０】
ここで、把持位置姿勢算出部４６による第１持上部位の位置及び姿勢と、第２持上部位の位置及び姿勢とを算出する処理について説明する。把持位置姿勢算出部４６は、予め記憶部３２に記憶された梱包材Ｐの重心から第１持上部位までの相対的な位置及び姿勢を示す情報を読み込む。そして、把持位置姿勢算出部４６は、読み込んだ当該情報と、梱包材検出部４３により検出された梱包材Ｐの位置及び姿勢とに基づいて、ロボット座標系における第１持上部位の位置及び姿勢を算出する。なお、撮像部座標系における位置及び姿勢と、ロボット座標系における位置及び姿勢とは、予めキャリブレーションにより対応付けられているとする。
【００８１】
また、把持位置姿勢算出部４６は、予め記憶部３２に記憶された梱包材Ｐの重心から第２持上部位までの相対的な位置及び姿勢を示す情報を読み込む。そして、把持位置姿勢算出部４６は、読み込んだ当該情報と、梱包材検出部４３により検出された梱包材Ｐの位置及び姿勢とに基づいて、ロボット座標系における第２持上部位の位置及び姿勢を算出する。
【００８２】
ステップＳ１５０において把持位置姿勢算出部４６によりロボット座標系における第１持上部位の位置及び姿勢と、ロボット座標系における第２持上部位の位置及び姿勢とが算出された後、ロボット制御部４９は、当該第１持上部位の位置及び姿勢に基づいて第１エンドエフェクターＥＮＤ１に第１持上部位を把持させ、当該第２持上部位の位置及び姿勢とに基づいて第２エンドエフェクターＥＮＤ２に第２持上部位を把持させる。
【００８３】
そして、ロボット制御部４９は、予め記憶部３２に記憶された第１所定高さを示す情報を読み込み、読み込んだ第１所定高さを示す情報に基づいて、第１エンドエフェクターＥＮＤ１により第１持上部位を第１所定高さまで持ち上げる。また、ロボット制御部４９は、予め記憶部３２に記憶された第２所定高さを示す情報を読み込み、読み込んだ第２所定高さを示す情報に基づいて、第２エンドエフェクターＥＮＤ２により第２持上部位を第２所定高さまで持ち上げる。第１所定高さと第２所定高さは、同じ高さであってもよく、異なる高さであってもよい。以下では、この一例において、第１所定高さと第２所定高さとが、同じ高さの場合について説明する。第１所定高さと第２所定高さは、例えば、梱包材Ｐを持ち上げた際に梱包材Ｐが作業台ＴＢから離れる程度の高さであるが、他の高さであってもよい。
【００８４】
ロボット制御部４９は、第１エンドエフェクターＥＮＤ１に第１持上部位を第１所定高さまで持ち上げさせ、第２エンドエフェクターＥＮＤ２に第２持上部位を第２所定高さまで持ち上げさせた後、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方に梱包材Ｐを揺すらせる（振動させる）（ステップＳ１５５）。
【００８５】
より具体的には、例えば、ロボット制御部４９は、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方を所定時間が経過するまで所定方向に沿って所定往復数だけ往復運動を行わせることにより、ロボット２０に梱包材Ｐを揺すらせる（すなわち、振動させる）。なお、所定時間は、例えば、５秒程度であるが、他の時間であってもよい。また、所定方向は、例えば、ロボット座標系におけるｘ座標軸又はｙ座標軸に平行な方向であるが、他の方向であってもよい。また、所定往復数は、例えば、２［１／ｓ］であるが、他の往復数であってもよい。例えば、ロボット座標系におけるｚ座標軸は、地面に対して垂直方向な方向に設定されているとし、ロボット座標系におけるｘ座標軸及びｙ座標軸はそれぞれ、ｚ座標軸に対して直交する方向に設定されているとする。なお、ｘ座標軸及びｙ座標軸は、互いに直交している。
【００８６】
ステップＳ１５５においてロボット２０に梱包材Ｐを揺すらせることにより、梱包材Ｐに梱包された対象物Ｏの収容状況は、梱包材Ｐの内側において対象物Ｏが重力によって下方へ移動することにより、第２収容状況となる。すなわち、ロボット制御部４９は、梱包材Ｐに梱包された対象物Ｏの収容状況が検出できない（収容状況が不明な）場合であっても、ロボット２０に梱包材Ｐを揺すらせることにより収容状況を第２収容状況へと変化させる（調整する）ことができる。なお、ロボット制御部４９は、梱包材Ｐを揺すらせず、第１エンドエフェクターＥＮＤ１に第１持上部位を第１所定高さまで持ち上げさせ、第２エンドエフェクターＥＮＤ２に第２持上部位を第２所定高さまで持ち上げさせることにより収容状況を第２収容状況へと変化させる構成であってもよい。しかし、ロボット制御部は、ロボット２０に梱包材Ｐを揺すらせることにより、収容状況をより確実に第２収容状況へと変化させる（調整する）ことができる。
【００８７】
ロボット制御部４９は、ステップＳ１５５において梱包材Ｐに梱包された対象物Ｏの収容状況を第２収容状況にした後、予め記憶部３２に記憶された所定の配置位置を読み込み、読み込んだ配置位置に梱包材Ｐを配置する。その後、把持位置姿勢算出部４６は、後述するステップＳ１６０の処理を実行する。なお、ステップＳ１５５において、ロボット制御部４９は、力センサー情報取得部４１から第１力センサー２３−１と第２力センサー２３−２とのそれぞれが検出した力センサー情報を取得し、取得した力センサー情報に基づいた制御によって第１エンドエフェクターＥＮＤ１及び第２エンドエフェクターＥＮＤ２を動作させる。これにより、ロボット制御部４９は、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちのいずれか一方又は両方により、意図せず梱包材Ｐを開梱してしまうことを抑制することができる。
【００８８】
一方、梱包材検出部４３により梱包材Ｐに梱包された対象物Ｏそれぞれの輪郭が検出されたと判定した場合（ステップＳ１２０−Ｙｅｓ）、収容状況検出部４４は、ステップＳ１１０において梱包材検出部４３により検出された梱包材Ｐの輪郭と、梱包材検出部４３により検出された対象物Ｏの輪郭とに基づいて梱包材Ｐに梱包された対象物Ｏの収容状況が第１収容状況と第２収容状況のうちのいずれであるかを検出する（ステップＳ１３０）。
【００８９】
次に、判定部４５は、ステップＳ１３０において収容状況検出部４４により検出された収容状況が第２収容状況であったか否かを判定する（ステップＳ１４０）。収容状況検出部４４により検出された収容状況が第２収容状況では無かった場合（ステップＳ１４０−Ｎｏ）、把持位置姿勢算出部４６は、ステップＳ１５０に遷移し、ロボット座標系における第１持上部位の位置及び姿勢と、ロボット座標系における第２持上部位の位置及び姿勢とを算出する。一方、収容状況検出部４４により検出された収容状況が第２収容状況であった場合（ステップＳ１４０−Ｙｅｓ）、把持位置姿勢算出部４６は、第１把持部位の位置及び姿勢と、第２把持部位の位置及び姿勢とを算出する（ステップＳ１６０）。第１把持部位とは、ステップＳ１７０の処理において第１エンドエフェクターＥＮＤ１に梱包材Ｐを把持させる部位のことである。第２把持部位とは、ステップＳ１７０の処理において第２エンドエフェクターＥＮＤ２に梱包材Ｐを把持させる部位のことである。
【００９０】
ここで、図６を参照して把持位置姿勢算出部４６による第１把持部位の位置及び姿勢と、第２把持部位の位置及び姿勢とを算出する処理について説明する。図６は、対象物Ｏの収容状況が第２収容状況となっている梱包材Ｐの一例を示す図である。図６において、説明の便宜上、梱包材Ｐが有する４つの辺をそれぞれ、辺Ｓ１〜辺Ｓ４と称して説明する。また、図６において、対象物Ｏは、梱包材Ｐの内側のうち、辺Ｓ３側の点線ＡＲによって囲まれた領域に集まって第２収容状況を実現している。
【００９１】
把持位置姿勢算出部４６は、例えば、ステップＳ１１０において梱包材検出部４３により検出された梱包材Ｐの輪郭と、梱包材検出部４３により検出された対象物Ｏの輪郭とに基づいて、対象物Ｏが集まっている側の辺Ｓ３とは反対側の辺Ｓ１の中点の位置及び姿勢を検出する。そして、把持位置姿勢算出部４６は、予め記憶部３２に記憶された第１把持部位の位置及び姿勢を示す情報と、第２把持部位の位置及び姿勢を示す情報とを読み込む。
【００９２】
記憶部３２に記憶された第１把持部位の位置及び姿勢は、辺Ｓ１の中点から第１把持部位までの相対的な位置及び姿勢を示す情報である。また、記憶部３２に記憶された第２把持部位の位置及び姿勢は、辺Ｓ１の中点から第２把持部位までの相対的な位置及び姿勢を示す情報である。把持位置姿勢算出部４６は、検出した辺Ｓ１の中点の位置及び姿勢と、記憶部３２から読み込んだ第１把持部位の位置及び姿勢と、記憶部３２から読み込んだ第２把持部位の位置及び姿勢とに基づいて、ロボット座標系における第１把持部位の位置及び姿勢と、ロボット座標系における第２把持部位の位置及び姿勢とを算出する。
【００９３】
図６において、第１把持部位を丸Ｇ１によって示し、第２把持部位を丸Ｇ２によって示した。以下では、説明の便宜上、丸Ｇ１を第１把持部位Ｇ１と称して説明し、丸Ｇ２を第２把持部位Ｇ２と称して説明する。第１把持部位Ｇ１及び第２把持部位Ｇ２は、例えば、以下の３つの条件を満たす位置である。なお、第１把持部位Ｇ１及び第２把持部位Ｇ２は、以下の３つの条件を満たす位置に代えて、他の条件を満たす位置であってもよい。
【００９４】
条件１）第１把持部位Ｇ１及び第２把持部位Ｇ２は、辺Ｓ１と直交する辺Ｓ２又は辺Ｓ４上に位置していること
条件２）梱包材Ｐを開梱する際に切断し始める箇所が第１把持部位Ｇ１と第２把持部位Ｇ２とを結ぶ直線の中点を通り、当該直線に直交する直線上に位置すること
条件３）辺Ｓ１から第１所定距離だけ離れた位置に第１把持部位Ｇ１が位置し、辺Ｓ１から第２所定距離だけ離れた位置に第２把持部位Ｇ２が位置していること
【００９５】
図６において、第１所定距離を距離Ｘ１で示し、第２所定距離を距離Ｘ２で示した。また、図６において、梱包材Ｐを開梱する際にカッターＣの刃Ｂによって切断する箇所を、二点鎖線ＣＬによって示した。また、図６において、第１把持部位Ｇ１と第２把持部位Ｇ２とを結ぶ直線を一点鎖線ＬＸによって示し、一点鎖線ＬＸの中点を円ＣＰ１によって示した。
また、図６において、梱包材Ｐを開梱する際に切断し始める箇所を円ＣＰ２によって示した。なお、図６には、距離Ｘ１＜距離Ｘ２である場合を示したが、距離Ｘ１＞距離Ｘ２であってもよい。以下では、説明の便宜上、第１所定距離を第１所定距離Ｘ１、第２所定距離を第２所定距離Ｘ２と称して説明する。図６に示したように、第１把持部位Ｇ１は、辺Ｓ１から第１所定距離Ｘ１だけ離れ、辺Ｓ２上に位置している。また、第２把持部位Ｇ２は、辺Ｓ１から第２所定距離Ｘ２だけ離れ、辺Ｓ２上に位置している。そして、円ＣＰ２は、二点鎖線ＣＬ上に位置している。そのため、第１把持部位Ｇ１及び第２把持部位Ｇ２は、上記の条件１〜３を満たしている。
【００９６】
そして、ロボット２０は、梱包材Ｐの第１把持部位Ｇ１を第１エンドエフェクターＥＮＤ１によって把持する。また、ロボット２０は、梱包材Ｐの第２把持部位Ｇ２を第２エンドエフェクターＥＮＤ２によって把持する。ロボット２０は、梱包材Ｐを辺Ｓ４から辺Ｓ２へ向かう方向に移動させて梱包材Ｐの円ＣＰ２が示す箇所をカッターＣの刃Ｂに押し当てることにより、線ＣＬに沿って梱包材Ｐを切断し、梱包材Ｐを開梱する。なお、以下では、説明の便宜上、第１把持部位Ｇ１と第２把持部位Ｇ２の間の部位であり、図６に示した点線ＣＡによって囲まれた部位を、カッターＣの刃Ｂを最初に押し当てる切出部位ＣＡと称して説明する。切出部位ＣＡは、梱包材に張力を掛けた位置の一例である。
【００９７】
ステップＳ１６０の処理においてロボット座標系における第１把持部位Ｇ１の位置及び姿勢と、ロボット座標系における第２把持部位Ｇ２の位置及び姿勢とを算出した後、ロボット制御部４９は、算出した当該第１把持部位Ｇ１の位置及び姿勢と、算出した当該第２把持部位Ｇ２の位置及び姿勢とに基づいて、第１エンドエフェクターＥＮＤ１に第１把持部位Ｇ１を把持させ、第２エンドエフェクターＥＮＤ２に第２把持部位Ｇ１２を把持させる（ステップＳ１７０）。なお、ステップＳ１７０において、ロボット制御部４９は、力センサー情報取得部４１から力センサー２３が検出した力センサー情報を取得し、取得した力センサー情報に基づく制御によって第１エンドエフェクターＥＮＤ１及び第２エンドエフェクターＥＮＤ２を動作させる。
【００９８】
次に、ロボット制御部４９は、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２が互いに離れる方向に力を加えることにより、上述した切出部位ＣＡに張力を加え、切出部位ＣＡが弛まない状態を保持する（ステップＳ１８０）。これにより、ロボット制御部４９は、梱包材Ｐ（又は梱包材Ｐの切出部位ＣＡ）に加わる張力が不十分なために起こる事象、例えば、梱包材Ｐが刃に絡まることによる梱包材Ｐの切断の失敗を抑制することができる。また、ステップＳ１８０において、ロボット制御部４９は、力センサー情報取得部４１から力センサー２３が検出した力センサー情報を取得し、取得した力センサー情報に基づく制御によって切出部位ＣＡが弛まない状態を保持する。これにより、ロボット制御部４９は、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２によって切出部位ＣＡに過大な力を加えてしまうことにより、梱包材Ｐを破いてしまうことを抑制することができる。
【００９９】
次に、ロボット制御部４９は、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２により梱包材Ｐを移動させて、切出部位ＣＡをカッターＣの刃Ｂに押し当てることにより、線ＣＬに沿って梱包材Ｐを切断して開梱する（ステップＳ１９０）。なお、ステップＳ１９０において、ロボット制御部４９は、予め記憶部３２に記憶された円ＣＰ２が示す箇所の位置を示す情報を読み込み、読み込んだ当該情報と、ステップＳ１１０において梱包材検出部４３により検出された梱包材Ｐの位置及び姿勢とに基づいて、図６に示した円ＣＰ２が示す箇所のロボット座標系における位置を算出する。円ＣＰ２が示す箇所の位置を示す情報とは、梱包材Ｐの重心から円ＣＰが示す箇所までの相対的な位置を示す情報である。ロボット制御部４９は、算出したロボット座標系における円ＣＰの位置と、ステップＳ１００において容器等検出部４７が検出したカッターＣの刃Ｂの位置及び姿勢とに基づいて、ステップＳ１９０の処理を行う。
【０１００】
なお、ロボット制御部４９は、ステップＳ１９０において梱包材Ｐの切断に失敗した場合、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方が把持している把持位置を他の把持位置に変更し、再びステップＳ１８０からステップＳ１９０までの処理を行う構成であってもよい。例えば、ステップＳ１９０において第１エンドエフェクターＥＮＤ１が第１把持部位Ｇ１を把持していることに起因して梱包材Ｐの切断に失敗してしまうような場合、ユーザーは、ロボット制御部４９により第１エンドエフェクターＥＮＤ１が把持している把持位置を第１把持部位Ｇ１から他の把持位置に変更させることができる。
【０１０１】
また、ステップＳ１９０において第２エンドエフェクターＥＮＤ２が第２把持部位Ｇ２を把持していることに起因して梱包材Ｐの切断に失敗してしまうような場合、ユーザーは、ロボット制御部４９により第２エンドエフェクターＥＮＤ２が把持している把持位置を第２把持部位Ｇ２から他の把持位置に変更させることができる。また、切断の失敗が第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちのいずれの把持位置に起因するか不明の場合、ユーザーは、ロボット制御部４９により第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のそれぞれが把持している把持位置を他の把持位置に変更させることができる。
これらにより、ロボット制御部４９は、梱包材Ｐの切断に失敗した場合であっても、作業を中断せずに続けることができる。
【０１０２】
次に、ロボット制御部４９は、第２エンドエフェクターＥＮＤ２により第２把持位置Ｇ２を把持したまま梱包材Ｐを給材位置に移動させる（ステップＳ２００）。給材位置とは、この一例において、給材容器Ｔ１の底面の中心から真上に第３所定距離だけ離れた位置である。なお、給材位置は、これに代えて、例えば、給材容器Ｔ１が投入孔を有している場合、当該投入孔を示す位置であってもよく、給材容器Ｔ１に対象物Ｏを給材することが可能な他の位置であってもよい。ステップＳ２００において、ロボット制御部４９は、予め記憶部３２に記憶された給材位置情報を読み込む。給材位置情報は、給材容器Ｔ１の所定部位（この一例において、給材容器Ｔ１の底面の中心）から給材位置までの相対的な位置を示す情報である。
【０１０３】
ロボット制御部４９は、容器等検出部４７により検出された給材容器Ｔ１の所定部位の位置及び姿勢と、記憶部３２から読み込まれた給材位置情報とに基づいて、第２エンドエフェクターＥＮＤ２により梱包材Ｐを給材位置に移動させる。なお、ロボット制御部４９は、第２エンドエフェクターＥＮＤ２により梱包材Ｐを給材位置に移動させる際、第１エンドエフェクターＥＮＤ１により、梱包材Ｐの底を支える構成であってもよい。梱包材Ｐの底とは、例えば、第２エンドエフェクターＥＮＤ２により持ち上げられている梱包材Ｐのうち、対象物Ｏの重みで鉛直下方に垂れている部分の重心の真下を示すが、他の部分であってもよい。
【０１０４】
そして、ロボット制御部４９は、第２エンドエフェクターＥＮＤ２により梱包材Ｐを給材位置に移動させた後、第１エンドエフェクターＥＮＤ１及び第２エンドエフェクターＥＮＤ２により梱包材Ｐの切断された箇所が下になるように梱包材Ｐを持ち上げ、梱包材Ｐの内側に収容された対象物Ｏを給材容器Ｔ１に給材する（出す、載置する）。なお、下とは、前述のロボット座標系におけるｚ座標軸に沿う方向であって、第３撮像部２１及び第４撮像部２２から地面を向いた方向を示す。
【０１０５】
次に、ロボット制御部４９は、第１エンドエフェクターＥＮＤ１及び第２エンドエフェクターＥＮＤ２により把持された梱包材Ｐを、除材容器Ｔ２に除材する（ステップＳ２１０）。ステップＳ２１０において、ロボット制御部４９は、予め記憶部３２に記憶された除材位置情報を読み込む。除材位置情報は、除材容器Ｔ２の所定部位（この一例において、除材容器Ｔ２の底面の中心）から除材位置までの相対的な位置を示す情報である。
【０１０６】
ロボット制御部４９は、容器等検出部４７により検出された除材容器Ｔ２の所定部位の位置及び姿勢と、記憶部３２から読み込まれた除材位置情報とに基づいて、ロボット座標系における除材位置を算出する。ロボット制御部４９は、算出した除材位置に基づいて、第１エンドエフェクターＥＮＤ１により把持された梱包材Ｐを除材位置に移動させ、除材位置において第１エンドエフェクターＥＮＤ１の爪部を開かせることにより当該梱包材Ｐを除材容器Ｔ２に除材させる（載置する）。また、ロボット制御部４９は、算出した除材位置に基づいて、第２エンドエフェクターＥＮＤ２により把持された梱包材Ｐを除材位置に移動させ、除材位置において第２エンドエフェクターＥＮＤ２の爪部を開かせることにより当該梱包材Ｐを除材容器Ｔ２に除材させる（載置する）。
【０１０７】
このように、制御部３６は、ステップＳ８０からステップＳ２１０までの処理を行うことにより、梱包材Ｐの内側に収容された対象物Ｏの収容状況に基づいて決定された梱包材Ｐの位置（この一例において、第１把持位置及び第２把持位置）をロボット２０に把持させ、ロボット２０に予め決められた作業を行わせる。これにより、制御部３６は、梱包材に梱包された対象物の収容状況に応じた位置をロボット２０に把持させて作業を行わせることができる。
【０１０８】
なお、図５に示したフローチャートの各処理において、第１アームと第２アームの役割が逆であってもよい。また、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちのいずれか一方又は両方は、爪部の代わりに空気の吸い込みによって物体を吸着させる吸着部を備える構成であってもよい。第１エンドエフェクターＥＮＤ１が吸着部を備える場合、第１エンドエフェクターＥＮＤ１は、第１把持部位Ｇ１を把持する構成に代えて、第１把持部位Ｇ１を吸着する。また、第２エンドエフェクターＥＮＤ２が吸着部を備える場合、第２エンドエフェクターＥＮＤ２は、第２把持部位Ｇ２を把持する構成に代えて、第２把持部位Ｇ２を吸着する。
【０１０９】
また、制御部３６は、梱包材検出部４３により検出された梱包材Ｐの輪郭と、梱包材検出部４３により検出された対象物Ｏの輪郭とに基づいて、梱包材Ｐに梱包された対象物Ｏの収容状況を検出する構成に代えて、ロボット制御部４９によりロボット２０に梱包材Ｐの表面を第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２とのうちいずれか一方又は両方によってなぞることにより収容状況を検出する構成であってもよい。この場合、ロボット制御部４９は、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２とのうちいずれか一方又は両方によって、何も配置していない作業台ＴＢの上面をなぞることにより、作業台ＴＢの上面の高さを検出する。
【０１１０】
そして、ロボット制御部４９は、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２とのうちいずれか一方又は両方によって、対象物Ｏが梱包された梱包材Ｐの表面を、例えば、梱包材Ｐの辺Ｓ１から辺Ｓ３に向かってなぞる。この際、ロボット制御部４９は、力センサー情報取得部４１から取得された力センサー情報に基づく制御によって、梱包材Ｐを移動させてしまわないように梱包材Ｐの表面をなぞる。また、この際、制御部３６は、所定間隔だけ第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２とのうちいずれか一方又は両方が梱包材Ｐの表面上を移動する毎に、梱包材Ｐの表面の高さを検出する。制御部３６は、検出した高さを、梱包材Ｐの表面上の位置を示す情報と対応付けた対応情報を記憶する。制御部３６は、記憶した対応情報に基づいて、梱包材Ｐの表面上において検出された表面の高さが所定値以上の位置が、梱包材Ｐの表面上においてどのように分布しているかを特定し、特定した分布に基づいて、梱包材Ｐの内側に梱包された対象物Ｏの収容状況を検出する。
【０１１１】
以上説明したように、本実施形態におけるロボット２０は、梱包材Ｐに梱包された対象物Ｏの収容状況に基づいて梱包材Ｐを把持する。より具体的には、ロボット２０は、梱包材Ｐに梱包された対象物Ｏの収容状況に基づいて決定される梱包材Ｐの位置（この一例において、第１把持部位Ｇ１の位置と、第２把持部位Ｇ２の位置）を把持する。これにより、ロボット２０は、梱包材に梱包された対象物の収容状況に応じた位置を把持して作業を行うことができる。
【０１１２】
また、ロボット２０は、梱包材Ｐを把持した後、梱包材Ｐを切断する。ロボット２０は、梱包材Ｐの内側から対象物Ｏを梱包材Ｐの外側に出すことができる。
【０１１３】
また、ロボット２０は、梱包材Ｐを切断する際、梱包材Ｐに張力を掛けた位置（この一例において、切出部位ＣＡ）を切断する。これにより、ロボット２０は、梱包材Ｐに加わる張力が不十分なために起こる事象による梱包材Ｐの切断の失敗を抑制することができる。
【０１１４】
また、ロボット２０は、梱包材Ｐを切断した後、対象物Ｏを梱包材Ｐから出し、梱包材Ｐを所定の場所へ載置する。これにより、ロボット２０は、梱包材Ｐを開梱して対象物Ｏを給材することを、開梱後の梱包材Ｐに干渉することなく繰り返し行うことができる。
【０１１５】
また、ロボット２０は、梱包材Ｐを把持し、梱包材Ｐを移動させて、対象物Ｏと梱包材Ｐとの位置関係を変化させる。これにより、ロボット２０は、梱包材Ｐを移動することにより調整された収容状況に応じた位置を把持して作業を行うことができる。
【０１１６】
また、ロボット２０は、収容状況が検出できない場合、梱包材Ｐを移動させて、対象物Ｏと梱包材Ｐとの位置関係を変化させる。これにより、ロボット２０は、梱包材Ｐに梱包された対象物Ｏの収容状況が分からない場合であっても、梱包材Ｐを移動することにより調整された収容状況に応じた位置を把持して作業を行うことができる。
【０１１７】
また、ロボット２０は、梱包材Ｐに梱包された対象物Ｏの収容状況に基づいて、第１エンドエフェクターＥＮＤ１により梱包材Ｐの第１把持部位を把持し、第２エンドエフェクターＥＮＤ２により梱包材Ｐの第２把持部位を把持する。これにより、ロボット２０は、梱包材Ｐに梱包された対象物Ｏの収容状況に応じた第１把持部位を第１エンドエフェクターＥＮＤ１により把持し、当該収容状況に応じた第２把持部位を第２エンドエフェクターＥＮＤ２により把持して作業を行うことができる。
【０１１８】
また、ロボット２０は、梱包材Ｐに梱包された対象物Ｏの収容状況を梱包材Ｐの内側における少なくとも２つ以上の対象物Ｏの位置に基づいて決定する。これにより、ロボット２０は、２つ以上の対象物Ｏの位置に基づいて決定された収容状況に応じた位置を把持して作業を行うことができる。
【０１１９】
また、ロボット２０は、第３撮像部２１及び第４撮像部２２が撮像した撮像画像に基づいて梱包材Ｐの内側における少なくとも２つ以上の対象物Ｏの位置を検出する。これにより、ロボット２０は、当該撮像画像に基づいて検出された２つ以上の対象物Ｏの位置に基づいて決定された収容状況に応じた位置を把持して作業を行うことができる。
【０１２０】
また、ロボット２０は、梱包材Ｐの表面をなぞるように第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２とのうちいずれか一方又は両方を移動させ、梱包材Ｐの表面の高さの変化に基づいて収容状況を判定する。これにより、ロボット２０は、梱包材Ｐの表面の高さの変化に基づいて決定された収容状況に応じた位置を把持して作業を行うことができる。
【０１２１】
また、ロボット２０は、第１エンドエフェクターＥＮＤ１により梱包材Ｐを把持し、梱包材Ｐの切断に失敗した場合、第１エンドエフェクターＥＮＤ１による梱包材Ｐの把持位置を変更する。これにより、ロボット２０は、例えば、梱包材Ｐの切断に適していない位置を第１エンドエフェクターＥＮＤ１が把持したことにより梱包材Ｐの切断が失敗した場合であっても、作業を中断せずに続けることができる。
【０１２２】
また、ロボット２０は、更に第２エンドエフェクターＥＮＤ２により梱包材Ｐを把持し、梱包材Ｐの切断に失敗した場合、第２エンドエフェクターＥＮＤ２による梱包材Ｐの把持位置を変更する。これにより、ロボット２０は、例えば、梱包材Ｐの切断に適していない位置を第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方が把持したことにより梱包材Ｐの切断が失敗した場合であっても、作業を中断せずに続けることができる。
【０１２３】
また、ロボット２０は、力センサー２３から取得された力センサー情報に基づいて梱包材Ｐを把持する。これにより、ロボット２０は、梱包材Ｐを把持した際に、梱包材Ｐに対して過剰な力を加えることによって意図せずに梱包材Ｐを開梱してしまうことを抑制することができる。
【０１２４】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１２５】
また、以上に説明した装置（例えば、ロボット２０の制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１２６】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１２７】
１１  第１撮像部、１２  第２撮像部、２０  ロボット、２１  第３撮像部、２２  第４撮像部、２３−１  第１力センサー、２３−２  第２力センサー、３０  制御装置、３１  ＣＰＵ、３２  記憶部、３３  入力受付部、３４  通信部、３５  表示部、３６  制御部、４０  撮像制御部、４１  力センサー情報取得部、４２  画像取得部、４３  梱包材検出部、４４  収容状況検出部、４５  判定部、４６  把持位置姿勢算出部、４７  容器等検出部、４９  ロボット制御部
【図１】
0006536110.tif 000002
【図２】
0006536110.tif 000003
【図３】
0006536110.tif 000004
【図４】
0006536110.tif 000005
【図５】
0006536110.tif 000006
【図６】
0006536110.tif 000007