(57)【要約】【課題】固定されていない箱体に対しても精度よく梱包物を収納することができる梱包装置を提供すること。【解決手段】梱包装置は、可動部と、可動部に設けられた力検出部と、を備え、梱包材から組み立てられた箱体に梱包物を力検出部の出力値に基づいて収納する。【選択図】図３
2016179821.tif 000002
【特許請求の範囲】
【請求項１】
可動部と、
前記可動部に設けられた力検出部と、
を備え、
梱包材から組み立てられた箱体に梱包物を前記力検出部の出力値に基づいて収納する、
梱包装置。
【請求項２】
前記箱体の第１部位に前記可動部の第１部位により力を加えて前記箱体を動かし、
前記箱体の第２部位に前記可動部の第２部位を接触させ、
前記力検出部の出力値に基づいて前記箱体の位置決めを行い、前記箱体に前記梱包物を収納する、
請求項１に記載の梱包装置。
【請求項３】
前記箱体の前記位置決めに基づいて、前記可動部の第１部位と前記可動部の第２部位のうちいずれか一方又は両方により前記梱包物のうちの第１梱包物を前記箱体に配置する、
請求項２に記載の梱包装置。
【請求項４】
前記可動部の第１部位は、前記梱包物のうちの第２梱包物を介して前記箱体の第１部位に力を加える、
請求項２又は３に記載の梱包装置。
【請求項５】
前記位置決めを行うことにより前記第２梱包物を所定の収納位置に収納する、
請求項４に記載の梱包装置。
【請求項６】
前記第２梱包物を前記箱体の所定の配置位置に配置し、前記第２梱包物を前記可動部の第１部位により移動させて前記箱体の第１部位に接触させることにより、前記箱体の第１部位に力を加える、
請求項４又は５に記載の梱包装置。
【請求項７】
前記所定の配置位置は、前記箱体の底面の略中心である、
請求項６に記載の梱包装置。
【請求項８】
前記箱体は、折り畳まれた状態の前記梱包材から組み立てられている、
請求項１から７のうちいずれか一項に記載の梱包装置。
【請求項９】
可動部に設けられた力検出部の出力値に基づいて、折り畳まれた状態の梱包材から組み立てられた箱体に梱包物を収納する、
梱包方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、梱包装置、及び梱包方法に関する。
【背景技術】
【０００２】
梱包物を収納する箱体へ梱包物を梱包装置に精度よく収納させる技術の研究や開発が行われている。
【０００３】
これに関し、箱体が載置された載置面から動かないように当該箱体を固定し、梱包物が有する対角の少なくとも一方を把持しながら当該梱包物を移動させることにより箱体へ梱包物を収納させる梱包装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１４／１２５６２７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来の梱包装置では、載置面に箱体が固定されていない場合、梱包物とともに箱体が動いてしまうことがあり、その結果、精度よく梱包物を箱体に収納することが困難であった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、可動部と、前記可動部に設けられた力検出部と、を備え、梱包材から組み立てられた箱体に梱包物を前記力検出部の出力値に基づいて収納する、梱包装置である。
この構成により、梱包装置は、梱包材から組み立てられた箱体に梱包物を可動部に設けられた力検出部の出力値に基づいて収納する。これにより、梱包装置は、力制御によって梱包物を箱体へ収納することができ、その結果、載置面に固定されていない箱体に対しても精度よく梱包物を収納することができる。
【０００７】
また、本発明の他の態様は、梱包装置において、前記箱体の第１部位に前記可動部の第１部位により力を加えて前記箱体を動かし、前記箱体の第２部位に前記可動部の第２部位を接触させ、前記力検出部の出力値に基づいて前記箱体の位置決めを行い、前記箱体に前記梱包物を収納する、構成が用いられてもよい。
この構成により、梱包装置は、箱体の第１部位に可動部の第１部位により力を加えて箱体を動かし、箱体の第２部位に可動部の第２部位を接触させ、力検出部の出力値に基づいて箱体の位置決めを行い、箱体に梱包物を収納する。これにより、梱包装置は、箱体の位置決めに基づいて、精度よく箱体へ梱包物を収納することができる。
【０００８】
また、本発明の他の態様は、梱包装置において、前記箱体の前記位置決めに基づいて、前記可動部の第１部位と前記可動部の第２部位のうちいずれか一方又は両方により前記梱包物のうちの第１梱包物を前記箱体に配置する、構成が用いられてもよい。
この構成により、梱包装置は、箱体の位置決めに基づいて、可動部の第１部位と可動部の第２部位のうちいずれか一方又は両方により梱包物のうちの第１梱包物を箱体に配置する。これにより、梱包装置は、例えば、箱体の外側等の意図していない場所に第１梱包物を配置してしまうことを抑制することができる。
【０００９】
また、本発明の他の態様は、梱包装置において、前記可動部の第１部位は、前記梱包物のうちの第２梱包物を介して前記箱体の第１部位に力を加える、構成が用いられてもよい。
この構成により、梱包装置は、可動部の第１部位は、梱包物のうちの第２梱包物を介して箱体の第１部位に力を加える。これにより、梱包装置は、箱体内において第２梱包物を移動させつつ箱体の第１部位に対して力を加えることができる。
【００１０】
また、本発明の他の態様は、梱包装置において、前記位置決めを行うことにより前記第２梱包物を所定の収納位置に収納する、構成が用いられてもよい。
この構成により、梱包装置は、箱体の位置決めを行うことにより第２梱包物を所定の収納位置に収納する。これにより、梱包装置は、箱体の位置決めと第２梱包物の収納とを別の動作によって行う場合に生じる箱体の位置のずれを抑制することができる。
【００１１】
また、本発明の他の態様は、前記第２梱包物を前記箱体の所定の配置位置に配置し、前記第２梱包物を前記可動部の第１部位により移動させて前記箱体の第１部位に接触させることにより、前記箱体の第１部位に力を加える、構成が用いられてもよい。
この構成により、梱包装置は、第２梱包物を箱体の所定の配置位置に配置し、第２梱包物を可動部の第１部位により移動させて箱体の第１部位に接触させることにより、箱体の第１部位に力を加える。これにより、梱包装置は、箱体の位置がずれていても、第２梱包物を箱体の内部に配置してから箱体の位置決めを行うことができる。
【００１２】
また、本発明の他の態様は、梱包装置において、前記所定の配置位置は、前記箱体の底面の略中心である、構成が用いられてもよい。
この構成により、梱包装置は、第２梱包物を箱体の底面の略中心に配置し、第２梱包物を可動部の第１部位により移動させて箱体の第１部位に接触させることにより、箱体の第１部位に力を加える。これにより、梱包装置は、より確実に、箱体の位置がずれていても、第２梱包物を箱体の内側に配置してから箱体の位置決めを行うことができる。
【００１３】
また、本発明の他の態様は、梱包装置において、前記箱体は、折り畳まれた状態の前記梱包材から組み立てられている、構成が用いられてもよい。
この構成により、梱包装置は、折り畳まれた状態の梱包材から組み立てられた箱体に梱包物を可動部に設けられた力検出部の出力値に基づいて収納する。これにより、梱包装置は、力制御によって梱包物を、折り畳まれた状態の梱包材から組み立てられた箱体へ収納することができる。
【００１４】
また、本発明の他の態様は、可動部に設けられた力検出部の出力値に基づいて、折り畳まれた状態の梱包材から組み立てられた箱体に梱包物を収納する、梱包方法である。
この構成により、梱包方法は、可動部に設けられた力検出部の出力値に基づいて、折り畳まれた状態の梱包材から組み立てられた箱体に梱包物を収納する。これにより、梱包方法は、力制御によって梱包物を箱体へ収納することができ、その結果、載置面に固定されていない箱体に対しても精度よく梱包物を収納することができる。
【００１５】
以上により、梱包装置、及び梱包方法は、可動部に設けられた力検出部の出力値に基づいて、折り畳まれた状態の梱包材から組み立てられた箱体に梱包物を収納する。これにより、梱包装置、及び梱包方法は、力制御によって梱包物を箱体へ収納することができ、その結果、載置面に固定されていない箱体に対しても精度よく梱包物を収納することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係る梱包システム１の一例を示す構成図である。
【図２】制御装置３０のハードウェア構成の一例を示す図である。
【図３】制御装置３０の機能構成の一例を示す図である。
【図４】制御装置３０の制御部３６が梱包装置２０に梱包済の箱体Ｂを所定数だけ作成させる処理の流れの一例を示すフローチャートである。
【図５】図４に示したステップＳ１１０において制御部３６により行われる梱包処理の流れの一例を示すフローチャートである。
【図６】梱包装置制御部４５が梱包装置２０に梱包物Ｃを配置位置（１，１）に配置させた直後の様子の一例を示す図である。
【図７】梱包装置制御部４５が図６に示した状態から両エンドエフェクターを第１待機位置（１，１）に移動させ、両エンドエフェクターの状態を第１待機状態にさせた直後の様子の一例を示す図である。
【図８】梱包装置制御部４５が第１位置決め動作を開始した直後の対象箱体内の様子の一例を示す図である。
【図９】梱包装置制御部４５が第１位置決め動作を終了した直後の対象箱体内の様子の一例を示す図である。
【図１０】梱包装置制御部４５が図９に示した状態から両エンドエフェクターを第２待機位置（１，１）に移動させ、両エンドエフェクターの状態を第２待機状態にさせた直後の様子の一例を示す図である。
【図１１】梱包装置制御部４５が第２位置決め動作を開始した直後の対象箱体内の様子の一例を示す図である。
【図１２】梱包装置制御部４５が第２位置決め動作を終了した直後の対象箱体内の様子の一例を示す図である。
【図１３】梱包装置制御部４５が梱包装置２０に梱包物Ｃ２を配置位置（２，１）に配置させた直後の様子の一例を示す図である。
【図１４】梱包装置制御部４５が図１３に示した状態から両エンドエフェクターを第１待機位置（２，１）に移動させ、両エンドエフェクターの状態を第１待機状態にさせた直後の様子の一例を示す図である。
【図１５】梱包装置制御部４５が動作例２における第１位置決め動作を開始した直後の対象箱体内の様子の一例を示す図である。
【図１６】梱包装置制御部４５が動作例２における第１位置決め動作を終了した直後の対象箱体内の様子の一例を示す図である。
【図１７】梱包装置２０がチャンファーレスインサーションによって梱包物Ｃ４を（２，２）収納位置した直後の様子の一例を示す図である。
【図１８】梱包物Ｃを対象箱体に入れない状態で対象箱体の位置決めを行う直前の様子の一例を示す図である。
【図１９】梱包物Ｃを対象箱体に入れない状態で対象箱体の位置決めを行った直後の様子の一例を示す図である。
【図２０】対象箱体の外側に第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２の両方を待機させた様子の一例を示す図である。
【図２１】対象箱体の外側に第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２の両方を待機させた状態から対象箱体の位置決めを行った直後の様子の一例を示す図である。
【図２２】第１エンドエフェクターＥＮＤ１を対象箱体の外側に待機させ、第２エンドエフェクターＥＮＤ２を対象箱体の内側に待機させた様子の一例を示す図である。
【図２３】第１エンドエフェクターＥＮＤ１を対象箱体の外側に待機させ、第２エンドエフェクターＥＮＤ２を対象箱体の内側に待機させた状態から対象箱体の位置決めを行った直後の様子の一例を示す図である。
【発明を実施するための形態】
【００１７】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。図１は、本実施形態に係る梱包システム１の一例を示す構成図である。梱包システム１は、梱包装置２０と、グラビティーコンベアーＧＣと、ベルトコンベアーＢＣを備える。また、梱包装置２０は、制御装置３０を内蔵する。
【００１８】
図１において、グラビティーコンベアーＧＣには、最大でＮ個の梱包物Ｃが載置可能である。Ｎは、１以上の整数である。また、この一例において、グラビティーコンベアーＧＣには、梱包物Ｃが所定個数未満になった場合、ユーザーや他のロボットによって梱包物Ｃが供給される。なお、所定個数は、１以上の整数であれば、如何なる個数でも構わない。グラビティーコンベアーＧＣは、グラビティーコンベアーＧＣに載置されている１以上の梱包物Ｃを重力によって１つずつ所定の第１供給位置に供給する（運ぶ）。
【００１９】
第１供給位置に供給するとは、梱包物Ｃの所定部位の位置が第１供給位置と一致するように梱包物Ｃを移動させることを示す。梱包物Ｃの所定部位とは、例えば、梱包物Ｃの底面の中心であるが、梱包物Ｃの他の部位であってもよい。梱包物Ｃの底面とは、梱包物Ｃが載置されている場合に載置面と接面する面を示す。なお、第１供給位置は、梱包物Ｃの所定部位の位置が第１供給位置と一致した場合に、梱包装置２０によって梱包物Ｃを保持することが可能な位置であればどこの位置であってもよい。
【００２０】
梱包物Ｃとは、例えば、産業用に加工された加工品や部品等の物体であるが、他の物体であってもよい。この一例において、梱包物Ｃは、立方体形状の物体によって表すが、他の形状であってもよい。なお、この一例において、１以上の梱包物Ｃのそれぞれが、互いに形状や大きさが同一である場合について説明するが、これに代えて、互いに形状や大きさが異なる場合であってもよい。また、この一例において、梱包物Ｃは、グラビティーコンベアーＧＣにより１つずつ第１供給位置に供給される構成に代えて、ベルトコンベアーにより供給されてもよく、他の方法によって供給されてもよく、バラ積みされていてもよい。
【００２１】
また、図１において、ベルトコンベアーＢＣのベルト上には、Ｍ個の箱体Ｂ１〜ＢＭが載置されている。Ｍは、１以上の整数である。以下では、説明の便宜上、箱体Ｂ１〜ＢＭを区別する必要が無い限り、まとめて箱体Ｂと称して説明する。また、以下では、ベルトコンベアーＢＣのベルトを、単にベルトと称して説明する。例えば、Ｍ個の箱体Ｂのそれぞれは、ベルト上に設定されている複数の所定の載置位置毎に載置されている。ベルト上に設定されている所定の載置位置に箱体Ｂが載置されているとは、箱体Ｂの所定部位の位置が、当該載置位置と一致するように載置されていることを示す。
【００２２】
しかし、箱体Ｂのそれぞれは、ベルト上の当該載置位置に固定されているわけではない。すなわち、箱体Ｂのそれぞれは、ベルト（載置面）上の複数の所定の載置位置毎に動かないように固定されているわけではなく、単に載置されているだけであり、箱体Ｂの所定部位の位置が所定の載置位置からずれる場合がある。この一例において、以下では、箱体Ｂの所定部位の位置が所定の載置位置からずれている場合について説明する。
【００２３】
なお、箱体Ｂの所定部位とは、例えば、箱体Ｂの底面の中心であるが、箱体Ｂの他の部位であってもよい。また、この一例において、箱体Ｂの所定部位の位置と所定の載置位置とのずれは、最も大きくずれた場合であっても、ベルト上に設定された所定の載置位置に対して梱包物Ｃの所定部位の位置を一致させるように梱包物Ｃを配置した際に、梱包物Ｃが箱体Ｂの内側に含まれる程度のずれである場合について説明する。
【００２４】
ベルトコンベアーＢＣは、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。なお、ベルトコンベアーＢＣと制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。ベルトコンベアーＢＣは、制御装置３０からの制御信号に基づいてベルトコンベアーＢＣに載置されている箱体Ｂを、ベルトを駆動することによって１つずつ所定の第２供給位置に供給する（運ぶ）。
【００２５】
箱体Ｂを第２供給位置に供給するとは、ベルト上に設定された所定の載置位置が第２供給位置と一致するようにベルトを駆動することにより、当該載置位置に載置された箱体Ｂを当該載置位置とともに（すなわち、ベルトとともに）移動させることを示す。
【００２６】
しかし、上述したように、箱体Ｂは、ベルト上の当該載置位置に固定されているわけではない。そのため、箱体ＢがベルトコンベアーＢＣにより第２供給位置に供給された場合、箱体Ｂの所定部位の位置は、ベルト上で箱体Ｂが所定の載置位置からずれてしまうことにより、第２供給位置と一致せずにずれる場合がある。なお、第２供給位置は、箱体Ｂが第２供給位置に供給された場合に、梱包装置２０によって梱包物Ｃを箱体Ｂに収納することが可能な位置であればどこの位置であってもよい。
【００２７】
箱体Ｂとは、例えば、折り畳まれた状態の段ボール（梱包材の一例）から組み立てられた段ボール箱であるが、梱包物Ｃを梱包可能な他の容器であってもよい。また、箱体Ｂは、梱包物ＣをＱ個梱包することが可能な形状・大きさの段ボール箱である。Ｑは、１以上の整数である。以下では、この一例として、Ｑが４の場合について説明する。また、この一例において、箱体Ｂは、ベルトコンベアーＢＣにより１つずつ第２供給位置に供給される構成に代えて、グラビティーコンベアーにより供給されてもよく、他の方法によって供給されてもよく、バラ積みされていてもよい。
【００２８】
梱包システム１は、梱包装置２０により箱体Ｂに梱包物Ｃを梱包する。また、梱包システム１は、梱包装置２０により１つの箱体Ｂに対してＱ個の梱包物Ｃを梱包する。Ｑは、１以上の整数である。梱包システム１は、第１供給位置に供給された梱包物Ｃを梱包装置２０に保持させる。梱包物Ｃを梱包装置２０が保持するとは、この一例において、梱包物Ｃを、梱包装置２０が備える１以上のアームによって持ち上げて移動させることが可能な状態にすることを示す。
【００２９】
梱包システム１は、梱包装置２０により保持された梱包物Ｃを、第２供給位置に供給された箱体Ｂに梱包する。梱包物Ｃを箱体Ｂに梱包するとは、この一例において、箱体Ｂ内の所定の収納位置に梱包物Ｃを収納（配置）することを示す。以下では、梱包物Ｃを箱体Ｂに梱包することを、梱包物Ｃを箱体Ｂに収納すると称して説明する。
【００３０】
ここで、箱体Ｂには、Ｑ個の所定の収納位置が決められている。この一例において、梱包物Ｃの形状が直方体形状であるため、所定の収納位置は、梱包物Ｃを箱体Ｂ内に縦方向ｉ個、横方向ｊ個整列するように決められている。以下では、説明の便宜上、箱体Ｂ内におけるｉ列ｊ行目の梱包物の位置を収納位置（ｉ，ｊ）と称して説明する。なお、ｉ，ｊは、１以上の整数である。また、Ｉ×Ｊ＝Ｑである。ここで、Ｉは、ｉの最大値を示す。また、Ｊは、ｊの最大値を示す。以下では、一例として、Ｑ＝４であり、且つＩ＝２、Ｊ＝２の場合について説明する。
【００３１】
すなわち、梱包システム１は、４個の梱包物Ｃのそれぞれを箱体Ｂ内の所定の収納位置に収納する。以下では、説明の便宜上、４個の梱包物Ｃのそれぞれが箱体Ｂ内の所定の収納位置に収納された状態の箱体Ｂを、梱包済の箱体Ｂと称して説明する。梱包システム１は、箱体Ｂに４個の梱包物Ｃを収納した後、梱包済の箱体ＢをベルトコンベアーＢＣにより次の作業工程が行われる場所へと運ぶとともに、次の箱体Ｂを第２供給位置に供給する。そして、梱包システム１は、当該箱体Ｂに次の４個の梱包物Ｃを収納する。なお、この一例において、梱包システム１は、箱体Ｂに梱包物Ｃを１つずつ梱包する場合について説明するが、２以上の梱包物Ｃの集まりを保持し、保持した当該集まり毎に箱体Ｂへ梱包物Ｃを梱包する構成であってもよい。
【００３２】
４個の梱包物Ｃを箱体Ｂに梱包する際、梱包システム１の梱包装置２０は、箱体Ｂの第１部位に第１エンドエフェクターによって力を加えることにより箱体Ｂを動かし、箱体Ｂの第２部位に第２エンドエフェクターを接触させ、箱体Ｂの位置決めをする。ここで、第１エンドエフェクターと第２エンドエフェクターはそれぞれ、力センサーを備える。従って、梱包装置２０は、力センサーの出力値に基づく制御によって第１エンドエフェクターと第２エンドエフェクターを動作させ、箱体Ｂの位置決めをする。この一例において、箱体Ｂの位置決めとは、ロボット座標系における箱体Ｂの所定部位の位置を検出（算出、特定）することを示す。
【００３３】
これにより、梱包システム１は、載置面に固定されていない箱体Ｂに対しても精度よく梱包物Ｃを収納することができる。換言すると、梱包システム１は、箱体Ｂの所定部位の位置が、ベルト上に設定された所定の載置位置からずれていた場合であっても、箱体Ｂに対して精度よく梱包物Ｃを収納することができる。
以下では、この梱包システム１による梱包物Ｃの箱体Ｂへの梱包方法について詳しく説明する。
【００３４】
ここで、梱包システム１が備える梱包装置２０について説明する。
梱包装置２０は、例えば、第１撮像部１１と、第２撮像部１２と、第３撮像部２１と、第４撮像部２２と、第１力センサー２３−１と、第２力センサー２３−２と、第１エンドエフェクターＥＮＤ１と、第２エンドエフェクターＥＮＤ２と、第１マニピュレーターＭＮＰ１と、第２マニピュレーターＭＮＰ２と、図示しない複数のアクチュエーターを備え、制御装置３０を内蔵した双腕ロボットである。
【００３５】
双腕ロボットとは、２本のアーム（腕）を有するロボットを示し、本実施形態では、第１エンドエフェクターＥＮＤ１と第１マニピュレーターＭＮＰ１によって構成されるアーム（以下、第１アームと称する）と、第２エンドエフェクターＥＮＤ２と第２マニピュレーターＭＮＰ２によって構成されるアーム（以下、第２アームと称する）との２本のアームを有する。第１エンドエフェクターＥＮＤ１は、第１のエンドエフェクターの一例である。第２エンドエフェクターＥＮＤ２は、第２のエンドエフェクターの一例である。
【００３６】
なお、梱包装置２０は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットとは、１本のアームを有するロボットを示し、例えば、前述の第１アームと第２アームのうちいずれか一方を有するロボットを示す。
【００３７】
第１アームは、７軸垂直多関節型となっており、支持台と第１マニピュレーターＭＮＰ１と第１エンドエフェクターＥＮＤ１とがアクチュエーターによる連携した動作によって７軸の自由度の動作を行うことができる。なお、第１アームは、６自由度（６軸）以下で動作するものであってもよく、８自由度（８軸）以上で動作するものであってもよい。第１アームは、第１アーム部の一例である。また、第１アームは、第１撮像部１１を備える。
第１撮像部１１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（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）等のハードウェア機能部であってもよい。
【００５６】
位置情報読込部４１は、予め記憶部３２に記憶された各種の位置情報を読み込む。各種の位置情報とは、図５に示したフローチャートにおいて説明する情報であり、例えば、前述した第１供給位置を示す情報や第２供給位置を示す情報、収納位置（１，１）〜収納位置（Ｉ，Ｊ）のそれぞれを示す情報等を含む。
【００５７】
位置検出部４２は、力センサー２３から取得される力センサー情報に基づいて、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方のロボット座標系における位置を検出する。この一例において、第１エンドエフェクターＥＮＤ１のロボット座標系における位置とは、第１エンドエフェクターＥＮＤ１のＴＣＰ（Tool  Center  Point）のロボット座標系における位置を示す。また、第２エンドエフェクターＥＮＤ２のロボット座標系における位置とは、第２エンドエフェクターＥＮＤ２のＴＣＰのロボット座標系における位置を示す。
【００５８】
位置算出部４３は、図５に示したフローチャートにおいて箱体Ｂの位置決めを行う位置決め動作を梱包装置２０に行わせるために必要な各種の位置を算出する。
力センサー情報取得部４４は、力センサー２３により検出される力センサー情報を取得する。
梱包装置制御部４５は、位置算出部４３により算出された各種の位置を示す情報に基づいて梱包装置２０を動作させる。また、梱包装置制御部４５は、力センサー情報取得部４４が取得した力センサー情報に基づく制御により梱包装置２０を動作させる。
【００５９】
計数部４６は、梱包装置２０により作成された梱包済の箱体Ｂの数をカウントする。
判定部４７は、計数部４６がカウントした梱包済の箱体Ｂの数が所定数に達したか否かを判定する。所定数とは、例えば、１０であるが、他の数であってもよい。また、判定部４７は、図５に示したフローチャートにおいて説明する各種の判定を行う。
ベルトコンベアー制御部４８は、ベルトコンベアーＢＣを動作させ、箱体Ｂを第２供給位置まで供給させる。また、ベルトコンベアー制御部４８は、ベルトコンベアーＢＣを動作させ、梱包済の箱体Ｂを次の作業工程が行われる場所へ供給する。
【００６０】
次に、図４を参照して、制御装置３０の制御部３６が梱包装置２０に梱包済の箱体Ｂを所定数だけ作成させる処理について説明する。図４は、制御装置３０の制御部３６が梱包装置２０に梱包済の箱体Ｂを所定数だけ作成させる処理の流れの一例を示すフローチャートである。なお、以下では、計数部４６によってカウントされる梱包済の箱体Ｂのカウント数は、ステップＳ１００の処理が行われる前に０に初期化されているとして説明する。
まず、ベルトコンベアー制御部４８は、ベルトコンベアーＢＣのベルトを駆動させ、箱体Ｂを第２供給位置まで供給する（ステップＳ１００）。
【００６１】
次に、制御部３６は、制御部３６が備える各機能部により梱包処理を行い、４個の梱包物ＣをステップＳ１００において供給された箱体Ｂに収納する（ステップＳ１１０）。そして、計数部４６は、梱包済の箱体Ｂのカウント数を１だけ増やす。次に、判定部４７は、計数部４６によりカウントされた梱包済の箱体Ｂの数が所定数に達したか否かを判定する（ステップＳ１２０）。計数部４６によってカウントされた梱包済の箱体Ｂのカウント数が所定数に達していないと判定部４７が判定した場合（ステップＳ１２０−Ｎｏ）、ベルトコンベアー制御部４８は、ステップＳ１００に遷移し、次の箱体Ｂを第２供給位置に供給する。一方、計数部４６によってカウントされた梱包済の箱体Ｂのカウント数が所定数に達したと判定部４７が判定した場合（ステップＳ１２０−Ｙｅｓ）、制御部３６は、処理を終了する。
【００６２】
次に、図５を参照して、図４に示したステップＳ１１０において制御部３６により行われる梱包処理について説明する。図５は、図４に示したステップＳ１１０において制御部３６により行われる梱包処理の流れの一例を示すフローチャートである。
【００６３】
この一例において、図５に示したフローチャートの処理によって行われる梱包装置２０の動作は、ある箱体Ｂに収納する梱包物Ｃの収納順によって異なる。より具体的には、梱包装置２０の動作は、ある箱体Ｂに収納する梱包物Ｃのうち、最初に収納する梱包物Ｃを当該箱体Ｂに梱包する動作と、最初と最後以外に収納する梱包物Ｃを当該箱体Ｂに梱包する動作と、最後に収納する梱包物Ｃを当該箱体Ｂに梱包する動作とが異なる。
そこで、以下では、最初に収納する梱包物Ｃを当該箱体Ｂに梱包する動作と、最初と最後以外に収納する梱包物Ｃを当該箱体Ｂに梱包する動作と、最後に収納する梱包物Ｃを当該箱体Ｂに梱包する動作とを、図５に示したフローチャートを参照して順に説明する。
【００６４】
なお、以下では、説明の便宜上、図４に示したステップＳ１１０において梱包装置２０が梱包物Ｃを収納する箱体Ｂを、対象箱体と称して説明する。また、以下では、対象箱体に収納する梱包物Ｃの収納順を、変数ｒによって表す。すなわち、変数ｒ＝１の場合、梱包装置２０は、対象箱体に収納する梱包物Ｃのうち、最初に収納する梱包物Ｃを対象箱体に梱包する動作を行う。また、変数ｒ＝２〜Ｑ−１の場合、梱包装置２０は、対象箱体に収納する梱包物Ｃのうち、最初と最後以外に収納する梱包物Ｃを対象箱体に梱包する動作を行う。変数ｒ＝Ｑの場合、梱包装置２０は、対象箱体に収納する梱包物Ｃのうち、最後に収納する梱包物Ｃを対象箱体に梱包する動作を行う。
【００６５】
＜動作例１：最初に収納する梱包物Ｃを対象箱体に梱包する動作について＞
以下では、予め記憶部３２に記憶された梱包関連情報を制御部３６が読み込み済である場合について説明する。梱包関連情報は、梱包物Ｃと箱体Ｂの形状や大きさを表す情報や、第１エンドエフェクターＥＮＤ１及び第２エンドエフェクターＥＮＤ２の形状や大きさを表す情報である。また、以下では、予め記憶部３２に記憶された第２供給位置を示す情報を制御部３６が記憶部３２から読み込み済である場合について説明する。ここで、第２供給位置は、ロボット座標系において表される。
【００６６】
まず、制御部３６は、変数ｒを生成する。また、制御部３６は、１〜Ｑまでの数字を若い数字から順に１つずつ選択する。制御部３６は、選択した値を変数ｒに代入する。そして、制御部３６は、変数ｒに代入した値毎にステップＳ２１０からステップＳ３３０までの処理を繰り返し行う（ステップＳ２００）。動作例１において、制御部３６は、変数ｒに１を代入する。
【００６７】
次に、位置情報読込部４１は、予め記憶部３２に記憶された第１供給位置を示す情報を記憶部３２から読み込む。ここで、第１供給位置は、ロボット座標系において表される。梱包装置制御部４５は、読み込んだ第１供給位置を示す情報と、梱包関連情報とに基づいて、グラビティーコンベアーＧＣにより第１供給位置に供給された梱包物Ｃを梱包装置２０に保持させる（ステップＳ２１０）。また、梱包装置制御部４５は、力センサー情報取得部４４が取得した力センサー情報に基づく制御によって第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２に梱包物Ｃを保持させる。
【００６８】
なお、以下では、説明の便宜上、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２を、まとめて両エンドエフェクターと称して説明する。また、両エンドエフェクターに梱包物Ｃを保持させるとは、例えば、梱包物Ｃを、第１エンドエフェクターＥＮＤ１が備える爪部と第２エンドエフェクターＥＮＤ２が備える爪部により挟み込み、持ち上げて移動させることができる状態にさせることを示す。
【００６９】
次に、判定部４７は、変数ｒに代入されている値がＱ（この一例において４）であるか否かを判定する（ステップＳ２２０）。
変数ｒに代入されている値がＱであると判定部４７が判定した場合（ステップＳ２２０−Ｙｅｓ）、梱包装置制御部４５は、処理をステップＳ３３０に進める。
一方、変数ｒに代入されている値がＱではないと判定部４７が判定した場合（ステップＳ２２０−Ｎｏ）、梱包装置制御部４５は、処理をステップＳ２３０に進める。
【００７０】
動作例１におけるステップＳ２２０では、判定部４７は、変数ｒ＝１であるため、変数ｒに代入されている値がＱではないと判定する。このため、動作例１では、判定部４７がステップＳ２２０において変数ｒに代入されている値がＱではないと判定した場合についてのみ説明する。
【００７１】
変数ｒに代入された値がＱではないと判定部４７が判定した場合、位置情報読込部４１は、予め記憶部３２に記憶された行列数対応情報を読み込む。行列数対応情報は、変数ｒに代入される値に応じた列数ｉ及び行数ｊが対応付けられた情報である。この一例において、ｒに対応付けられた列数ｉ及び行数ｊは、以下に示す通りである。
【００７２】
ｒ＝１  ＜−（対応）―＞  （ｉ，ｊ）＝（１，１）
ｒ＝２  ＜−（対応）―＞  （ｉ，ｊ）＝（２，１）
ｒ＝３  ＜−（対応）―＞  （ｉ，ｊ）＝（１，２）
ｒ＝４  ＜−（対応）―＞  （ｉ，ｊ）＝（２，２）
【００７３】
位置情報読込部４１は、読み込んだ行列数対応情報から、現在の変数ｒに代入されている値に応じた列数ｉ及び行数ｊを抽出する。位置情報読込部４１は、抽出した列数ｉ及び行数ｊに基づいて、予め記憶部３２に記憶された配置位置（ｉ，ｊ）を示す情報を記憶部３２から読み込む。配置位置（ｉ，ｊ）とは、梱包物Ｃを対象箱体内の収納位置（ｉ，ｊ）に収納する前の事前準備として仮に配置する位置である。また、配置位置（ｉ，ｊ）は、例えば、何らかの位置から配置位置（ｉ，ｊ）までの相対的な位置として表される。位置算出部４３は、位置情報読込部４１が読み込んだ配置位置（ｉ，ｊ）を示す情報に基づいて、ロボット座標系における配置位置（ｉ，ｊ）を算出する（ステップＳ２３０）。
【００７４】
動作例１におけるステップＳ２３０では、位置情報読込部４１は、行列数対応情報から（ｉ，ｊ）＝（１，１）となる列数及び行数を抽出する。位置情報読込部４１は、抽出した（ｉ，ｊ）＝（１，１）となる列数及び行数に基づいて、配置位置（１，１）を示す情報を記憶部３２から読み込む。配置位置（１，１）は、第２供給位置から配置位置（１，１）までの相対的な位置として表される。すなわち、位置算出部４３は、読み込んだ配置位置（１，１）を示す情報と、予め記憶部３２から読み込んだ第２供給位置を示す情報とに基づいて、ロボット座標系における配置位置（１，１）を算出する。
【００７５】
ここで、第２供給位置は、ベルト上に設定された所定の載置位置に対象箱体が正確に載置されていた場合、対象箱体の所定部位の位置と一致する位置である。この一例において、対象箱体の所定部位、すなわち箱体Ｂの所定部位は、箱体Ｂの底面の中心である。そのため、この一例のように対象箱体の所定部位の位置が第２供給位置からずれていた場合であっても、梱包物Ｃの所定部位の位置が第２供給位置に一致するように梱包物Ｃを配置すると、梱包物Ｃを対象箱体の内側に配置することができる可能性が高い。このような理由から、動作例１において配置位置（１，１）は、第２供給位置と一致していることが望ましい。そこで、以下では、配置位置（１，１）が第２供給位置と一致している場合について説明する。
【００７６】
次に、梱包装置制御部４５は、ステップＳ２３０において位置算出部４３が算出したロボット座標系における配置位置（ｉ，ｊ）を示す情報に基づいて、梱包装置２０に梱包物Ｃを配置位置（ｉ，ｊ）に配置させる（ステップＳ２４０）。梱包物Ｃをロボット座標系における配置位置（ｉ，ｊ）に配置させるとは、梱包物Ｃの所定部位の位置を、ロボット座標系における配置位置（ｉ，ｊ）に一致させることを示す。
この動作例１におけるステップＳ２４０では、梱包装置制御部４５は、位置算出部４３が算出したロボット座標系における配置位置（１，１）を示す情報に基づいて、梱包装置２０に梱包物Ｃを配置位置（１，１）に配置させる。
【００７７】
ここで、図６を参照して、動作例１におけるステップＳ２４０の処理について説明する。図６は、梱包装置制御部４５が梱包装置２０に梱包物Ｃを配置位置（１，１）に配置させた直後の様子の一例を示す図である。図６に示した座標軸のｘ座標及びｙ座標は、ロボット座標系における位置を表す。なお、この座標軸は、図６〜図２３において共通であるため、図７〜図２３において説明を省略する。また、図６〜図２３において、この座標軸のｘ座標軸とｙ座標軸は、逆であってもよい。また、以下では、動作例１において梱包装置２０が対象箱体に収納する梱包物Ｃを、梱包物Ｃ１と称して説明する。
【００７８】
前述したように、この一例において、第２供給位置と配置位置（１，１）は、同一の位置を示すため、更にベルト上に設定された所定の載置位置とも一致する。また、この一例において、対象箱体の所定部位の位置は、ベルト上に設定された所定の載置位置と一致せずにずれている。すなわち、梱包装置制御部４５が両エンドエフェクターに保持させた梱包物Ｃ１を、配置位置（１，１）に配置するように梱包装置２０を動作させた場合、梱包装置２０は、図６に示したように、対象箱体の内側の位置であって対象箱体の所定部位の位置とはずれた位置に配置する。図６に示した例では、点線の丸Ｐ１が配置位置（１，１）、すなわち第２供給位置を示し、点線の丸Ｐ２が対象箱体の所定部位の位置を示す。図６に示したように、配置位置（１，１）と対象箱体の所定部位の位置とはずれている。
【００７９】
ここで、説明の便宜上、配置位置（１，１）に梱包物Ｃ１を配置した場合に梱包物Ｃ１を囲む対象箱体の４つの壁面をそれぞれ、ロボット座標系のｘ座標軸の正の方向側の壁面から時計回り順に壁面Ｗ１、壁面Ｗ２、壁面Ｗ３、壁面Ｗ４と称して説明する。これらの壁面Ｗ１〜Ｗ４は、図６〜図２３において共通であるため、図７〜図２３において説明を省略する。
【００８０】
また、図６において第１エンドエフェクターＥＮＤ１から伸びている矢印は、第１エンドエフェクターＥＮＤ１が力センサー情報に基づく制御によって梱包物Ｃ１に加えている力の方向を表している。また、図６において第２エンドエフェクターＥＮＤ２から伸びている矢印は、第２エンドエフェクターＥＮＤ２が力センサー情報に基づく制御によって梱包物Ｃ１に加えている力の方向を表している。
【００８１】
図５に戻る。次に、位置情報読込部４１は、ステップＳ２３０において抽出した列数ｉ及び行数ｊに基づいて、予め記憶部３２に記憶された第１待機位置（ｉ，ｊ）を示す情報を記憶部３２から読み込む（ステップＳ２５０）。
この動作例１におけるステップＳ２５０では、梱包装置制御部４５は、位置情報読込部４１は、第１待機位置（１，１）を示す情報を記憶部３２から読み込む。
【００８２】
第１待機位置（ｉ，ｊ）を示す情報には、第１−１待機位置（ｉ，ｊ）を示す情報と、第１−２待機位置（ｉ，ｊ）を示す情報とが含まれる。第１−１待機位置（ｉ，ｊ）とは、ステップＳ２８０における第１位置決め動作を行う前の事前準備として第１エンドエフェクターＥＮＤ１を待機させる位置のことであり、ロボット座標系によって表される。また、第１−２待機位置（ｉ，ｊ）とは、ステップＳ２８０における第１位置決め動作を行う前の事前準備として第２エンドエフェクターＥＮＤ２を待機させる位置のことであり、ロボット座標系によって表される。なお、以下では、説明の便宜上、第１−１待機位置（ｉ，ｊ）と第１−２待機位置（ｉ，ｊ）を区別する必要が無い限り、まとめて第１待機位置（ｉ，ｊ）と称して説明する。
【００８３】
ここで、梱包物Ｃを収納位置（ｉ，ｊ）に収納する際に第１位置決め動作を行う必要が無い場合、第１待機位置（ｉ，ｊ）には、移動不要情報が含まれる。移動不要情報とは、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方を梱包装置２０が移動させることが不可能な位置を示す情報である。例えば、移動不要情報は、梱包装置２０が設置されている床面の内部の位置を示す情報等である。また、第１待機位置（ｉ，ｊ）に移動不要情報が含まれるとは、第１−１待機位置（ｉ，ｊ）を示す情報と第１−２待機位置（ｉ，ｊ）を示す情報とのいずれか一方又は両方に移動不要情報が含まれることである。
【００８４】
次に、判定部４７は、第１待機位置（ｉ，ｊ）を示す情報に移動不要情報が含まれているか否かを判定する（ステップＳ２６０）。
第１待機位置（ｉ，ｊ）を示す情報に移動不要情報が含まれていないと判定部４７が判定した場合（ステップＳ２６０−Ｎｏ）、梱包装置制御部４５は、処理をステップＳ２７０に進める。
一方、第１待機位置（ｉ，ｊ）を示す情報に移動不要情報が含まれていると判定部４７が判定した場合（ステップＳ２６０−Ｙｅｓ）、梱包装置制御部４５は、処理をステップＳ２９０に進める。
【００８５】
動作例１におけるステップＳ２６０では、第１待機位置（１，１）を示す情報は、移動不要情報を含まない。このため、この動作例１では、判定部４７がステップＳ２６０において第１待機位置（１，１）を示す情報に移動不要情報が含まれていないと判定した場合についてのみ説明する。
【００８６】
第１待機位置（ｉ，ｊ）に移動不要情報が含まれていないと判定部４７が判定した場合、梱包装置制御部４５は、第１待機位置（ｉ，ｊ）を示す情報に基づいて、第１エンドエフェクターＥＮＤ１を第１−１待機位置（ｉ，ｊ）に移動させ、第２エンドエフェクターＥＮＤ２を第１−２待機位置（ｉ，ｊ）に移動させる。以下では、第１エンドエフェクターＥＮＤ１を第１−１待機位置（ｉ，ｊ）に移動させ、第２エンドエフェクターＥＮＤ２を第１−２待機位置（ｉ，ｊ）に移動させることを、まとめて両エンドエフェクターを第１待機位置（ｉ，ｊ）に移動させると称して説明する。そして、両エンドエフェクターを第１待機位置（ｉ，ｊ）に移動させた後、梱包装置制御部４５は、両エンドエフェクターの状態を第１待機状態にさせて待機させる（ステップＳ２７０）。
【００８７】
ここで、第１待機位置（ｉ，ｊ）について説明する。第１待機位置（ｉ，ｊ）とは、両エンドエフェクターの状態を第１待機状態にさせることができる位置である。第１待機状態とは、梱包物Ｃと対象箱体の壁面との間で、両エンドエフェクターそれぞれのＴＣＰを結ぶ直線がロボット座標系におけるｘ座標軸と平行になるように並んで待機している状態である。第１待機状態は、例えば、以下に示した１）〜６）の第１状態条件を満たす状態である。
【００８８】
条件１）第１エンドエフェクターＥＮＤ１のＴＣＰの位置と、第２エンドエフェクターＥＮＤ２のＴＣＰの位置とを結ぶ直線が、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２に最も近い面である梱包物Ｃの面と直交すること
条件２）条件１における直線が、ロボット座標系におけるｘ座標軸と略平行であること
条件３）条件１における直線は、梱包物Ｃの所定部位の位置上を通過すること
条件４）第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２それぞれの梱包物Ｃを保持していた部位（面）が、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２に最も近い面である梱包物Ｃの面と略平行であること
条件５）第１エンドエフェクターＥＮＤ１のＴＣＰの位置と、第２エンドエフェクターＥＮＤ２のＴＣＰの位置との間の距離が、所定距離であること
条件６）第１エンドエフェクターＥＮＤ１のＴＣＰの位置と、第２エンドエフェクターＥＮＤ２のＴＣＰの位置とが、梱包物Ｃと対象箱体の壁面との間に存在すること
【００８９】
なお、所定距離は、例えば、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２との間の距離が１センチメートル程度となるような距離であるとするが、他の距離であってもよい。ただし、所定距離は、第１待機位置（ｉ，ｊ）における第１エンドエフェクターＥＮＤ１と、第１待機位置（ｉ，ｊ）における第２エンドエフェクターＥＮＤ２との両方が、梱包物Ｃと対象箱体の間の隙間（例えば、後述する図7に示した例において、梱包物Ｃ１と壁面Ｗ１との間）に収まる距離でなければならない。また、上記の条件１）〜条件６において、第１エンドエフェクターＥＮＤ１の位置と第２エンドエフェクターＥＮＤ２の位置とは、どちらが梱包物Ｃに近い位置であってもよい。この一例では、第１エンドエフェクターＥＮＤ１が梱包物Ｃに近い位置であり、第２エンドエフェクターＥＮＤ２が梱包物Ｃから遠い位置である場合について説明する。
【００９０】
また、第１エンドエフェクターＥＮＤ１の梱包物Ｃを保持していた部位（面）とは、例えば、第１エンドエフェクターＥＮＤ１の梱包物Ｃを保持する際に、第１エンドエフェクターＥＮＤ１が備える複数の爪部のそれぞれと梱包物Ｃとが接触する複数の接触点を含む面を示す。また、第２エンドエフェクターＥＮＤ２の梱包物Ｃを保持していた部位（面）とは、例えば、第２エンドエフェクターＥＮＤ２の梱包物Ｃを保持する際に、第２エンドエフェクターＥＮＤ２が備える複数の爪部のそれぞれと梱包物Ｃとが接触する複数の接触点を含む面を示す。また、第１状態条件は、上記の１）〜６）の条件のうちの一部を含む構成であってもよく、上記の１）〜６）の条件に加えて他の条件を含む構成であってもよく、上記の１）〜６）の条件のうちの一部を含まずに他の条件を含む構成であってもよい。
【００９１】
動作例１におけるステップＳ２７０では、梱包装置制御部４５は、第１待機位置（１，１）を示す情報に基づいて、両エンドエフェクターを第１待機位置（１，１）に移動させる。そして、梱包装置制御部４５は、両エンドエフェクターの状態を第１待機状態にさせて待機させる。
【００９２】
ここで、図７を参照して、動作例１における第１待機状態について説明する。図７は、梱包装置制御部４５が図６に示した状態から両エンドエフェクターを第１待機位置（１，１）に移動させ、両エンドエフェクターの状態を第１待機状態にさせた直後の様子の一例を示す図である。図７において、点線の丸Ｔ１は、第１エンドエフェクターＥＮＤ１のＴＣＰの位置を示す。また、点線の丸Ｔ２は、第２エンドエフェクターＥＮＤ２のＴＣＰの位置を示す。また、丸Ｔ１と丸Ｔ２を結ぶ直線（すなわち、第１エンドエフェクターＥＮＤ１のＴＣＰの位置と、第２エンドエフェクターＥＮＤ２のＴＣＰの位置とを結ぶ直線）を、一点鎖線Ｌ１によって示す。
【００９３】
また、図７では、第１エンドエフェクターＥＮＤ１の梱包物Ｃ１を保持していた部位（面）を面Ｍ１と称し、第２エンドエフェクターＥＮＤ２の梱包物Ｃ１を保持していた部位（面）を面Ｍ２と称する。また、図７では、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２に最も近い梱包物Ｃ１の面を面Ｍ３と称する。面１〜面３は、すべて略平行である。また、一点鎖線Ｌ１と面Ｍ３は直交している。また、一点鎖線Ｌ１は、配置位置（１，１）を表す点線の丸ＡＲ１を通過している。なお、図７において、第１エンドエフェクターＥＮＤ１のＴＣＰの位置と、第２エンドエフェクターＥＮＤ２のＴＣＰの位置との間の距離は、所定距離となっているとする。
【００９４】
すなわち、図７における両エンドエフェクターの状態は、上記の第１状態条件を満たしているため、第１待機状態である。両エンドエフェクターの状態を第１待機状態にできる位置は、対象箱体内において２ヶ所ある。当該２ヶ所とは、すなわち、梱包物Ｃ１と壁面Ｗ１との間と、梱包物Ｃ１と壁面Ｗ３との間とである。図７に示した例は、その２ヶ所の中から第１待機位置（１，１）として、梱包物Ｃ１と壁面Ｗ１との間の位置が予めユーザーにより決定されていた場合を示している。
【００９５】
図５に戻る。次に、梱包装置制御部４５は、梱包装置２０に第１位置決め動作を行わせることにより、対象箱体の所定部位のロボット座標系におけるｘ座標を検出する（ステップＳ２４０）。ここで、第１位置決め動作は、第１待機位置（ｉ，ｊ）において第１待機状態となっている両エンドエフェクターを、ｘ軸に平行な方向であって、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２とが互いに離れる方向に両エンドエフェクターを移動させることにより位置決めを行う動作である。
【００９６】
ここで、図８及び図９を参照して、動作例１における第１位置決め動作について説明する。図８は、梱包装置制御部４５が第１位置決め動作を開始した直後の対象箱体内の様子の一例を示す図である。また、図９は、梱包装置制御部４５が第１位置決め動作を終了した直後の対象箱体内の様子の一例を示す図である。
【００９７】
梱包装置制御部４５は、動作例１における第１位置決め動作として図８に示したように両エンドエフェクターに最も近い壁面Ｗ１とは反対側の壁面Ｗ３に向けて、第１エンドエフェクターＥＮＤ１を図７に示した第１エンドエフェクターＥＮＤ１の位置から移動させる。この際、梱包装置制御部４５は、力センサー情報取得部４４により第１力センサー２３−１から力センサー情報を取得し、取得した力センサー情報に基づく制御によって第１エンドエフェクターＥＮＤ１を移動させる。
【００９８】
この第１エンドエフェクターＥＮＤ１の移動により、梱包物Ｃ１は、第１エンドエフェクターＥＮＤ１と接触し、第１エンドエフェクターＥＮＤ１とともに移動する。また、第１エンドエフェクターＥＮＤ１とともに動く梱包物Ｃ１の移動により、対象箱体の壁面Ｗ３は、梱包物Ｃ１と接触し、第１エンドエフェクターＥＮＤ１及び梱包物Ｃ１とともに移動する。すなわち、第１エンドエフェクターＥＮＤ１は、梱包物Ｃ１を介して対象箱体の壁面Ｗ３に力を加えることにより、対象箱体を移動させる。対象箱体の壁面Ｗ３は、箱体の第１部位の一例である。また、箱体の第１部位の一例である対象箱体の壁面Ｗ３に力を加える第１エンドエフェクターＥＮＤ１は、可動部の第１部位の一例である。梱包装置制御部４５は、この対象箱体の移動により、第２エンドエフェクターＥＮＤ２が壁面Ｗ１と接触するまで第１エンドエフェクターＥＮＤ１を移動させる。
【００９９】
すなわち、図８に示した様子は、梱包装置制御部４５が第１エンドエフェクターＥＮＤ１を梱包物Ｃ１に接触させ、接触させたまま第１エンドエフェクターＥＮＤ１を、両エンドエフェクターに最も近い壁面Ｗ１とは反対側の壁面Ｗ３に向けて移動させ始めた直後の様子である。また、図９に示した様子は、第２エンドエフェクターＥＮＤ２が壁面Ｗ１と接触することにより、梱包装置制御部４５が第１エンドエフェクターＥＮＤ１の移動を止めた直後の様子である。
【０１００】
梱包装置制御部４５は、第２エンドエフェクターＥＮＤ２に壁面Ｗ１が接触したか否かを、力センサー情報取得部４４により第２力センサー２３−２から取得される力センサー情報に含まれる第２エンドエフェクターＥＮＤ２に加わる力が所定閾値を超えたか否かによって判断する。対象箱体の壁面Ｗ１は、箱体の第２部位の一例である。また、箱体の第２部位の一例である対象箱体の壁面Ｗ１が接触する第２エンドエフェクターＥＮＤ２は、可動部の第２部位の一例である。なお、第１エンドエフェクターＥＮＤ１を移動させている間、梱包装置制御部４５は、第２エンドエフェクターＥＮＤ２の位置を、力センサー情報取得部４４により第２力センサー２３−２から取得される力センサー情報に基づく制御によって固定する。
【０１０１】
このようにして壁面Ｗ１を第２エンドエフェクターＥＮＤ２に接触させた後、位置検出部４２は、第２エンドエフェクターＥＮＤ２のＴＣＰの位置と、梱包関連情報に含まれる第２エンドエフェクターＥＮＤ２の形状や大きさを表す情報と、梱包関連情報に含まれる箱体Ｂの形状や大きさを表す情報とに基づいて、対象箱体の所定部位のロボット座標系におけるｘ座標を検出（算出）する。
【０１０２】
図５に戻る。次に、位置情報読込部４１は、ステップＳ２３０において抽出した列数ｉ及び行数ｊに基づいて、予め記憶部３２に記憶された第２待機位置（ｉ，ｊ）を示す情報を記憶部３２から読み込む（ステップＳ２９０）。
この動作例１におけるステップＳ２９０では、梱包装置制御部４５は、位置情報読込部４１は、第２待機位置（１，１）を示す情報を記憶部３２から読み込む。
【０１０３】
第２待機位置（ｉ，ｊ）を示す情報には、第２−１待機位置（ｉ，ｊ）を示す情報と、第２−２待機位置（ｉ，ｊ）を示す情報とが含まれる。第１−１待機位置（ｉ，ｊ）とは、ステップＳ３２０における第２位置決め動作を行う前の事前準備として第１エンドエフェクターＥＮＤ１を待機させる位置のことであり、ロボット座標系によって表される。また、第２−２待機位置（ｉ，ｊ）とは、ステップＳ３２０における第２位置決め動作を行う前の事前準備として第２エンドエフェクターＥＮＤ２を待機させる位置のことであり、ロボット座標系によって表される。なお、以下では、説明の便宜上、第２−１待機位置（ｉ，ｊ）と第２−２待機位置（ｉ，ｊ）を区別する必要が無い限り、まとめて第２待機位置（ｉ，ｊ）と称して説明する。
【０１０４】
ここで、梱包物Ｃを収納位置（ｉ，ｊ）に収納する際に第２位置決め動作を行う必要が無い場合、第２待機位置（ｉ，ｊ）には、移動不要情報が含まれる。第２待機位置（ｉ，ｊ）に移動不要情報が含まれるとは、第２−１待機位置（ｉ，ｊ）を示す情報と第２−２待機位置（ｉ，ｊ）を示す情報とのいずれか一方又は両方に移動不要情報が含まれることである。
【０１０５】
次に、判定部４７は、第２待機位置（ｉ，ｊ）を示す情報に移動不要情報が含まれているか否かを判定する（ステップＳ３００）。
第２待機位置（ｉ，ｊ）を示す情報に移動不要情報が含まれていないと判定部４７が判定した場合（ステップＳ３００−Ｎｏ）、梱包装置制御部４５は、処理をステップＳ３１０に進める。
一方、第２待機位置（ｉ，ｊ）を示す情報に移動不要情報が含まれていると判定部４７が判定した場合（ステップＳ３００−Ｙｅｓ）、梱包装置制御部４５は、処理をステップＳ２００に進め、変数ｒに代入するための次の値を選択する。
【０１０６】
この動作例１におけるステップＳ３１０では、第２待機位置（１，１）を示す情報は、移動不要情報を含まない。このため、動作例１では、判定部４７がステップＳ３００において第２待機位置（１，１）を示す情報に移動不要情報が含まれていないと判定した場合についてのみ説明する。
【０１０７】
第２待機位置（ｉ，ｊ）に移動不要情報が含まれていないと判定部４７が判定した場合、梱包装置制御部４５は、第２待機位置（ｉ，ｊ）を示す情報に基づいて、第１エンドエフェクターＥＮＤ１を第２−１待機位置（ｉ，ｊ）に移動させ、第２エンドエフェクターＥＮＤ２を第２−２待機位置（ｉ，ｊ）に移動させる。以下では、第１エンドエフェクターＥＮＤ１を第２−１待機位置（ｉ，ｊ）に移動させ、第２エンドエフェクターＥＮＤ２を第２−２待機位置（ｉ，ｊ）に移動させることを、まとめて両エンドエフェクターを第２待機位置（ｉ，ｊ）に移動させると称して説明する。そして、両エンドエフェクターを第２待機位置（ｉ，ｊ）に移動させた後、梱包装置制御部４５は、両エンドエフェクターの状態を第２待機状態にさせて待機させる（ステップＳ３１０）。
【０１０８】
ここで、第２待機位置（ｉ，ｊ）について説明する。第２待機位置（ｉ，ｊ）とは、両エンドエフェクターの状態を第２待機状態にさせることができる位置である。第２待機状態とは、梱包物Ｃと対象箱体の壁面との間で、両エンドエフェクターそれぞれのＴＣＰを結ぶ直線がロボット座標系におけるｙ座標軸と平行になるように並んで待機している状態である。第２待機状態は、例えば、以下に示した７）〜１２）の第２状態条件を満たす状態である。
【０１０９】
条件７）第１エンドエフェクターＥＮＤ１のＴＣＰの位置と、第２エンドエフェクターＥＮＤ２のＴＣＰの位置とを結ぶ直線が、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２に最も近い面である梱包物Ｃの面と直交すること
条件８）条件７における直線が、ロボット座標系におけるｙ座標軸と略平行であること
条件９）条件７における直線は、梱包物Ｃの所定部位の位置上を通過すること
条件１０）第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２それぞれの梱包物Ｃ１を保持していた部位（面）が、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２に最も近い面である梱包物Ｃ１の面と略平行であること
条件１１）第１エンドエフェクターＥＮＤ１のＴＣＰの位置と、第２エンドエフェクターＥＮＤ２のＴＣＰの位置との間の距離が、所定距離であること
条件１２）第１エンドエフェクターＥＮＤ１のＴＣＰの位置と、第２エンドエフェクターＥＮＤ２のＴＣＰの位置とが、梱包物Ｃと対象箱体の壁面との間に存在すること
【０１１０】
なお、第２状態条件は、上記の７）〜１２）の条件のうちの一部を含む構成であってもよく、上記の７）〜１２）の条件に加えて他の条件を含む構成であってもよく、上記の７）〜１２）の条件のうちの一部を含まずに他の条件を含む構成であってもよい。また、上記の７）〜１２）の条件において、第１エンドエフェクターＥＮＤ１の位置と第２エンドエフェクターＥＮＤ２の位置とは、どちらが梱包物Ｃに近い位置であってもよい。この一例では、第１エンドエフェクターＥＮＤ１が梱包物Ｃに近い位置であり、第２エンドエフェクターＥＮＤ２が梱包物Ｃから遠い位置である場合について説明する。
【０１１１】
この動作例１におけるステップＳ３１０では、梱包装置制御部４５は、第２待機位置（１，１）を示す情報に基づいて、両エンドエフェクターを第２待機位置（１，１）に移動させる。そして、梱包装置制御部４５は、両エンドエフェクターの状態を第２待機状態にさせて待機させる。
【０１１２】
ここで、図１０を参照して、動作例１における第２待機状態について説明する。図１０は、梱包装置制御部４５が図９に示した状態から両エンドエフェクターを第２待機位置（１，１）に移動させ、両エンドエフェクターの状態を第２待機状態にさせた直後の様子の一例を示す図である。図１０において、丸Ｔ１と丸Ｔ２を結ぶ直線（すなわち、第１エンドエフェクターＥＮＤ１のＴＣＰの位置と、第２エンドエフェクターＥＮＤ２のＴＣＰの位置とを結ぶ直線）を、一点鎖線Ｌ２によって示す。
【０１１３】
また、図１０では、梱包物Ｃ１の第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２に最も近い面を面Ｍ４と称する。面Ｍ１、面Ｍ２、面Ｍ４は、すべて略平行である。また、一点鎖線Ｌ２と面Ｍ４は直交している。また、一点鎖線Ｌ２は、対象箱体の所定部位を表す点線の丸ＡＲ３を通過している。なお、図１０において、第１エンドエフェクターＥＮＤ１のＴＣＰの位置と、第２エンドエフェクターＥＮＤ２のＴＣＰの位置との間の距離は、所定距離となっているとする。
【０１１４】
すなわち、図１０における両エンドエフェクターの状態は、上記の第２状態条件を満たしているため、第２待機状態である。両エンドエフェクターの状態を第２待機状態にできる位置は、対象箱体内において２ヶ所ある。当該２ヶ所とは、すなわち、梱包物Ｃ１と壁面Ｗ２との間と、梱包物Ｃ１と壁面Ｗ４との間とである。図１０に示した例は、その２ヶ所の中から第２待機位置（１，１）として、梱包物Ｃ１と壁面Ｗ２との間の位置が予めユーザーにより決定されていた場合を示している。
【０１１５】
図５に戻る。次に、梱包装置制御部４５は、梱包装置２０に第２位置決め動作を行わせることにより、対象箱体の所定部位のロボット座標系におけるｙ座標を検出する（ステップＳ３２０）。ここで、第２位置決め動作は、第２待機位置（ｉ，ｊ）において第２待機状態となっている両エンドエフェクターを、ｙ軸に平行な方向であって、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２とが互いに離れる方向に両エンドエフェクターを移動させることにより位置決めを行う動作である。
【０１１６】
ここで、図１１及び図１２を参照して、動作例１における第２位置決め動作について説明する。図１１は、梱包装置制御部４５が第２位置決め動作を開始した直後の対象箱体内の様子の一例を示す図である。また、図１２は、梱包装置制御部４５が第２位置決め動作を終了した直後の対象箱体内の様子の一例を示す図である。
【０１１７】
梱包装置制御部４５は、第２位置決め動作として図１１に示したように両エンドエフェクターに最も近い壁面Ｗ２とは反対側の壁面Ｗ４に向けて、第１エンドエフェクターＥＮＤ１を図１０に示した第１エンドエフェクターＥＮＤ１の位置から移動させる。この際、梱包装置制御部４５は、力センサー情報取得部４４により第１力センサー２３−１から力センサー情報を取得し、取得した力センサー情報に基づく制御によって第１エンドエフェクターＥＮＤ１を移動させる。
【０１１８】
この第１エンドエフェクターＥＮＤ１の移動により、梱包物Ｃ１は、第１エンドエフェクターＥＮＤ１と接触し、第１エンドエフェクターＥＮＤ１とともに移動する。また、第１エンドエフェクターＥＮＤ１とともに動く梱包物Ｃ１の移動により、対象箱体の壁面Ｗ４は、梱包物Ｃ１と接触し、第１エンドエフェクターＥＮＤ１及び梱包物Ｃ１とともに移動する。すなわち、第１エンドエフェクターＥＮＤ１は、梱包物Ｃ１を介して対象箱体の壁面Ｗ４に力を加えることにより、対象箱体を移動させる。対象箱体の壁面Ｗ４は、箱体の第１部位の一例である。また、梱包装置制御部４５は、梱包物Ｃ１を対象箱体の壁面Ｗ４に接触させることにより、対象箱体内の所定の収納位置（１，１）への梱包物Ｃ１の収納を完了する。なお、梱包物Ｃ１は、第２物体の一例である。梱包装置制御部４５は、この対象箱体の移動により、第２エンドエフェクターＥＮＤ２が壁面Ｗ２と接触するまで第１エンドエフェクターＥＮＤ１を移動させる。
【０１１９】
すなわち、図１１に示した様子は、梱包装置制御部４５が第１エンドエフェクターＥＮＤ１を梱包物Ｃ１に接触させ、接触させたまま第１エンドエフェクターＥＮＤ１を、両エンドエフェクターに最も近い壁面Ｗ２とは反対側の壁面Ｗ４に向けて移動させ始めた直後の様子である。また、図１２に示した様子は、第２エンドエフェクターＥＮＤ２が壁面Ｗ２と接触することにより、梱包装置制御部４５が第１エンドエフェクターＥＮＤ１の移動を止めた直後の様子である。
【０１２０】
梱包装置制御部４５は、第２エンドエフェクターＥＮＤ２に壁面Ｗ２が接触したか否かを、力センサー情報取得部４４により第２力センサー２３−２から取得される力センサー情報に含まれる第２エンドエフェクターＥＮＤ２に加わる力が所定閾値を超えたか否かによって判断する。対象箱体の壁面Ｗ２は、箱体の第２部位の一例である。なお、第１エンドエフェクターＥＮＤ１を移動させている間、梱包装置制御部４５は、第２エンドエフェクターＥＮＤ２の位置を、力センサー情報取得部４４により第２力センサー２３−２から取得される力センサー情報に基づく制御によって固定する。
【０１２１】
このようにして壁面Ｗ２を第２エンドエフェクターＥＮＤ２に接触させた後、位置検出部４２は、第２エンドエフェクターＥＮＤ２のＴＣＰの位置と、梱包関連情報に含まれる第２エンドエフェクターＥＮＤ２の形状や大きさを表す情報と、梱包関連情報に含まれる箱体Ｂの形状や大きさを表す情報とに基づいて、対象箱体の所定部位のロボット座標系におけるｙ座標を検出（算出）する。
【０１２２】
ステップＳ２１０からステップＳ３２０までの処理によって、対象箱体の所定部位のロボット座標系におけるｘ座標及びｙ座標が検出されたため、梱包装置制御部４５は、残りのＱ−１個（この一例において、３個）の梱包物Ｃをそれぞれ対象箱体の収納位置（１，１）及び収納位置（Ｉ，Ｊ）を除く収納位置（ｉ，ｊ）のそれぞれに収納させることができそうだが、実際には、ステップＳ３２０の第２位置決め動作によって対象箱体のロボット座標系におけるｘ座標がずれてしまう場合がある。そのため、梱包装置制御部４５は、再びステップＳ２１０からステップＳ３２０までの処理によって、当該梱包物Ｃのそれぞれを対象箱体内の収納位置（１，１）及び収納位置（Ｉ，Ｊ）を除く収納位置（ｉ，ｊ）のそれぞれに収納させる。
【０１２３】
＜動作例２：最初と最後以外に収納する梱包物Ｃを対象箱体に梱包する動作について＞
この動作例２において、図５に示したステップＳ２００において選択される変数ｒに代入する値は、２又は３である。以下では、この一例として、変数ｒが２の場合について説明する。この場合、図５に示したステップＳ２３０において抽出される現在の変数ｒに代入されている値に応じた列数ｉ及び行数ｊは、（ｉ，ｊ）＝（２，１）である。なお、変数ｒに代入されている値が３の場合、現在の変数ｒに代入されている値に応じた列数ｉ及び行数ｊは、（ｉ，ｊ）＝（１，２）となる。また、動作例２における配置位置（ｉ，ｊ）は、図５に示したフローチャートにおけるステップＳ２１０からステップＳ３３０までの繰り返し処理における前回の処理において対象箱体に収納された梱包物Ｃの所定部位の位置から配置位置（ｉ，ｊ）までの相対的な位置として表される。以下では、説明の便宜上、図５に示したフローチャートにおけるステップＳ２１０からステップＳ３３０までの繰り返し処理における前回の処理を、単に前回処理と称して説明する。
【０１２４】
動作例２におけるステップＳ２１０〜ステップＳ２３０と、ステップＳ２５０と、ステップＳ２９０とでは、制御部３６は、（ｉ，ｊ）＝（１，１）を（ｉ，ｊ）＝（２，１）に読み換えた処理であって動作例１において説明した処理と、同様の処理を行うため説明を省略する。
動作例２におけるステップＳ２４０では、梱包装置制御部４５は、位置算出部４３が算出したロボット座標系における配置位置（２，１）を示す情報に基づいて、梱包装置２０に梱包物Ｃを配置位置（２，１）に配置させる。
【０１２５】
ここで、図１３を参照して、動作例２におけるステップＳ２４０の処理について説明する。なお、以下では、動作例２において梱包装置２０が対象箱体に収納する梱包物Ｃを、梱包物Ｃ２と称して説明する。図１３は、梱包装置制御部４５が梱包装置２０に梱包物Ｃ２を配置位置（２，１）に配置させた直後の様子の一例を示す図である。
【０１２６】
動作例２では、直前までに行われた最も新しい位置決め動作によって対象箱体の所定部位のロボット座標系におけるｘ座標又はｙ座標が正確に決まっている。この一例において、直前までに行われた最も新しい位置決め動作は、動作例１におけるステップＳ３２０における第２位置決め動作である。そのため、この段階では、対象箱体の所定部位のロボット座標系におけるｙ座標が正確に決まっている。なお、変数ｒに代入された値が３の場合、直前までに行われた最も新しい位置決め動作は、変数ｒに代入された値が２の場合において対象箱体の所定部位のロボット座標系におけるｘ座標を正確に決める第２位置決め動作となる。
【０１２７】
図１３に示した例は、対象箱体の所定部位のロボット座標系におけるｙ座標が正確に決まっているため、梱包装置制御部４５は、梱包物Ｃ２を梱包物Ｃ１と対象箱体の壁面Ｗ２との間に精度よく配置することができる。なお、梱包物Ｃ２は、第１物体の一例である。また、図１３において第１エンドエフェクターＥＮＤ１から伸びている矢印は、第１エンドエフェクターＥＮＤ１が力センサー情報に基づく制御によって梱包物Ｃ２に加えている力の方向を表している。また、図１３において第２エンドエフェクターＥＮＤ２から伸びている矢印は、第２エンドエフェクターＥＮＤ２が力センサー情報に基づく制御によって梱包物Ｃ２に加えている力の方向を表している。
【０１２８】
動作例２におけるステップＳ２５０の処理の後、判定部４７は、動作例２におけるステップＳ２６０において第１待機位置（ｉ，ｊ）を示す情報に移動不要情報が含まれているか否かを判定する。
第１待機位置（ｉ，ｊ）を示す情報に移動不要情報が含まれていないと判定部４７が判定した場合、梱包装置制御部４５は、処理をステップＳ２７０に進める。
一方、第１待機位置（ｉ，ｊ）を示す情報に移動不要情報が含まれていると判定部４７が判定した場合、梱包装置制御部４５は、処理をステップＳ２９０に進める。
【０１２９】
変数ｒ＝２〜Ｑ−１において前回処理が終了する直前に、対象箱体の所定部位のロボット座標系におけるｘ座標を検出していた場合、第１待機位置（ｉ，ｊ）は、移動不要情報を含む。一方、変数ｒ＝２〜Ｑ−１において前回処理が終了する直前に、対象箱体の所定部位のロボット座標系におけるｙ座標を検出していた場合、第１待機位置（ｉ，ｊ）は、移動不要情報を含まない。
この動作例２では、変数ｒ＝２であり、且つ前回処理が終了する直前に、対象箱体の所定部位のロボット座標系におけるｙ座標が検出されているため、判定部４７が動作例２におけるステップＳ２６０において第１待機位置（２，１）を示す情報に移動不要情報が含まれていないと判定した場合についてのみ説明する。
【０１３０】
判定部４７が動作例２におけるステップＳ２６０において第１待機位置（２，１）を示す情報に移動不要情報が含まれていないと判定した場合、梱包装置制御部４５は、第１待機位置（ｉ，ｊ）を示す情報に基づいて、両エンドエフェクターを第１待機位置（ｉ，ｊ）に移動させる。そして、梱包装置制御部４５は、両エンドエフェクターの状態を第１待機状態にさせて待機させる。
【０１３１】
ここで、図１４を参照して、動作例２における第１待機状態について説明する。図１４は、梱包装置制御部４５が図１３に示した状態から両エンドエフェクターを第１待機位置（２，１）に移動させ、両エンドエフェクターの状態を第１待機状態にさせた直後の様子の一例を示す図である。丸Ｔ１と丸Ｔ２を結ぶ直線（すなわち、第１エンドエフェクターＥＮＤ１のＴＣＰの位置と、第２エンドエフェクターＥＮＤ２のＴＣＰの位置とを結ぶ直線）を、一点鎖線Ｌ３によって示す。
【０１３２】
また、図１４では、梱包物Ｃ２の第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２に最も近い面を面Ｍ５と称する。面Ｍ１、面Ｍ２、面Ｍ５は、すべて略平行である。また、一点鎖線Ｌ３と面Ｍ５は直交している。また、一点鎖線Ｌ３は、配置位置（２，１）を表す点線の丸ＡＲ４を通過している。なお、図１４において、第１エンドエフェクターＥＮＤ１のＴＣＰの位置と、第２エンドエフェクターＥＮＤ２のＴＣＰの位置との間の距離は、所定距離となっているとする。
【０１３３】
すなわち、図１４における両エンドエフェクターの状態は、第２状態条件を満たしているため、第２待機状態である。両エンドエフェクターの状態を第２待機状態にできる位置は、対象箱体内において２ヶ所ある。当該２ヶ所とは、すなわち、梱包物Ｃ２と壁面Ｗ１との間と、梱包物Ｃ２と壁面Ｗ３との間とである。図１４に示した例は、その２ヶ所の中から第２待機位置（２，１）として、梱包物Ｃ２と壁面Ｗ１との間の位置が予めユーザーにより決定されていた場合を示している。
【０１３４】
動作例２におけるステップＳ２８０では、梱包装置制御部４５は、梱包装置２０に第１位置決め動作を行わせることにより、対象箱体の所定部位のロボット座標系におけるｘ座標を検出する。
【０１３５】
ここで、図１５及び図１６を参照して、動作例２における第１位置決め動作について説明する。図１５は、梱包装置制御部４５が動作例２における第１位置決め動作を開始した直後の対象箱体内の様子の一例を示す図である。また、図１６は、梱包装置制御部４５が動作例２における第１位置決め動作を終了した直後の対象箱体内の様子の一例を示す図である。
【０１３６】
梱包装置制御部４５は、動作例２における第１位置決め動作として図１５に示したように両エンドエフェクターに最も近い壁面Ｗ１とは反対側の壁面Ｗ３に向けて、第１エンドエフェクターＥＮＤ１を図１４に示した第１エンドエフェクターＥＮＤ１の位置から移動させる。この際、梱包装置制御部４５は、力センサー情報取得部４４により第１力センサー２３−１から力センサー情報を取得し、取得した力センサー情報に基づく制御によって第１エンドエフェクターＥＮＤ１を移動させる。
【０１３７】
この第１エンドエフェクターＥＮＤ１の移動により、梱包物Ｃ２は、第１エンドエフェクターＥＮＤ１と接触し、第１エンドエフェクターＥＮＤ１とともに移動する。また、第１エンドエフェクターＥＮＤ１とともに動く梱包物Ｃ２の移動により、対象箱体の壁面Ｗ３は、梱包物Ｃ２と接触し、第１エンドエフェクターＥＮＤ１及び梱包物Ｃ２とともに移動する。すなわち、第１エンドエフェクターＥＮＤ１は、梱包物Ｃ２を介して対象箱体の壁面Ｗ３に力を加えることにより、対象箱体を移動させる。また、梱包装置制御部４５は、梱包物Ｃ２を対象箱体の壁面Ｗ３に接触させることにより、対象箱体内の収納位置（２，１）への梱包物Ｃ２の収納を完了する。梱包装置制御部４５は、この対象箱体の移動により、第２エンドエフェクターＥＮＤ２が壁面Ｗ１と接触するまで第１エンドエフェクターＥＮＤ１を移動させる。
【０１３８】
すなわち、図１５に示した様子は、梱包装置制御部４５が第１エンドエフェクターＥＮＤ１を梱包物Ｃ２に接触させ、接触させたまま第１エンドエフェクターＥＮＤ１を、両エンドエフェクターに最も近い壁面Ｗ１とは反対側の壁面Ｗ３に向けて移動させ始めた直後の様子である。また、図１６に示した様子は、第２エンドエフェクターＥＮＤ２が壁面Ｗ１と接触することにより、梱包装置制御部４５が第１エンドエフェクターＥＮＤ１の移動を止めた直後の様子である。
【０１３９】
梱包装置制御部４５は、第２エンドエフェクターＥＮＤ２に壁面Ｗ１が接触したか否かを、力センサー情報取得部４４により第２力センサー２３−２から取得される力センサー情報に含まれる第２エンドエフェクターＥＮＤ２に加わる力が所定閾値を超えたか否かによって判断する。なお、第１エンドエフェクターＥＮＤ１を移動させている間、梱包装置制御部４５は、第２エンドエフェクターＥＮＤ２の位置を、力センサー情報取得部４４により第２力センサー２３−２から取得される力センサー情報に基づく制御によって固定する。
【０１４０】
このようにして壁面Ｗ１を第２エンドエフェクターＥＮＤ２に接触させた後、位置検出部４２は、第２エンドエフェクターＥＮＤ２のＴＣＰの位置と、梱包関連情報に含まれる第２エンドエフェクターＥＮＤ２の形状や大きさを表す情報と、梱包関連情報に含まれる箱体Ｂの形状や大きさを表す情報とに基づいて、対象箱体の所定部位のロボット座標系におけるｘ座標を検出（算出）する。
【０１４１】
図５に戻る。動作例２におけるステップＳ２９０の処理の後、判定部４７は、動作例２におけるステップＳ３００において第２待機位置（ｉ，ｊ）を示す情報に移動不要情報が含まれているか否かを判定する。
第２待機位置（ｉ，ｊ）を示す情報に移動不要情報が含まれていないと判定部４７が判定した場合（ステップＳ３００−Ｎｏ）、梱包装置制御部４５は、処理をステップＳ３１０に進める。
一方、第２待機位置（ｉ，ｊ）を示す情報に移動不要情報が含まれていると判定部４７が判定した場合、梱包装置制御部４５は、処理をステップＳ２００に進め、変数ｒに代入するための次の値を選択する。
【０１４２】
変数ｒ＝２〜Ｑ−１において前回処理が終了する直前に、対象箱体の所定部位のロボット座標系におけるｘ座標を検出していた場合、第１待機位置（ｉ，ｊ）は、移動不要情報を含まない。一方、変数ｒ＝２〜Ｑ−１において前回処理が終了する直前に、対象箱体の所定部位のロボット座標系におけるｙ座標を検出していた場合、第１待機位置（ｉ，ｊ）は、移動不要情報を含む。
この動作例２では、変数ｒ＝２であり、且つ前回処理が終了する直前に、対象箱体の所定部位のロボット座標系におけるｙ座標が検出されているため、判定部４７が動作例２におけるステップＳ３００において第２待機位置（２，１）を示す情報に移動不要情報が含まれていると判定した場合についてのみ説明する。
【０１４３】
判定部４７が動作例２におけるステップＳ３００において第２待機位置（２，１）を示す情報に移動不要情報が含まれていると判定した場合、制御部３６は、処理をステップＳ２００に進め、変数ｒに代入するための次の値を選択する。
【０１４４】
動作例２におけるステップＳ２１０からステップＳ３２０までの処理によって、対象箱体の所定部位のロボット座標系におけるｘ座標が検出されたため、梱包装置制御部４５は、残りのＱ−２個（この一例において、２個）の梱包物Ｃをそれぞれ対象箱体の収納位置（１，１）及び収納位置（Ｉ，Ｊ）を除く収納位置（ｉ，ｊ）のそれぞれに収納させることができそうだが、実際には、動作例２におけるステップＳ２８０の第１位置決め動作によって対象箱体のロボット座標系におけるｙ座標がずれてしまう場合がある。そのため、梱包装置制御部４５は、再びステップＳ２１０からステップＳ３２０までの処理によって、次の梱包物Ｃを対象箱体内の収納位置（１，１）及び収納位置（Ｉ，Ｊ）を除く収納位置（ｉ，ｊ）のそれぞれに収納させる。
【０１４５】
動作例２では、変数ｒ＝２であったため、ステップＳ２１０からステップＳ３２０までの処理によって、対象箱体の所定部位のロボット座標系におけるｘ座標が検出された。しかし、例えば、変数ｒ＝３の場合、制御部３６は、ステップＳ２１０からステップＳ３２０までの処理によって、対象箱体の所定部位のロボット座標系におけるｙ座標を検出する。この場合、ステップＳ２８０における第１位置決め動作は行われず、ステップＳ３２０における第２位置決め動作が行われる。このように、第１位置決め動作と第２位置決め動作とのうちいずれが行われるかは、第１待機位置（ｉ，ｊ）と第２待機位置（ｉ，ｊ）とに移動不要情報が含まれているか否かによって決まる。なお、（ｉ，ｊ）毎の第１待機位置（ｉ，ｊ）のいずれに移動不要情報を含めるかは、箱体Ｂの形状や大きさと、梱包物の形状や大きさによって決められる。また、（ｉ，ｊ）毎の第２待機位置（ｉ，ｊ）のいずれに移動不要情報を含めるかは、箱体Ｂの形状や大きさと、梱包物の形状や大きさによって決められる。
【０１４６】
＜動作例３：最後に収納する梱包物Ｃを対象箱体に梱包する動作について＞
この動作例３において、図５に示したステップＳ２００において選択される変数ｒに代入する値は、４である。この場合、図５に示したステップＳ２３０において抽出される現在の変数ｒに代入されている値に応じた列数ｉ及び行数ｊは、（ｉ，ｊ）＝（Ｉ，Ｊ）＝（２，２）である。また、動作例３における配置位置（Ｉ，Ｊ）は、前回処理において対象箱体に収納された梱包物Ｃの所定部位の位置から配置位置（Ｉ，Ｊ）までの相対的な位置として表される。また、動作例３におけるステップＳ２１０では、制御部３６は、（ｉ，ｊ）＝（１，１）を（ｉ，ｊ）＝（２，２）に読み換えた処理であって動作例１において説明した処理と、同様の処理を行うため説明を省略する。
【０１４７】
動作例３におけるステップＳ２２０において判定部４７が変数ｒに代入されている値がＱであると判定した場合、位置情報読込部４１は、予め記憶部３２に記憶された収納位置（Ｉ，Ｊ）を示す情報を記憶部３２から読み込む。そして、位置算出部４３は、位置情報読込部４１が読み込んだ配置位置（Ｉ，Ｊ）を示す情報と、前回処理において収納された梱包物Ｃの収納位置を示す情報とに基づいて、ロボット座標系における収納位置（Ｉ，Ｊ）を算出する（ステップＳ３２５）。
【０１４８】
次に、梱包装置制御部４５は、位置算出部４３が算出したロボット座標系における配置位置（Ｉ，Ｊ）に基づいて、梱包装置２０に梱包物Ｃを収納位置（Ｉ，Ｊ）に収納させる。また、梱包装置制御部４５は、チャンファーレスインサーションによって梱包装置２０に梱包物Ｃを収納位置（Ｉ，Ｊ）に収納させる（ステップＳ３３０）。以下では、動作例３において梱包装置２０が対象箱体に収納する梱包物Ｃを、梱包物Ｃ４と称して説明する。また、動作例３に対する前回処理において対象箱体に収納された梱包物Ｃを、梱包物Ｃ３と称して説明する。
【０１４９】
図１７は、梱包装置２０がチャンファーレスインサーションによって梱包物Ｃ４を（２，２）収納位置した直後の様子の一例を示す図である。このように、ステップＳ２００からステップＳ３３０までの繰り返し処理によって、梱包システム１の梱包装置２０は、固定されていない対象箱体に対しても精度よく梱包物を収納することができる。
【０１５０】
＜実施形態の変形例１＞
以下、本発明の実施形態の変形例１について、図面を参照して説明する。
本実施形態の変形例１に係る梱包システム１は、対象箱体の位置決めを、梱包物Ｃを対象箱体に入れない状態で行う。図１８は、梱包物Ｃを対象箱体に入れない状態で対象箱体の位置決めを行う直前の様子の一例を示す図である。図１９は、梱包物Ｃを対象箱体に入れない状態で対象箱体の位置決めを行った直後の様子の一例を示す図である。
【０１５１】
例えば、梱包装置制御部４５は、図１８に示したように、第２供給位置を中心とした所定半径の円内に両エンドエフェクターが収まるように、両エンドエフェクターを対象箱体の内側（対象箱体の壁面Ｗ１〜Ｗ４に囲まれた領域）に待機させる。そして、梱包装置制御部４５は、図１８に示したｘ座標軸と平行な矢印に沿って第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２を移動させる。より具体的には、梱包装置制御部４５は、対象箱体の壁面３に向けて第１エンドエフェクターＥＮＤ１を移動させ、対象箱体の壁面Ｗ１に向けて第２エンドエフェクターＥＮＤ２を移動させる。梱包装置制御部４５は、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２の両方が対象箱体の壁面に接触するまで、両エンドエフェクターを移動させ続ける。
【０１５２】
両エンドエフェクターが対象箱体の壁面に接触したか否かは、力センサー情報取得部４４により力センサー２３から取得される力センサー情報に含まれる両エンドエフェクターのそれぞれに加わる力が両方とも所定閾値を超えたか否かによって判断する。図１９に示したように、両エンドエフェクターが対象箱体の壁面に接触すると、梱包装置制御部４５は、両エンドエフェクターの移動を停止する。図１９に示した状態において、位置算出部４３は、第１エンドエフェクターＥＮＤ１のＴＣＰの位置と第２エンドエフェクターＥＮＤのＴＣＰの位置とのいずれか一方又は両方と、梱包関連情報に含まれる対象箱体の形状や大きさを表す情報とに基づいて、対象箱体の所定部位のロボット座標系におけるｘ座標を検出する。
【０１５３】
また、梱包装置制御部４５と位置算出部４３は、このｘ座標の検出と同様の処理を、ｙ座標軸に平行な方向に対しても同様に行うことにより、対象箱体の所定部位のロボット座標系におけるｙ座標を検出する。
【０１５４】
これらのｘ座標、ｙ座標（すなわち、対象箱体の所定部位のロボット座標系における位置）に基づいて、位置算出部４３は、収納位置（ｉ，ｊ）を精度よく算出することができる。その結果、制御装置３０の制御部３６は、固定されていない箱体に対しても精度よく梱包物を収納することができる。なお、当該収納位置（ｉ，ｊ）には、収納位置（１，１）〜収納位置（Ｉ，Ｊ）のそれぞれが含まれる。
【０１５５】
また、本実施形態の変形例１に係る梱包システム１は、図１８に示した状態において、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方のみを移動させる構成であってもよい。すなわち、梱包システム１は、図１８に示した状態において、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方を、力センサー情報取得部４４から取得された力センサー情報に基づく制御によって固定する構成であってもよい。
【０１５６】
＜実施形態の変形例２＞
以下、本発明の実施形態の変形例２について、図面を参照して説明する。
本実施形態の変形例２に係る梱包システム１は、対象箱体の位置決めを、対象箱体の外側に第１エンドエフェクターＥＮＤ１及び第２エンドエフェクターＥＮＤ２を待機させた状態で行う。図２０は、対象箱体の外側に第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２の両方を待機させた様子の一例を示す図である。図２１は、対象箱体の外側に第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２の両方を待機させた状態から対象箱体の位置決めを行った直後の様子の一例を示す図である。なお、図２０及び図２１に示した例では、対象箱体の内側に梱包物Ｃが配置されていない場合を示しているが、これに代えて、対象箱体の内側に梱包物Ｃが配置されていてもよい。
【０１５７】
梱包装置制御部４５は、図２０に示した状態から図２１に示した状態のように第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２の両方に対象箱体の壁面が接触するまで、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２とのいずれか一方又は両方を、図２０に示した矢印に沿って移動させる。そして、位置検出部４２は、図２１に示した状態において、第１エンドエフェクターＥＮＤ１のＴＣＰの位置と第２エンドエフェクターＥＮＤ２のＴＣＰの位置とのうちのいずれか一方又は両方と、梱包関連情報に含まれる対象箱体の形状や大きさを表す情報とに基づいて、対象箱体の所定部位のロボット座標系におけるｘ位置（算出）する。また、梱包装置制御部４５と位置算出部４３は、このｘ座標の検出と同様の処理を、ｙ座標軸と平行な方向に対しても同様に行うことにより、対象箱体の所定部位のロボット座標系におけるｙ座標を検出する。
【０１５８】
これらのｘ座標、ｙ座標（すなわち、対象箱体の所定部位のロボット座標系における位置）に基づいて、位置算出部４３は、収納位置（ｉ，ｊ）を精度よく算出することができる。その結果、制御装置３０の制御部３６は、固定されていない箱体に対しても精度よく梱包物を収納することができる。なお、当該収納位置（ｉ，ｊ）には、収納位置（１，１）〜収納位置（Ｉ，Ｊ）のそれぞれが含まれる。
【０１５９】
＜実施形態の変形例３＞
以下、本発明の実施形態の変形例３について、図面を参照して説明する。
本実施形態の変形例３に係る梱包システム１は、対象箱体の位置決めを、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２とのうちいずれか一方を対象箱体の外側に待機させ、他方を対象箱体の内側に待機させた状態で行う。
【０１６０】
図２２は、第１エンドエフェクターＥＮＤ１を対象箱体の外側に待機させ、第２エンドエフェクターＥＮＤ２を対象箱体の内側に待機させた様子の一例を示す図である。図２３は、第１エンドエフェクターＥＮＤ１を対象箱体の外側に待機させ、第２エンドエフェクターＥＮＤ２を対象箱体の内側に待機させた状態から対象箱体の位置決めを行った直後の様子の一例を示す図である。なお、図２２及び図２３に示した例では、対象箱体の壁面Ｗ３と第２エンドエフェクターＥＮＤ２との間に梱包物Ｃが配置されていない場合を示しているが、これに代えて、対象箱体の壁面Ｗ３と第２エンドエフェクターＥＮＤ２との間に梱包物Ｃが配置されていてもよい。
【０１６１】
梱包装置制御部４５は、図２２に示した状態から、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２とのうちのいずれか一方又は両方を図２６に示した矢印に沿って移動させる。そして、位置検出部４２は、図２３に示した状態において、第１エンドエフェクターＥＮＤ１のＴＣＰの位置と第２エンドエフェクターＥＮＤ２のＴＣＰの位置とのうちのいずれか一方又は両方と、梱包関連情報に含まれる対象箱体の形状や大きさを表す情報とに基づいて、対象箱体の所定部位のロボット座標系におけるｘ位置（算出）する。また、梱包装置制御部４５と位置算出部４３は、このｘ座標の検出と同様の処理を、ｙ座標軸と平行な方向に対しても同様に行うことにより、対象箱体の所定部位のロボット座標系におけるｙ座標を検出する。
【０１６２】
これらのｘ座標、ｙ座標（すなわち、対象箱体の所定部位のロボット座標系における位置）に基づいて、位置算出部４３は、収納位置（ｉ，ｊ）を精度よく算出することができる。その結果、制御装置３０の制御部３６は、固定されていない箱体に対しても精度よく梱包物を収納することができる。なお、当該収納位置（ｉ，ｊ）には、収納位置（１，１）〜収納位置（Ｉ，Ｊ）のそれぞれが含まれる。
また、上記の実施形態及び実施形態の変形例の各処理において、第１アームと第２アームの役割は、逆であってもよい。
【０１６３】
以上説明したように、本実施形態における梱包装置２０は、梱包材から組み立てられた箱体Ｎに梱包物Ｃを力センサー情報取得部４４から取得された力センサー情報に基づいて収納する。これにより、梱包装置２０は、力センサー情報に基づく制御によって梱包物Ｃを箱体Ｂへ収納することができ、その結果、載置面に固定されていない箱体Ｂに対しても精度よく梱包物Ｃを収納することができる。
【０１６４】
また、梱包装置２０は、箱体Ｂの第１部位（例えば、壁面Ｗ３）に可動部の第１部位（この一例において、第１エンドエフェクターＥＮＤ１）により力を加えて箱体Ｂを動かし、箱体Ｂの第２部位（例えば、壁面Ｗ１）に可動部の第２部位（この一例において、第２エンドエフェクターＥＮＤ２）を接触させ、力センサー情報取得部４４から取得された力センサー情報に基づいて箱体Ｂの位置決めを行い、箱体Ｂに梱包物Ｃを収納する。これにより、梱包装置２０は、箱体Ｂの位置決めに基づいて、精度よく箱体Ｂへ梱包物Ｃを収納することができる。
【０１６５】
また、梱包装置２０は、箱体Ｂの位置決めに基づいて、可動部の第１部位と可動部の第２部位のうちいずれか一方又は両方により梱包物Ｃのうちの第１梱包物（例えば、梱包物Ｃ２）を箱体に配置する。これにより、梱包装置２０は、例えば、箱体Ｂの外側等の意図していない場所に第１梱包物を配置してしまうことを抑制することができる。
【０１６６】
また、梱包装置２０は、可動部の第１部位は、梱包物Ｃのうちの第２梱包物（例えば、梱包物Ｃ１）を介して箱体Ｂの第１部位に力を加える。これにより、梱包装置２０は、箱体Ｂ内において第２梱包物を移動させつつ箱体Ｂの第１部位に対して力を加えることができる。
【０１６７】
また、梱包装置２０は、箱体の位置決めを行うことにより第２梱包物を所定の収納位置（例えば、収納位置（１，１））に収納する。これにより、梱包装置２０は、箱体Ｂの位置決めと第２梱包物の収納とを別の動作によって行う場合に生じる箱体Ｂの位置のずれを抑制することができる。
【０１６８】
また、梱包装置２０は、第２梱包物を箱体Ｂの所定の配置位置（例えば、配置位置（１，１））に配置し、第２梱包物を可動部の第１部位により移動させて箱体Ｂの第１部位に接触させることにより、箱体Ｂの第１部位に力を加える。これにより、梱包装置２０は、箱体Ｂの位置がずれていても、第２物体を箱体Ｂの内部に配置してから箱体Ｂの位置決めを行うことができる。
【０１６９】
また、梱包装置２０は、第２梱包物を箱体Ｂの底面の略中心に配置し、第２梱包物を第１エンドエフェクターＥＮＤ１により移動させて第１部位に接触させることにより、第１部位に力を加える。これにより、梱包装置２０は、より確実に、箱体Ｂの位置がずれていても、第２梱包物を箱体Ｂの内側に配置してから箱体Ｂの位置決めを行うことができる。
【０１７０】
また、梱包装置２０は、折り畳まれた梱包材から組み立てられた箱体Ｂに梱包物Ｃを力センサー情報取得部４４から取得された力センサー情報に基づいて収納する。これにより、梱包装置２０は、力センサー情報に基づく制御によって梱包物Ｃを、折り畳まれた梱包材から組み立てられた箱体Ｂへ収納することができ、その結果、載置面に固定されていない箱体Ｂに対しても精度よく梱包物Ｃを収納することができる。
【０１７１】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１７２】
また、以上に説明した装置（例えば、梱包システム１の制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１７３】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１７４】
１  梱包システム、１１  第１撮像部、１２  第２撮像部、２０  梱包装置、２１  第３撮像部、２２  第４撮像部、２３−１  第１力センサー、２３−２  第２力センサー、３０  制御装置、３１  ＣＰＵ、３２  記憶部、３３  入力受付部、３４  通信部、３５  表示部、３６  制御部、４１  位置情報読込部、４２  位置検出部、４３  位置算出部、４４  力センサー情報取得部、４５  梱包装置制御部、４６  計数部、４７  判定部、４８  ベルトコンベアー制御部
【図１】
2016179821.tif 000003
【図２】
2016179821.tif 000004
【図３】
2016179821.tif 000005
【図４】
2016179821.tif 000006
【図５】
2016179821.tif 000007
【図６】
2016179821.tif 000008
【図７】
2016179821.tif 000009
【図８】
2016179821.tif 000010
【図９】
2016179821.tif 000011
【図１０】
2016179821.tif 000012
【図１１】
2016179821.tif 000013
【図１２】
2016179821.tif 000014
【図１３】
2016179821.tif 000015
【図１４】
2016179821.tif 000016
【図１５】
2016179821.tif 000017
【図１６】
2016179821.tif 000018
【図１７】
2016179821.tif 000019
【図１８】
2016179821.tif 000020
【図１９】
2016179821.tif 000021
【図２０】
2016179821.tif 000022
【図２１】
2016179821.tif 000023
【図２２】
2016179821.tif 000024
【図２３】
2016179821.tif 000025