(57)【特許請求の範囲】
【請求項１】
対象物の３次元情報を取得する３次元情報取得部と、
ピッキングハンドを用いて前記対象物を把持する方法を定義する把持情報を取得する把持情報取得部と、
（ｉ）前記３次元情報取得部が取得した前記対象物の３次元情報と、（ｉｉ）前記把持情報取得部が取得した把持情報と、（ｉｉｉ）前記対象物を識別するための識別情報とを対応付けて、記憶装置に格納する情報管理部と、
ピッキングハンドを用いて第１位置でピッキングしたワークを、前記第１位置とは異なる第２位置に配置するピッキング装置を制御するためのピッキング制御部と、
前記ピッキング装置の作業対象となる少なくとも１つのワークの識別情報を含むオーダー情報を取得するオーダー情報取得部と、
１以上のワークの識別情報と、前記１以上のワークの把持情報とを対応付けて格納する把持情報格納部と、
（ｉ）前記記憶装置にアクセスして、前記オーダー情報取得部が取得したオーダー情報に含まれる前記少なくとも１つのワークの識別情報のうち、前記把持情報格納部に格納されていない識別情報に合致する前記対象物の識別情報と対応付けられた前記把持情報を抽出し、（ｉｉ）前記把持情報格納部に格納されていない識別情報と、前記抽出された把持情報とを対応付けて、前記把持情報格納部に格納する把持情報抽出部と、
前記把持情報格納部に格納された把持情報を参照して、前記第１位置において前記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第１候補情報を生成する第１候補情報生成部と、
前記把持情報格納部に格納された把持情報を参照して、前記第２位置において前記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第２候補情報を生成する第２候補情報生成部と、
前記第１候補情報により示される１以上の姿勢、及び、前記第２候補情報により示される１以上の姿勢に関する１以上の組み合わせの中から、一の組み合わせを抽出する抽出部と、
前記ピッキングハンドが、（ｉ）前記第１位置において、前記一の組み合わせに含まれる前記第１位置に関する姿勢で前記ワークをピッキングし、（ｉｉ）前記第２位置において、前記一の組み合わせに含まれる前記第２位置に関する姿勢で前記ワークを配置するための軌道を算出する軌道算出部と、
前記軌道算出部が算出した軌道上における干渉の有無を判定する判定部と、
を備え、
前記把持情報格納部は、前記記憶装置とは異なる媒体により実現され、
前記把持情報取得部は、（ｉ）前記３次元情報取得部が取得した前記３次元情報により示される前記対象物の形状と、（ｉｉ）物品の形状及び当該物品を把持する方法を対応づけた情報とに基づいて、前記ピッキングハンドを用いて前記対象物を把持する方法を決定することで、前記把持情報を取得し、
前記第１候補情報生成部は、
前記把持情報格納部に格納された把持情報を参照して、前記ピッキングハンドを用いて前記ワークを把持する方法を定義する把持情報を取得し、
前記ピッキングハンドが、前記把持情報により示される把持方法に従って、前記第１位置で前記ワークを把持した場合における、前記ピッキングハンドの干渉の有無を判定し、
前記判定において、干渉しないと判定された前記ピッキングハンドの位置及び姿勢を示す情報を、前記第１候補情報として生成し、
前記第２候補情報生成部は、
前記把持情報格納部に格納された把持情報を参照して、前記ピッキングハンドを用いて前記ワークを把持する方法を定義する把持情報を取得し、
前記ピッキングハンドが、前記把持情報により示される把持方法に従って、前記第２位置で前記ワークを把持した場合における、前記ピッキングハンドの干渉の有無を判定し、
前記判定において、干渉しないと判定された前記ピッキングハンドの位置及び姿勢を示す情報を、前記第２候補情報として生成する、
情報処理装置。
【請求項２】
前記対象物の３次元情報は、原点情報及び座標軸情報の少なくとも一方を含む、
請求項１に記載の情報処理装置。
【請求項３】
前記対象物の２次元情報を取得する２次元情報取得部をさらに備え、
前記情報管理部は、（ｉ）前記３次元情報取得部が取得した前記対象物の３次元情報と、（ｉｉ）前記把持情報取得部が取得した把持情報と、（ｉｉｉ）前記２次元情報取得部が取得した前記対象物の２次元情報とを対応付けて、前記記憶装置に格納する、
請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記２次元情報取得部が取得した前記対象物の２次元情報に基づいて、前記対象物を認識するための特徴情報を取得する特徴情報取得部をさらに備え、
前記情報管理部は、（ｉ）前記３次元情報取得部が取得した前記対象物の３次元情報と、（ｉｉ）前記把持情報取得部が取得した把持情報と、（ｉｉｉ）前記２次元情報取得部が取得した前記対象物の２次元情報と、（ｉｖ）前記特徴情報取得部が取得した前記対象物の特徴情報とを対応付けて、前記記憶装置に格納する、
請求項３に記載の情報処理装置。
【請求項５】
前記対象物の２次元情報を取得する２次元情報取得部と、
前記２次元情報取得部が取得した前記対象物の２次元情報に基づいて、前記対象物を認識するための特徴情報を取得する特徴情報取得部と、
をさらに備え、
前記情報管理部は、（ｉ）前記３次元情報取得部が取得した前記対象物の３次元情報と、（ｉｉ）前記把持情報取得部が取得した把持情報と、（ｉｉｉ）前記特徴情報取得部が取得した前記対象物の特徴情報とを対応付けて、前記記憶装置に格納する、
請求項１又は請求項２に記載の情報処理装置。
【請求項６】
前記２次元情報は、前記対象物を３以上の方向から撮像した３以上の画像の画像データである、
請求項３から請求項５までの何れか一項に記載の情報処理装置。
【請求項７】
前記記憶装置をさらに備えた、
請求項１から請求項６までの何れか一項に記載の情報処理装置。
【請求項８】
前記対象物の質量を示す質量情報を取得する質量情報取得部と、
前記対象物の仕様を示す仕様情報を取得する仕様情報取得部と、
をさらに備え、
前記質量情報は、前記対象物の重心の位置を示す重心情報を含み、
前記仕様情報は、前記対象物の輸送に関する事項を示す情報を含み、
前記情報管理部は、（ｉ）前記３次元情報取得部が取得した前記対象物の３次元情報と、（ｉｉ）前記把持情報取得部が取得した把持情報と、（ｉｉｉ）前記質量情報取得部が取得した前記質量情報と、（ｉｖ）前記仕様情報取得部が取得した前記仕様情報とを対応付けて、前記記憶装置に格納する、
請求項１から請求項７までの何れか一項に記載の情報処理装置。
【請求項９】
請求項１から請求項８までの何れか一項に記載の情報処理装置と、
前記ピッキング装置と、
を備える、ピッキングシステム。
【請求項１０】
請求項１から請求項８までの何れか一項に記載の情報処理装置と、
前記ピッキング装置と、
前記ワークを搬送する搬送装置と、
を備える、物流システム。
【請求項１１】
コンピュータを、請求項１から請求項８までの何れか一項に記載の情報処理装置として機能させるためのプログラム。
【請求項１２】
コンピュータが、対象物の３次元情報を取得する３次元情報取得段階と、
コンピュータが、ピッキングハンドを用いて前記対象物を把持する方法を定義する把持情報を取得する把持情報取得段階と、
コンピュータが、（ｉ）前記３次元情報取得段階において取得された前記対象物の３次元情報と、（ｉｉ）前記把持情報取得段階において取得された把持情報と、（ｉｉｉ）前記対象物を識別するための識別情報を対応付けて、記憶装置に格納する情報管理段階と、
ピッキングハンドを用いて第１位置でピッキングしたワークを、前記第１位置とは異なる第２位置に配置するピッキング装置を制御するためのピッキング制御段階と、
前記ピッキング装置の作業対象となる少なくとも１つのワークの識別情報を含むオーダー情報を取得するオーダー情報取得段階と、
１以上のワークの識別情報と、前記１以上のワークの把持情報とを対応付けて、格納装置に格納する把持情報格納段階と、
（ｉ）前記記憶装置にアクセスして、前記オーダー情報取得段階において取得されたオーダー情報に含まれる前記少なくとも１つのワークの識別情報のうち、前記格納装置に格納されていない識別情報に合致する前記対象物の識別情報と対応付けられた前記把持情報を抽出し、（ｉｉ）前記格納装置に格納されていない識別情報と、前記抽出された把持情報とを対応付けて、前記格納装置に格納する把持情報抽出段階と、
前記格納装置に格納された把持情報を参照して、前記第１位置において前記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第１候補情報を生成する第１候補情報生成段階と、
前記格納装置に格納された把持情報を参照して、前記第２位置において前記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第２候補情報を生成する第２候補情報生成段階と、
前記第１候補情報により示される１以上の姿勢、及び、前記第２候補情報により示される１以上の姿勢に関する１以上の組み合わせの中から、一の組み合わせを抽出する抽出段階と、
前記ピッキングハンドが、（ｉ）前記第１位置において、前記一の組み合わせに含まれる前記第１位置に関する姿勢で前記ワークをピッキングし、（ｉｉ）前記第２位置において、前記一の組み合わせに含まれる前記第２位置に関する姿勢で前記ワークを配置するための軌道を算出する軌道算出段階と、
前記軌道算出段階において算出された軌道上における干渉の有無を判定する判定段階と、
を有し、
前記格納装置は、前記記憶装置とは異なる媒体により実現され、
前記把持情報取得段階は、（ｉ）前記３次元情報取得段階において取得された前記３次元情報により示される前記対象物の形状と、（ｉｉ）物品の形状及び当該物品を把持する方法を対応づけた情報とに基づいて、前記ピッキングハンドを用いて前記対象物を把持する方法を決定することで、前記把持情報を取得する段階を含み、
前記第１候補情報生成段階は、
前記格納装置に格納された把持情報を参照して、前記ピッキングハンドを用いて前記ワークを把持する方法を定義する把持情報を取得する段階と、
前記ピッキングハンドが、前記把持情報により示される把持方法に従って、前記第１位置で前記ワークを把持した場合における、前記ピッキングハンドの干渉の有無を判定する段階と、
前記判定において、干渉しないと判定された前記ピッキングハンドの位置及び姿勢を示す情報を、前記第１候補情報として生成する段階と、
を含み、
前記第２候補情報生成段階は、
前記格納装置に格納された把持情報を参照して、前記ピッキングハンドを用いて前記ワークを把持する方法を定義する把持情報を取得する段階と、
前記ピッキングハンドが、前記把持情報により示される把持方法に従って、前記第２位置で前記ワークを把持した場合における、前記ピッキングハンドの干渉の有無を判定する段階と、
前記判定において、干渉しないと判定された前記ピッキングハンドの位置及び姿勢を示す情報を、前記第２候補情報として生成する段階と、
を含む、
情報処理方法。
【請求項１３】
前記対象物の質量を示す質量情報を取得する質量情報取得段階と、
前記対象物の仕様を示す仕様情報を取得する仕様情報取得段階と、
をさらに有し、
前記質量情報は、前記対象物の重心の位置を示す重心情報を含み、
前記仕様情報は、前記対象物の輸送に関する事項を示す情報を含み、
前記情報管理段階は、（ｉ）前記３次元情報取得段階において取得された前記対象物の３次元情報と、（ｉｉ）前記把持情報取得段階において取得された把持情報と、（ｉｉｉ）前記質量情報取得段階において取得された前記質量情報と、（ｉｖ）前記仕様情報取得段階において取得された前記仕様情報とを対応付けて、前記記憶装置に格納する段階を含む、
請求項１２に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ピッキングシステム、物流システム、プログラム、及び、情報処理方法に関する。
【背景技術】
【０００２】
ピッキングハンド及びロボットアームを利用して、容器に収納されたワークを取り出し、当該ワークを他の容器内の特定の位置に配置するピッキングシステムが知られている。
［先行技術文献］
［特許文献］
［特許文献１］  特開２０１６−０９１０５３号公報
［特許文献２］  特開２０１６−１４７３３０号公報
［特許文献３］  特開２０１７−０３３４２９号公報
【解決しようとする課題】
【０００３】
障害物との干渉を考慮して自動的にワークの軌道を算出するためには、ワークの３次元形状などのデータが必要となる。
【一般的開示】
【０００４】
本発明の第１の態様においては、情報処理装置が提供される。上記の情報処理装置は、例えば、対象物の３次元情報を取得する３次元情報取得部を備える。上記の情報処理装置は、例えば、ピッキングハンドを用いて対象物を把持する方法を定義する把持情報を取得する把持情報取得部を備える。上記の情報処理装置は、例えば、（ｉ）３次元情報取得部が取得した対象物の３次元情報と、（ｉｉ）把持情報取得部が取得した把持情報とを対応付けて、記憶装置に格納する情報管理部を備える。上記の情報処理装置において、対象物の３次元情報は、原点情報及び座標軸情報の少なくとも一方を含んでよい。
【０００５】
上記の情報処理装置は、対象物の２次元情報を取得する２次元情報取得部を備えてよい。上記の情報処理装置において、情報管理部は、（ｉ）３次元情報取得部が取得した対象物の３次元情報と、（ｉｉ）把持情報取得部が取得した把持情報と、（ｉｉｉ）２次元情報取得部が取得した対象物の２次元情報とを対応付けて、記憶装置に格納してよい。上記の情報処理装置は、２次元情報取得部が取得した対象物の２次元情報に基づいて、対象物を認識するための特徴情報を取得する特徴情報取得部を備えてよい。上記の情報処理装置において、情報管理部は、（ｉ）３次元情報取得部が取得した対象物の３次元情報と、（ｉｉ）把持情報取得部が取得した把持情報と、（ｉｉｉ）２次元情報取得部が取得した対象物の２次元情報と、（ｉｖ）特徴情報取得部が取得した対象物の特徴情報とを対応付けて、記憶装置に格納してよい。
【０００６】
上記の情報処理装置は、対象物の２次元情報を取得する２次元情報取得部を備えてよい。上記の情報処理装置は、２次元情報取得部が取得した対象物の２次元情報に基づいて、対象物を認識するための特徴情報を取得する特徴情報取得部を備えてよい。上記の情報処理装置において、情報管理部は、（ｉ）３次元情報取得部が取得した対象物の３次元情報と、（ｉｉ）把持情報取得部が取得した把持情報と、（ｉｉｉ）特徴情報取得部が取得した対象物の特徴情報とを対応付けて、記憶装置に格納してよい。
【０００７】
上記の情報処理装置において、２次元情報は、対象物を３以上の方向から撮像した３以上の画像の画像データであってよい。上記の情報処理装置は、記憶装置を備えてよい。上記の情報処理装置において、情報管理部は、（ｉ）３次元情報取得部が取得した対象物の３次元情報と、（ｉｉ）把持情報取得部が取得した把持情報と、（ｉｉｉ）対象物を識別するための識別情報とを対応付けて、記憶装置に格納してよい。
【０００８】
上記の情報処理装置は、ピッキングハンドを用いて第１位置でピッキングしたワークを、第１位置とは異なる第２位置に配置するピッキング装置を制御するためのピッキング制御部を備えてよい。上記の情報処理装置は、ピッキング装置の作業対象となる少なくとも１つのワークの識別情報を含むオーダー情報を取得するオーダー情報取得部を備えてよい。上記の情報処理装置は、１以上のワークの識別情報と、１以上のワークの把持情報とを対応付けて格納する把持情報格納部を備えてよい。上記の情報処理装置は、（ｉ）記憶装置にアクセスして、オーダー情報取得部が取得したオーダー情報に含まれる少なくとも１つのワークの識別情報のうち、把持情報格納部に格納されていない識別情報に合致する対象物の識別情報と対応付けられた把持情報を抽出し、（ｉｉ）把持情報格納部に格納されていない識別情報と、抽出された把持情報とを対応付けて、把持情報格納部に格納する把持情報抽出部を備えてよい。上記の情報処理装置において、把持情報格納部は、記憶装置とは異なる媒体により実現されてよい。
【０００９】
上記の情報処理装置は、把持情報格納部に格納された把持情報を参照して、第１位置においてピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第１候補情報を生成する第１候補情報生成部を備えてよい。上記の情報処理装置は、把持情報格納部に格納された把持情報を参照して、第２位置においてピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第２候補情報を生成する第２候補情報生成部を備えてよい。上記の情報処理装置は、第１候補情報により示される１以上の姿勢、及び、第２候補情報により示される１以上の姿勢に関する１以上の組み合わせの中から、一の組み合わせを抽出する抽出部を備えてよい。上記の情報処理装置は、ピッキングハンドが、（ｉ）第１位置において、一の組み合わせに含まれる第１位置に関する姿勢でワークをピッキングし、（ｉｉ）第２位置において、一の組み合わせに含まれる第２位置に関する姿勢でワークを配置するための軌道を算出する軌道算出部を備えてよい。上記の情報処理装置は、軌道算出部が算出した軌道上における干渉の有無を判定する判定部を備えてよい。
【００１０】
本発明の第２の態様においては、ピッキングシステムが提供される。上記のピッキングシステムは、例えば、上記の情報処理装置を備える。上記のピッキングシステムは、例えば、上記のピッキング装置を備える。
【００１１】
本発明の第３の態様においては、物流システムが提供される。上記の物流システムは、例えば、上記の情報処理装置を備える。上記の物流システムは、例えば、上記のピッキング装置を備える。上記の物流システムは、例えば、ワークを搬送する搬送装置を備える。
【００１２】
本発明の第４の態様においては、プログラムが提供される。上記のプログラムを格納する非一時的コンピュータ可読媒体が提供されてもよい。上記のプログラムは、コンピュータを、上記の情報処理装置として機能させるためのプログラムであってよい。
【００１３】
本発明の第５の態様においては、情報処理方法が提供される。上記の情報処理方法は、例えば、コンピュータが、対象物の３次元情報を取得する３次元情報取得段階を有する。上記の情報処理方法は、例えば、コンピュータが、ピッキングハンドを用いて対象物を把持する方法を定義する把持情報を取得する把持情報取得段階を有する。上記の情報処理方法は、例えば、コンピュータが、（ｉ）３次元情報取得部が取得した対象物の３次元情報と、（ｉｉ）把持情報取得部が取得した把持情報とを対応付けて、記憶装置に格納する情報管理段階を有する。
【００１４】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１５】
【図１】物流管理システム１００のシステム構成の一例を概略的に示す。
【図２】物品管理装置１１０の内部構成の一例を概略的に示す。
【図３】データ登録装置１２０の内部構成の一例を概略的に示す。
【図４】ロボット１４０の内部構成の一例を概略的に示す
【図５】移載制御装置１６０の内部構成の一例を概略的に示す。
【図６】認識部５２０の内部構成の一例を概略的に示す。
【図７】計画部５３０の内部構成の一例を概略的に示す。
【図８】実行部５４０の内部構成の他の例を概略的に示す。
【図９】移載制御装置１６０における情報処理の一例を概略的に示す。
【図１０】Ｓ９１２における認識処理の一例を概略的に示す。
【図１１】Ｓ９１４における計画処理の一例を概略的に示す。
【図１２】Ｓ１１６０における軌道計画処理の一例を概略的に示す。
【図１３】Ｓ１２０８における干渉確認処理の一例を概略的に示す。
【図１４】データテーブル１４００の一例を概略的に示す。
【図１５】ワーク間での並行処理の一例を概略的に示す。
【図１６】ワーク間での並行処理の一例を概略的に示す。
【発明を実施するための形態】
【００１６】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
【００１７】
［物流管理システム１００の概要］
図１は、物流管理システム１００のシステム構成の一例を概略的に示す。本実施形態において、物流管理システム１００は、物品管理装置１１０と、データ登録装置１２０と、移載装置１３０と、搬送装置１７０とを備える。本実施形態において、移載装置１３０は、ロボット１４０と、撮像装置１５２と、撮像装置１５４と、移載制御装置１６０とを有する。本実施形態において、搬送装置１７０は、供給パレット１２を搬送するコンベア１７２と、配送パレット１４を搬送するコンベア１７４とを有する。
【００１８】
供給パレット１２は、第１容器及び供給容器の一例であってよい。配送パレット１４は、第２容器及び配置容器の一例であってよい。物流管理システム１００は、制御装置、情報処理装置、ピッキングシステム及び物流システムの一例であってよい。物品管理装置１１０は、記憶装置の一例であってよい。データ登録装置１２０は、情報処理装置の一例であってよい。移載装置１３０は、ピッキング装置及びピッキングシステムの一例であってよい。ロボット１４０は、ピッキング装置の一例であってよい。撮像装置１５２は、画像取得部の一例であってよい。撮像装置１５４は、画像取得部の一例であってよい。移載制御装置１６０は、制御装置及びピッキング制御部の一例であってよい。
【００１９】
本実施形態において、物流管理システム１００は、複数種類の物品の入庫、保管及び出庫を管理する。例えば、物流管理システム１００は、ユーザからの注文に基づいて、保管されている物品を配送用の容器に詰め替えて、配送用の荷物を作製する。
【００２０】
配送用の荷物は、例えば、下記の手順により作製される。まず、搬送装置１７０のコンベア１７２が、ユーザが注文した物品を収容する供給パレット１２を、移載装置１３０の作業位置まで搬送する。一実施形態において、供給パレット１２は、１個の物品を収容する。他の実施形態において、供給パレット１２は、同一種類の物品を複数個収容する。さらに他の実施形態において、供給パレット１２は、複数種類の物品を収容する。また、搬送装置１７０のコンベア１７４が、配送パレット１４を、移載装置１３０の作業位置まで搬送する。
【００２１】
次に、移載装置１３０が、供給パレット１２に収容された物品の中から、移載装置１３０の作業対象となるワーク１０を特定する。また、移載装置１３０は、配送パレット１４の特定の位置又は任意の位置を、上記のワーク１０の配置位置として設定する。移載装置１３０は、供給パレット１２のワーク１０を、配送パレット１４の特定の位置又は任意の位置に移動させるための軌道を決定する。移載装置１３０は、（ｉ）特定されたワーク１０をピッキングして、供給パレット１２から取り出し、（ｉｉ）配送パレット１４の特定の位置又は任意の位置に配置する。
【００２２】
ユーザが注文した他の物品が、上記の供給パレット１２に収容されている場合、移載装置１３０は、上記と同様の作業を繰り返す。ユーザが注文した他の物品が、他の供給パレット１２に収容されている場合、コンベア１７２が、上記の供給パレット１２を移載装置１３０の作業位置から搬出し、上記の他の供給パレット１２を移載装置１３０の作業位置まで搬送する。移載装置１３０は、他の供給パレット１２に収容された他の物品に関して、上記と同様の作業を繰り返す。そして、ユーザが注文した全ての物品が配送パレット１４に収容されると、コンベア１７４は、配送パレット１４を移載装置１３０の作業位置から搬出する。これにより、配送用の荷物を用意することができる。
【００２３】
［物流管理システム１００の各部の概要］
本実施形態において、物品管理装置１１０は、物品の入庫、保管及び出庫を管理する。物品管理装置１１０は、ユーザの注文内容を示すユーザ注文情報を取得する。物品管理装置１１０の詳細については後述する。
【００２４】
本実施形態において、データ登録装置１２０は、入庫される物品に関する各種の情報を取得する。例えば、データ登録装置１２０は、外観、形状、仕様、取り扱い方法などに関する情報を取得する。データ登録装置１２０は、取得された情報を物品管理装置１１０に登録してよい。データ登録装置１２０は、入庫される全ての物品について情報を登録してもよく、物品の種類ごとに情報を登録してもよい。データ登録装置１２０の詳細については後述する。
【００２５】
本実施形態において、移載装置１３０は、ワーク１０を、移載装置１３０の作業位置に配置された供給パレット１２から、移載装置１３０の作業位置に配置された配送パレット１４に移動させる。説明を簡単にすることを目的として、本実施形態においては、移載装置１３０の作業位置には、単一の供給パレット１２、及び、単一の配送パレット１４が配される場合について説明する。しかしながら、移載装置１３０は本実施形態に限定されない。
【００２６】
他の実施形態において、移載装置１３０の作業位置には、複数の供給パレット１２、及び、１又は複数の配送パレット１４が配され、移載装置１３０は、複数の供給パレット１２と、１又は複数の配送パレット１４との間で、複数のワークを移動させる。さらに他の実施形態において、移載装置１３０の作業位置には、１又は複数の供給パレット１２、及び、複数の配送パレット１４が配され、移載装置１３０は、１又は複数の供給パレット１２と、複数の配送パレット１４との間で、複数のワークを移動させる。
【００２７】
本実施形態において、ロボット１４０は、移載制御装置１６０からの命令に基づいて、ワーク１０を、供給パレット１２から配送パレット１４に移動させる。例えば、ロボット１４０は、ピッキングハンドを用いて、１又は複数のワーク１０を、１又は複数の供給パレット１２から１又は複数の配送パレット１４に移動させる。ロボット１４０は、ピッキングハンドを用いて第１位置でピッキングしたワーク１０を、第１位置とは異なる第２位置に配置してもよい。第１位置は、供給パレット１２の特定の位置又は任意の位置であってよい。第２位置は、配送パレット１４の特定の位置又は任意の位置であってよい。ロボット１４０の詳細は後述する。なお、「１又は複数」を「１以上」と称する場合がある。
【００２８】
本実施形態において、撮像装置１５２は、移載装置１３０の作業位置に配置された供給パレット１２を撮像する。撮像装置１５２は、供給パレット１２の表面の３次元情報（例えば、３次元点群である。）を取得してもよい。撮像装置１５２は、供給パレット１２のステレオ画像を撮像してもよい。撮像装置１５２は、供給パレット１２の温度情報を取得してもよい。撮像装置１５２としては、カメラ、ステレオカメラ、３次元センサなどを例示することができる。撮像装置１５２は、複数の撮像装置を含んでもよい。
【００２９】
本実施形態において、撮像装置１５４は、移載装置１３０の作業位置に配置された配送パレット１４を撮像する。撮像装置１５４は、配送パレット１４の表面の３次元情報（例えば、３次元点群である。）を取得してもよい。撮像装置１５２は、供給パレット１２のステレオ画像を撮像してもよい。撮像装置１５４は、配送パレット１４の温度情報を取得してもよい。撮像装置１５４としては、カメラ、ステレオカメラ、３次元センサなどを例示することができる。撮像装置１５４は、複数の撮像装置を含んでもよい。
【００３０】
本実施形態において、移載制御装置１６０は、移載装置１３０を制御する。一実施形態において、移載制御装置１６０は、移載装置１３０の外部に配される。他の実施形態において、移載制御装置１６０は、移載装置１３０の内部に配される。移載制御装置１６０の詳細については後述する。
【００３１】
本実施形態において、搬送装置１７０は、１以上のワークを搬送する。例えば、搬送装置１７０は、供給パレット１２に収容された１以上のワークを搬送する。搬送装置１７０は、配送パレット１４に収容された１以上のワークを搬送してもよい。
【００３２】
［物流管理システム１００の各部の具体的な構成］
物流管理システム１００の各部は、ハードウェアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウェア及びソフトウエアにより実現されてもよい。物流管理システム１００の各部は、その少なくとも一部が、単一のサーバによって実現されてもよく、複数のサーバによって実現されてもよい。物流管理システム１００の各部は、その少なくとも一部が、仮想サーバ上又はクラウドシステム上で実現されてもよい。物流管理システム１００の各部は、その少なくとも一部が、パーソナルコンピュータ又は携帯端末によって実現されてもよい。携帯端末としては、携帯電話、スマートフォン、ＰＤＡ、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどを例示することができる。物流管理システム１００の各部は、ブロックチェーンなどの分散型台帳技術又は分散型ネットワークを利用して、情報を格納してもよい。
【００３３】
物流管理システム１００を構成する構成要素の少なくとも一部がソフトウエアにより実現される場合、当該ソフトウエアにより実現される構成要素は、一般的な構成の情報処理装置において、当該構成要素に関する動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。上記の一般的な構成の情報処理装置は、（ｉ）ＣＰＵ、ＧＰＵなどのプロセッサ、ＲＯＭ、ＲＡＭ、通信インタフェースなどを有するデータ処理装置と、（ｉｉ）キーボード、ポインティングデバイス、タッチパネル、カメラ、音声入力装置、ジェスチャ入力装置、各種センサ、ＧＰＳ受信機などの入力装置と、（ｉｉｉ）表示装置、音声出力装置、振動装置などの出力装置と、（ｉｖ）メモリ、ＨＤＤ、ＳＳＤなどの記憶装置（外部記憶装置を含む。）とを備えてよい。
【００３４】
上記の一般的な構成の情報処理装置において、上記のデータ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。上記のソフトウエア又はプログラムは、プロセッサによって実行されることにより、上記の情報処理装置に、当該ソフトウエア又はプログラムによって規定された動作を実行させる。上記のソフトウエア又はプログラムは、非一時的なコンピュータ可読記録媒体に格納されていてもよい。上記のソフトウエア又はプログラムは、コンピュータを、移載制御装置１６０又はその一部として機能させるためのプログラムであってよい。
【００３５】
上記のソフトウエア又はプログラムは、ピッキング装置を制御するためのプログラムであってよい。上記のプログラムにおいて、ピッキング装置は、ピッキングハンドを用いて第１位置でピッキングしたワークを、上記第１位置とは異なる第２位置に配置してよい。上記のプログラムは、コンピュータに、上記第１位置において上記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第１候補情報を取得する第１候補情報取得手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記第２位置において上記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第２候補情報を取得する第２候補情報取得手順と、上記第１候補情報により示される１以上の姿勢、及び、上記第２候補情報により示される１以上の姿勢に関する１以上の組み合わせの中から、一の組み合わせを抽出する抽出手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記ピッキングハンドが、（ｉ）上記第１位置において、上記一の組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉ）上記第２位置において、上記一の組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するための軌道を算出する軌道算出手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記軌道算出手順において算出された軌道上における干渉の有無を判定する判定手順と、を実行させるためのプログラムであってよい。
【００３６】
上記のソフトウエア又はプログラムは、ピッキング装置を制御するためのプログラムであってよい。上記のプログラムにおいて、ピッキング装置は、ピッキングハンドを用いて、第１容器の第１位置でピッキングしたワークを、上記第１容器とは異なる第２容器の第２位置に配置してよい。上記のプログラムは、コンピュータに、上記ピッキングハンドが、（ｉ）上記第１位置において、上記一の組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉ）上記第２位置において、上記一の組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するための軌道を規定する軌道情報を生成する軌道情報生成手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記軌道情報手順において生成された軌道情報に基づいて、上記ピッキング装置を動作させる実行制御手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記実行制御手順において、上記ピッキング装置が上記ワークに対する動作を開始させるための命令を受信してから、上記ピッキング装置が上記ワークに対する動作を終了するまでの時間を推定する実行時間推定手順を実行させるためのプログラムであってよい。上記のプログラムにおいて、上記軌道情報生成手順は、上記実行時間推定手順において得られた推定結果に基づいて計算量を調整する手順を含んでもよい。
【００３７】
上記のソフトウエア又はプログラムは、ピッキング装置を制御するためのプログラムであってよい。上記のプログラムにおいて、ピッキング装置は、ピッキングハンドを用いて、第１容器の第１位置でピッキングしたワークを、上記第１容器とは異なる第２容器の第２位置に配置してよい。上記のプログラムは、コンピュータに、（ｉ）上記ピッキングハンドが、上記第１位置で上記ワークをピッキングするタイミング、（ｉｉ）上記ピッキングハンドが、上記ワークを上記第１容器の外に搬出するタイミング、（ｉｉｉ）上記ピッキングハンドが、上記ワークを上記第２容器の中に搬入するタイミング、及び、（ｉｖ）上記ピッキングハンドが、上記ワークを上記第２位置に配置するタイミングの少なくとも１つのタイミングにおける、上記ピッキングハンド及び上記ワークの少なくとも一方を含む領域の点群情報を取得する点群情報取得手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記点群情報取得手順において取得された点群情報に基づいて、異常を検出する異常検出手順を実行させるためのプログラムであってよい。
【００３８】
上記のソフトウエア又はプログラムは、ピッキング装置を制御するためのプログラムであってよい。上記のプログラムにおいて、ピッキング装置は、ピッキングハンドを用いて、１又は複数のワークを、１又は複数の供給容器から１又は複数の配置容器に移動させてよい。上記のプログラムは、コンピュータに、上記ピッキングハンドが、上記１又は複数の供給容器に含まれる一の供給容器に収容された上記１又は複数のワークの１つをピッキングし、当該ワークを、上記１又は複数の配置容器に含まれる一の配置容器に配置するための軌道を規定する軌道情報を生成する軌道情報生成手順を実行させるためのプログラムであってよい。上記のプログラムにおいて、上記軌道情報生成手順は、上記１又は複数のワークに含まれる第１ワークに関する軌道情報を生成するための処理を実行した後、上記第１ワークの移動が完了する前に、上記第１ワークに関する軌道情報を生成するための処理における演算結果を利用して、上記１又は複数のワークに含まれ、上記第１ワークとは異なる第２ワークに関する軌道情報を生成する手順を含んでよい。
【００３９】
上記のソフトウエア又はプログラムは、ピッキング装置を制御するためのプログラムであってよい。上記のプログラムにおいて、ピッキング装置は、ピッキングハンドを用いて、１又は複数のワークを、１又は複数の供給容器から１又は複数の配置容器に移動させてよい。上記のプログラムは、コンピュータに、上記ピッキングハンドが、上記１又は複数の供給容器に含まれる一の供給容器に収容された上記１又は複数のワークの１つをピッキングし、当該ワークを、上記１又は複数の配置容器に含まれる一の配置容器に配置するための軌道を規定する軌道情報を生成する軌道情報生成手順を実行させるためのプログラムであってよい。上記のプログラムにおいて、上記軌道情報生成手順は、上記１又は複数のワークに含まれる第１ワークに関する軌道情報を生成するための処理を実行した後、上記第１ワークの移動が完了する前に、上記第１ワークに関する軌道情報を生成するための処理における演算結果を利用して、上記１又は複数のワークに含まれ、上記第１ワークとは異なる第２ワークに関する軌道情報を生成する手順を有してよい。
【００４０】
上記のソフトウエア又はプログラムは、コンピュータに、対象物の３次元情報を取得する３次元情報取得手順を実行させるためのプログラムであってよい。上記のソフトウエア又はプログラムは、コンピュータに、ピッキングハンドを用いて上記対象物を把持する方法を定義する把持情報を取得する把持情報取得手順を実行させるためのプログラムであってよい。上記のソフトウエア又はプログラムは、コンピュータに、（ｉ）上記３次元情報取得部が取得した上記対象物の３次元情報と、（ｉｉ）上記把持情報取得部が取得した把持情報とを対応付けて、記憶装置に格納する情報管理手順を実行させるためのプログラムであってよい。
【００４１】
図２は、物品管理装置１１０の内部構成の一例を概略的に示す。本実施形態において、物品管理装置１１０は、注文情報取得部２１０と、搬送装置管理部２２０と、移載装置管理部２３０と、要求処理部２４０と、物品情報格納部２５０とを備える。注文情報取得部２１０は、オーダー情報取得部の一例であってよい。物品情報格納部２５０は、記憶装置の一例であってよい。
【００４２】
本実施形態において、注文情報取得部２１０は、ユーザの注文内容を示すユーザ注文情報を取得する。ユーザ注文情報は、移載装置１３０の作業対象となる物品の識別情報を含んでよい。物品の識別情報としては、物品の名称、物品に付与されたコード番号、物品の外観の特徴などを例示することができる。ユーザ注文情報は、オーダー情報の一例であってよい。
【００４３】
一実施形態において、注文情報取得部２１０は、物品管理装置１１０に配されたキーボード、タッチパネル、音声入力装置、ジェスチャ入力装置などの入力装置（図示されていない。）を介して、ユーザからの注文を受け付ける。他の実施形態において、注文情報取得部２１０は、ユーザの通信端末又は他の情報処理装置から、通信ネットワークを介して、ユーザ注文情報を受信する。通信ネットワークは、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。
【００４４】
本実施形態において、搬送装置管理部２２０は、搬送装置１７０を管理する。一実施形態において、搬送装置管理部２２０は、注文情報取得部２１０が取得したユーザ注文情報を搬送装置１７０に転送する。他の実施形態において、搬送装置管理部２２０は、１以上のユーザからのユーザ注文情報を解析して、ユーザ注文情報に含まれる物品の在庫状態を調べてよい。さらに他の実施形態において、搬送装置管理部２２０は、１以上のユーザからのユーザ注文情報を解析して、ユーザ注文情報に複数の種類の物品が含まれる場合には、各物品の在庫位置に基づいて、全体の搬送効率が予め定められた条件を満足するように、当該複数の種類の物品が移載装置１３０に搬送される順番を決定してよい。
【００４５】
本実施形態において、移載装置管理部２３０は、移載装置１３０を管理する。一実施形態において、移載装置管理部２３０は、ユーザ注文情報を解析して、ユーザ注文情報に複数の種類の物品が含まれる場合には、移載装置１３０の作業効率が予め定められた条件を満足するように、当該複数の種類の物品が移載装置１３０にピッキングされる順番を決定してよい。搬送装置管理部２２０が、複数の種類の物品が移載装置１３０に搬送される順番を決定した場合、移載装置管理部２３０は、当該順番を考慮しつつ、当該複数の種類の物品が移載装置１３０にピッキングされる順番を決定してよい。他の実施形態において、移載装置管理部２３０は、注文情報取得部２１０が取得したユーザ注文情報を移載装置１３０に転送する。この場合、移載装置１３０は、ユーザ注文情報を解析して、複数の種類の物品が移載装置１３０にピッキングされる順番を決定してもよい。
【００４６】
本実施形態において、要求処理部２４０は、各種の要求を受信する。要求処理部２４０は、受信された要求を処理する。一実施形態において、要求処理部２４０は、データ登録装置１２０から、物品に関するデータの登録要求を受信する。要求処理部２４０は、上記の登録要求を受け付けると、例えば、登録しようとする物品のデータが、既に物品情報格納部２５０に格納されているか否かを確認する。物品情報格納部２５０に上記のデータが格納されていない場合、要求処理部２４０は、上記のデータを物品情報格納部２５０に格納する。物品情報格納部２５０に上記のデータが格納されている場合において、その内容が変更されているときには、上記のデータを更新する。一方、データの内容に変更がない場合には、処理を終了する。
【００４７】
他の実施形態において、要求処理部２４０は、移載制御装置１６０から、特定の条件に合致するデータの送信要求を受信する。要求処理部２４０は、上記の送信要求を受け付けると、例えば、物品情報格納部２５０にアクセスして、当該条件に合致するデータの有無を確認する。物品情報格納部２５０に上記の条件に合致するデータが格納されている場合、要求処理部２４０は、当該データを移載制御装置１６０に送信する。物品情報格納部２５０に上記の条件に合致するデータが格納されていない場合、要求処理部２４０は、データが存在しないことを示す情報を移載制御装置１６０に送信する。
【００４８】
本実施形態において、物品情報格納部２５０は、物品に関する各種の情報を格納する。物品情報格納部２５０は、データ登録装置１２０が取得した情報を格納してよい。
【００４９】
図３は、データ登録装置１２０の内部構成の一例を概略的に示す。本実施形態において、データ登録装置１２０は、３次元情報取得部３１２と、２次元情報取得部３１４と、質量情報取得部３１６と、物品情報登録部３２０とを備える。本実施形態において、物品情報登録部３２０は、入出力部３３０と、登録情報生成部３４０と、登録要求送信部３５０とを有する。本実施形態において、登録情報生成部３４０は、座標情報付与部３４２と、把持情報付与部３４４と、仕様情報付与部３４６とを有する。
【００５０】
物品情報登録部３２０は、情報管理部の一例であってよい。把持情報付与部３４４は、把持情報取得部の一例であってよい。仕様情報付与部３４６は、特徴情報取得部の一例であってよい。登録要求送信部３５０は、情報管理部の一例であってよい。
【００５１】
本実施形態において、３次元情報取得部３１２は、データ登録処理の対象となる対象物品の３次元情報を取得する。３次元情報は、原点情報及び座標軸情報の少なくとも一方を含んでよい。３次元情報は、対象物品のＣＡＤデータを含んでもよい。３次元情報は、対象物品を３次元計測して得られたデータを含んでもよい。対象物品は、対象物の一例であってよい。３次元情報取得部３１２は、（ｉ）任意の方式の３次元計測装置であってもよく、（ｉｉ）当該３次元計測装置又は他の情報処理装置から３次元情報を受信する通信インタフェース又は記憶装置であってもよい。
【００５２】
本実施形態において、２次元情報取得部３１４は、データ登録処理の対象となる対象物品の２次元情報を取得する。２次元情報は、対象物品のＣＡＤデータを含んでもよい。２次元情報は、対象物品を３以上の方向から撮像した３以上の画像の画像データを含んでよい。２次元情報は、対象物品を４以上の方向から撮像した４以上の画像の画像データを含んでよい。２次元情報は、対象物品を５以上の方向から撮像した５以上の画像の画像データを含んでよい。２次元情報は、対象物品を６以上の方向から撮像した６以上の画像の画像データを含んでよい。２次元情報取得部３１４は、（ｉ）任意の方式の撮像装置であってもよく、（ｉｉ）当該撮像装置又は他の情報処理装置から２次元情報を受信する通信インタフェース又は記憶装置であってもよい。
【００５３】
本実施形態において、質量情報取得部３１６は、対象物品の質量を示す質量情報を取得する。質量情報は、対象物品の重心の位置を示す重心情報を含んでもよい。質量情報取得部３１６は、（ｉ）任意の方式の質量計測装置であってもよく、（ｉｉ）当該質量計測装置又は他の情報処理装置から質量情報を受信する通信インタフェース又は記憶装置であってもよい。
【００５４】
本実施形態において、物品情報登録部３２０は、３次元情報取得部３１２が取得した対象物品の３次元情報と、（ｉｉ）対象物品に関する各種の情報とを対応付けて、物品情報格納部２５０に格納する。例えば、物品情報登録部３２０は、３次元情報取得部３１２が取得した対象物品の３次元情報及び（ｉｉ）対象物品に関する各種の情報を物品情報格納部２５０に格納するための要求を、物品管理装置１１０に送信する。
【００５５】
本実施形態において、入出力部３３０は、ユーザからの入力を受け付ける。また、入出力部３３０は、ユーザに情報を出力する。入出力部３３０は、例えば、キーボード、ポインティングデバイス、タッチパネル、カメラ、音声入力装置、ジェスチャ入力装置、各種センサ、ＧＰＳ受信機などの入力装置を含む。入出力部３３０は、外部記憶装置との通信インタフェースであってもよい。入出力部３３０は、通信回線を介して、他の情報処理装置との間で情報を送受するための通信インタフェースであってもよい。これにより、例えば、対象物品の製造者又は販売者がサービスを提供するＷｅｂサイトにアクセスして、当該対象物品に関する情報を取得することができる。入出力部３３０は、例えば、表示装置、音声出力装置、振動装置などの出力装置を含む。これにより、例えば、ユーザが対象物品に関する情報を入力するための入力画面を、ユーザに提示することができる。
【００５６】
本実施形態において、登録情報生成部３４０は、物品管理装置１１０に登録するための情報を生成する。例えば、登録情報生成部３４０は、３次元情報取得部３１２が取得した対象物品の３次元情報、２次元情報取得部３１４が取得した対象物品の２次元情報、及び、質量情報取得部３１６が取得した対象物品の質量情報の少なくとも１つに、各種の情報を付与して、物品管理装置１１０に登録するための情報を生成する。
【００５７】
本実施形態において、座標情報付与部３４２は、３次元情報取得部３１２が取得した対象物品の３次元情報、及び、２次元情報取得部３１４が取得した対象物品の２次元情報の少なくとも一方に、原点情報及び座標軸情報の少なくとも一方を付与する。座標情報付与部３４２は、入出力部３３０から、原点情報及び座標軸情報の少なくとも一方を取得してもよい。
【００５８】
本実施形態において、把持情報付与部３４４は、３次元情報取得部３１２が取得した対象物品の３次元情報、及び、２次元情報取得部３１４が取得した対象物品の２次元情報の少なくとも一方に、ピッキングハンドを用いて対象物品を把持する方法を定義する把持情報を付与する。
【００５９】
一実施形態において、把持情報付与部３４４は、入出力部３３０から、把持情報を取得することで、対象物品を把持する方法を決定する。他の実施形態において、把持情報付与部３４４は、（ｉ）対象物品の形状と、（ｉｉ）典型的な物品の形状及び当該物品を把持する方法を対応付けた情報とに基づいて、対象物品を把持する方法を決定する。
【００６０】
本実施形態において、仕様情報付与部３４６は、３次元情報取得部３１２が取得した対象物品の３次元情報、及び、２次元情報取得部３１４が取得した対象物品の２次元情報の少なくとも一方に、対象物品の仕様を示す仕様情報を付与する。対象物品の仕様としては、（ｉ）物品の名称、（ｉｉ）物品に付与された識別コード、（ｉｉｉ）物品の寸法、（ｉｖ）物品の質量、（ｖ）物品の保管、輸送又は使用に関する事項などを例示することができる。
【００６１】
一実施形態において、仕様情報付与部３４６は、入出力部３３０から、仕様情報を取得してよい。他の実施形態において、仕様情報付与部３４６は、３次元情報取得部３１２が取得した３次元情報及び２次元情報取得部３１４が取得した２次元情報の少なくとも一方に基づいて、対象物品を認識するための特徴情報を取得し、当該特徴情報を仕様情報に含めてよい。仕様情報付与部３４６は、顔認識、生体認識などの画像認識の分野において用いられる手法を利用して、特徴情報を取得してよい。
【００６２】
特徴情報は、対象物品の外観の少なくとも一部の特徴に関する情報であってよい。対象物品の外観の特徴としては、（ｉ）対象物品の形状、模様及び色彩の少なくとも１つに関する特徴、（ｉｉ）対象物品に付されたロゴマーク、当該物品の名称、又は、当該物品を識別する識別コードなどを例示することができる。
【００６３】
これにより、登録情報生成部３４０は、物品管理装置１１０に登録するための情報を生成することができる。なお、物品管理装置１１０に登録するための情報は、少なくとも、３次元情報取得部３１２が取得した対象物品の３次元情報、及び、２次元情報取得部３１４が取得した対象物品の２次元情報の少なくとも一方を含んでいればよく、質量情報、座標情報、把持情報及び仕様情報を含まなくてもよい。
【００６４】
一実施形態において、物品管理装置１１０に登録するための情報は、対象物品の３次元情報及び把持情報を含む。物品管理装置１１０に登録するための情報は、（ｉ）対象物品の３次元情報及び把持情報と、（ｉｉ）対象物品の特徴情報及び識別情報の少なくとも一方を含んでもよい。物品管理装置１１０に登録するための情報は、（ｉ）対象物品の３次元情報及び把持情報と、（ｉｉ）対象物品の質量情報、座標情報、及び仕様情報の少なくとも１つとを含んでもよい。物品管理装置１１０に登録するための情報は、（ｉ）対象物品の３次元情報及び把持情報と、（ｉｉ）対象物品の特徴情報及び識別情報の少なくとも一方と、（ｉｉｉ）対象物品の質量情報、座標情報、及び仕様情報の少なくとも１つとを含んでもよい。
【００６５】
他の実施形態において、物品管理装置１１０に登録するための情報は、対象物品の３次元情報、２次元情報及び把持情報を含む。物品管理装置１１０に登録するための情報は、（ｉ）対象物品の３次元情報、２次元情報及び把持情報と、（ｉｉ）対象物品の特徴情報及び識別情報の少なくとも一方を含んでもよい。物品管理装置１１０に登録するための情報は、（ｉ）対象物品の３次元情報、２次元情報及び把持情報と、（ｉｉ）対象物品の質量情報、座標情報、及び仕様情報の少なくとも１つとを含んでもよい。物品管理装置１１０に登録するための情報は、（ｉ）対象物品の３次元情報、２次元情報及び把持情報と、（ｉｉ）対象物品の特徴情報及び識別情報の少なくとも一方と、（ｉｉｉ）対象物品の質量情報、座標情報、及び仕様情報の少なくとも１つとを含んでもよい。
【００６６】
本実施形態において、登録要求送信部３５０は、登録情報生成部３４０が生成した登録情報を、物品管理装置１１０に格納する。例えば、登録要求送信部３５０は、登録情報生成部３４０が生成した登録情報を、物品情報格納部２５０に格納するための登録要求を、物品管理装置１１０に送信する。
【００６７】
本実施形態においては、登録情報の登録先である物品情報格納部２５０が物品管理装置１１０に配される場合について説明した。しかしながら、物品情報格納部２５０は本実施形態に限定されない。他の実施形態において、物品情報格納部２５０は、データ登録装置１２０に配されてもよい。
【００６８】
図４は、ロボット１４０の内部構成の一例を概略的に示す。本実施形態において、ロボット１４０は、マニュピレータ４１０と、駆動部４２０と、駆動制御部４３０とを備える。本実施形態において、マニュピレータ４１０は、ピッキングハンド４１２と、ロボットアーム４１４とを有する。
【００６９】
本実施形態において、ピッキングハンド４１２は、ワーク１０を把持する。ピッキングハンド４１２の把持方式は特に限定されるものではない。ピッキングハンド４１２の把持方式としては、低圧によりワーク１０を吸着する方式、複数の指モジュールによりワーク１０を把持する方式などを例示することができる。ピッキングハンド４１２は、作業内容によって交換されてもよい。ピッキングハンド４１２は、接触センサ、質量計測センサ、負荷計測センサなどの各種センサを有してよい。
【００７０】
本実施形態において、ロボットアーム４１４は、ピッキングハンド４１２に連結され、ピッキングハンド４１２の位置及び姿勢を調整する。ロボットアーム４１４の構造は特に限定されるものではないが、例えば、複数の関節を有する多関節ロボットアームが用いられる。ロボットアーム４１４は、質量計測センサ、負荷計測センサなどの各種センサを有してよい。負荷計測センサは、ロボットアーム４１４の各関節を駆動する駆動部４２０のトルク、電流値又は電圧値を計測するセンサであってよい。
【００７１】
本実施形態において、駆動部４２０は、マニュピレータ４１０を駆動する。一実施形態において、駆動部４２０は、ピッキングハンド４１２を駆動する。例えば、駆動部４２０は、ピッキングハンド４１２に空気を供給したり、ピッキングハンド４１２から空気を吸引したりする。他の実施形態において、駆動部４２０は、ロボットアーム４１４を駆動する。例えば、駆動部４２０は、ロボットアーム４１４の各関節の角度を調整する。駆動部４２０は、モータであってよい。駆動部４２０は、複数のモータを有してよい。
【００７２】
本実施形態において、駆動制御部４３０は、駆動部４２０を制御する。例えば、駆動制御部４３０は、移載制御装置１６０から、ロボット１４０の動作を制御するための命令を受信する。駆動制御部４３０は、移載制御装置１６０からの命令に基づいて、駆動部４２０を制御する。ロボット１４０の動作を制御するための命令は、ピッキングハンド４１２の軌道を示す情報であってよい。
【００７３】
ピッキングハンド４１２の軌道を示す情報としては、（ｉ）ピッキングハンド４１２の初期配置、通過配置及び最終配置、並びに、移動時間を示す情報、（ｉｉ）初期配置、通過配置及び最終配置におけるロボットアーム４１４の各関節の角度、並びに、移動時間を示す情報、（ｉｉｉ）移動時間中の各時刻におけるピッキングハンド４１２の配置を示す情報、（ｉｖ）移動時間中の各時刻におけるロボットアーム４１４の各関節の角度を示す情報などを例示することができる。ピッキングハンド４１２の配置は、例えば、ピッキングハンド４１２の位置及び姿勢により特定される。
【００７４】
図５は、移載制御装置１６０の内部構成の一例を概略的に示す。本実施形態において、移載制御装置１６０は、認識情報格納部５１０と、認識部５２０と、計画部５３０と、実行部５４０と、並行処理制御部５５０とを備える。
【００７５】
認識情報格納部５１０は、把持情報格納部の一例であってよい。認識部５２０は、オーダー情報取得部、画像取得部、点群情報取得部、把持情報抽出部、及び、容器情報取得部の一例であってよい。計画部５３０は、制御装置、及び、軌道情報生成部の一例であってよい。実行部５４０は、制御装置、及び、実行制御部の一例であってよい。並行処理制御部５５０は、実行時間推定部、及び、制約条件設定部の一例であってよい。
【００７６】
本実施形態において、認識情報格納部５１０は、認識部５２０における認識処理に関する各種の情報を格納する。一実施形態において、認識部５２０における認識処理に用いられる情報を格納する。例えば、認識情報格納部５１０は、１以上の種類の物品のそれぞれを識別する識別情報と、各物品の３次元情報、２次元情報及び特徴情報の少なくとも１つとを対応付けて格納する。これにより、認識部５２０は、供給パレット１２に収容された物品を認識したり、識別された物品の中から、移載装置１３０の作業対象となるワーク１０を認識したりすることができる。
【００７７】
認識情報格納部５１０は、各物品の原点情報、座標軸情報、把持情報及び仕様情報の少なくとも１つをさらに格納してよい。これらの情報は、例えば、計画部５３０により利用される。例えば、認識情報格納部５１０は、１以上の種類の物品のそれぞれを識別する識別情報と、各物品の３次元情報、２次元情報及び特徴情報の少なくとも１つと、各物品の原点情報、座標軸情報、把持情報及び仕様情報の少なくとも１つとを対応付けて格納する。
【００７８】
他の実施形態において、認識情報格納部５１０は、認識部５２０における認識処理により得られた情報を格納する。例えば、認識情報格納部５１０は、（ｉ）移載装置１３０の作業位置に配されている１以上の供給パレット１２のそれぞれの認識結果、（ｉｉ）当該１以上の供給パレット１２のそれぞれに収容されている物品の認識結果、（ｉｉｉ）当該認識された物品のうち、移載装置１３０の作業対象となるワーク１０の認識結果、（ｉｖ）当該１以上の供給パレット１２の表面の点群（ｐｏｉｎｔ  ｃｌｏｕｄ）、（ｖ）移載装置１３０の作業位置に配されている１以上の配送パレット１４のそれぞれの認識結果、（ｖｉ）当該１以上の配送パレット１４のそれぞれに収容されている物品の認識結果、（ｖｉｉ）当該１以上の配送パレット１４のそれぞれにおける移載後のワーク１０の認識結果、（ｖｉｉｉ）当該１以上の配送パレット１４の表面の点群などを格納する。上記の点群は、３次元の点群であってよい。
【００７９】
認識情報格納部５１０は、物品情報格納部２５０に格納されている物品に関する情報のうち、移載装置１３０の作業に必要な情報を格納してよい。例えば、認識情報格納部５１０は、過去に移載装置１３０の作業対象となった物品に関する情報、頻繁に移載装置１３０の作業対象となる物品に関する情報、移載装置１３０の作業対象となることが予定されている物品に関する情報、過去の作業履歴から近い将来に移載装置１３０の作業対象となることが予測される物品に関する情報などを格納する。これにより、認識部５２０は、目的とする情報を高速に抽出することができる。
【００８０】
認識情報格納部５１０は、データ登録装置１２０が取得したデータの登録先となる物品情報格納部２５０とは異なる媒体により実現されてよい。例えば、認識情報格納部５１０は、認識部５２０が、物品情報格納部２５０よりも高速にアクセスすることのできる媒体により実現される。これにより、認識部５２０は、目的とする情報を高速に抽出することができる。
【００８１】
本実施形態において、認識部５２０は、認識処理を実行する。例えば、計画部５３０は、物品管理装置１１０から、移載装置１３０の作業内容を示す作業情報を取得する。作業情報は、例えば、１以上の物品が移載装置１３０にピッキングされる順番を示す情報を含む。作業情報は、ユーザ注文情報であってもよい。作業情報は、オーダー情報の一例であってよい。また、認識部５２０は、撮像装置１５２及び撮像装置１５４から、移載装置１３０の作業位置に配されている１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの画像データを取得する。
【００８２】
本実施形態において、認識部５２０は、認識情報格納部５１０又は物品情報格納部２５０に格納されている情報を参照して、供給パレット１２、供給パレット１２に収容されている物品、配送パレット１４、配送パレット１４に収容されている物品、及び、移載装置１３０の作業対象となるワーク１０を認識する。認識部５２０は、認識結果を示す情報を計画部５３０に送信してよい。認識部５２０は、認識結果を示す情報を実行部５４０に送信してよい。認識部５２０は、認識結果を示す情報を認識情報格納部５１０に格納してよい。認識部５２０の詳細は後述する。
【００８３】
本実施形態において、計画部５３０は、計画処理を実行する。例えば、計画部５３０は、移載装置１３０の作業計画を作成する。より具体的には、計画部５３０は、ピッキングハンド４１２が、特定の供給パレット１２に収容されたワーク１０をピッキングし、当該ワークを特定の配送パレット１４に配置するための軌道を規定する軌道情報を生成する。特定の供給パレット１２は、１又は複数の供給容器に含まれる一の供給容器の一例であってよい。特定の配送パレット１４は、１又は複数の配置容器に含まれる一の配置容器の一例であってよい。
【００８４】
軌道情報は、例えば、ピッキングハンド４１２が、第１位置でワーク１０をピッキングし、当該ワークを第２位置に配置するための軌道を規定する。第２位置は、第１位置とは異なる位置であってよい。第１位置は、供給パレット１２の任意の位置又は特定の位置であってよい。第２位置は、配送パレット１４の任意の位置又は特定の位置であってよい。
【００８５】
本実施形態において、計画部５３０は、認識情報格納部５１０又は物品情報格納部２５０に格納されている把持情報を参照して、物品管理装置１１０からの作業情報及び認識部５２０の認識結果に基づいて、軌道情報を生成する。これにより、計画部５３０は、移載装置１３０の作業計画を作成することができる。計画部５３０は、生成された軌道情報に基づいて、ピッキングハンド４１２及びロボットアーム４１４の少なくとも一方を制御するための制御情報を生成してよい。計画部５３０は、生成された制御情報を実行部５４０に送信してよい。計画部５３０の詳細は後述する。
【００８６】
本実施形態において、実行部５４０は、実行処理を実行する。例えば、実行部５４０は、計画部５３０から制御情報を受信する。実行部５４０は、制御情報を、ロボット１４０の駆動制御部４３０に送信して、計画部５３０が生成した軌道情報に基づいて、ロボット１４０を動作させる。また、実行部５４０は、ロボット１４０の動作、供給パレット１２及び配送パレット１４を監視する。制御情報は、ロボット１４０に対する命令の一例であってよい。制御情報は、ロボット１４０に、ワーク１０に対する動作を開始させるための命令の一例であってよい。実行部５４０の詳細は後述する。
【００８７】
本実施形態において、認識部５２０は、認識処理を構成する複数の工程の一部を並行又は並列に処理してよい。同様に、計画部５３０は、計画処理を構成する複数の工程の一部を並行又は並列に処理してよい。実行部５４０は、実行処理を構成する複数の工程の一部を並行又は並列に処理してよい。また、移載制御装置１６０は、複数のワーク１０に関する認識処理、計画処理及び実行処理を並行又は並列に処理してよい。例えば、移載制御装置１６０は、第１のワークの実行処理を実行している間に、第２のワークの計画処理及び第３のワークの認識処理を実行する。上記の並行処理又は並列処理は、例えば、パイプライン処理技術により実現することができる。
【００８８】
本実施形態において、並行処理制御部５５０は、移載制御装置１６０における並行処理又は並列処理を制御する。一実施形態において、並行処理制御部５５０は、認識部５２０、計画部５３０及び実行部５４０のそれぞれの内部における並行処理又は並列処理を制御する。他の実施形態において、移載制御装置１６０が複数のワーク１０に関する処理を並行又は並列に処理する場合、並行処理制御部５５０は、認識部５２０、計画部５３０及び実行部５４０の間で、情報の送受が円滑に行われるように、認識部５２０、計画部５３０及び実行部５４０を制御する。
【００８９】
［並行処理制御部５５０による他の要素の制御の第１実施形態］
一実施形態において、並行処理制御部５５０は、ロボット１４０がワーク１０に対する動作を開始させるための制御情報を受信してから、ロボット１４０がワーク１０に対する動作を終了するまでの時間を推定する。例えば、軌道情報には、（ｉ）ピッキングハンド４１２の初期位置及び姿勢、（ｉｉ）ピッキングハンド４１２が、供給パレット１２上でワーク１０をピッキングする位置及び姿勢、（ｉｉｉ）ピッキングハンド４１２が、ワーク１０を配送パレット１４上に配置する位置及び姿勢、並びに、（ｉｖ）ワーク１０の移動時間に関する情報が含まれる。そこで、並行処理制御部５５０は、計画部５３０が生成した軌道情報に基づいて、上記の時間を推定してよい。
【００９０】
並行処理制御部５５０は、上記の推定結果に基づいて、認識部５２０、計画部５３０及び実行部５４０の少なくとも１つにおける処理の計算量又は計算時間に関する制約条件を決定してよい。例えば、並行処理制御部５５０は、上記の推定結果に基づいて、認識部５２０における認識処理を構成する複数の工程の少なくとも１つにおける処理の計算量又は計算時間に関する制約条件を決定する。認識部５２０は、上記の制約条件に基づいて、計算量又は計算時間を調整してよい。同様に、並行処理制御部５５０は、上記の推定結果に基づいて、計画部５３０における計画処理を構成する複数の工程の少なくとも１つにおける処理の計算量又は計算時間に関する制約条件を決定してよい。計画部５３０は、上記の制約条件に基づいて、計算量又は計算時間を調整してよい。
【００９１】
制約条件は、（ｉ）各処理の進捗が予め設定されたマイルストンに到達するまでの計算量又は計算時間の最大値、及び、（ｉｉ）各処理が完了するまでの計算量又は計算時間の最大値の少なくとも一方であってよい。上記の最大値は、上記の推定結果に基づいて決定されてよい。
【００９２】
例えば、移載制御装置１６０が、第１のワークの実行処理を実行している間に、第２のワークの計画処理及び第３のワークの認識処理を実行する場合、並行処理制御部５５０は、上記の推定時間が満了又は経過する前に、計画部５３０における第２のワークの計画処理が終了するように、第２のワークの計算処理の計算量又は計算時間の最大値を決定する。これにより、実行部５４０における第１のワークの実行処理が終了する前に、第２のワークに関する軌道情報又は制御情報を生成することができる。
【００９３】
同様に、並行処理制御部５５０は、計画部５３０における第２のワークの計画処理が終了する前に、認識部５２０における第３のワークの認識処理が終了するように、第３のワークの認識処理の計算量又は計算時間の最大値を決定してよい。並行処理制御部５５０は、実行部５４０における第１のワークの実行処理が終了する前に、認識部５２０における第３のワークの認識処理が終了するように、第３のワークの認識処理の計算量又は計算時間の最大値を決定してもよい。
【００９４】
［並行処理制御部５５０による他の要素の制御の第２実施形態］
他の実施形態において、並行処理制御部５５０は、認識部５２０、計画部５３０及び実行部５４０における処理のタイミングを調整する。例えば、並行処理制御部５５０は、認識部５２０における認識処理と、実行部５４０における実行処理との間でタイミングを調整する。より具体的には、並行処理制御部５５０は、認識部５２０が点群情報を取得する工程と、実行部５４０が異常を検出する工程との間でタイミングを調整する。
【００９５】
例えば、移載制御装置１６０が、第１のワークの実行処理を実行している間に、第２のワークの計画処理及び第３のワークの認識処理を実行する場合、実行部５４０は、ピッキングハンド４１２が第１のワークをピッキングする前後の期間において、供給パレット１２の点群情報を取得し、異常の有無を判定する。また、実行部５４０は、ピッキングハンド４１２が第１のワークを配置する前後の期間において、配送パレット１４の点群情報を取得し、異常の有無を判定する。これにより、異常の発生を迅速に検出することができる。一方、認識部５２０の認識処理においてが、例えば、第３のワークを認識する処理と、供給パレット１２又は配送パレット１４の点群情報を取得する処理とが並行して実行される。点群情報を取得する処理は、ワークを認識する処理と比較して計算時間が短いので、認識部５２０は、ワークを認識する処理が実行する間に、点群情報を取得する処理を複数回実行することができる。
【００９６】
そこで、並行処理制御部５５０は、例えば、認識部５２０を制御して、認識部５２０が供給パレット１２又は配送パレット１４の点群情報を取得する工程を開始するタイミングを、実行部５４０による第１のワークの実行処理の進捗に応じて調整する。一実施形態によれば、並行処理制御部５５０は、ピッキングハンド４１２が第１のワークをピッキングするタイミング又はピッキングハンド４１２を推定して、認識部５２０が当該タイミングに合わせて点群情報を取得する工程を開始するように、認識部５２０を制御する。並行処理制御部５５０は、計画部５３０が生成した軌道情報に基づいて、上記のタイミングを推定してよい。他の実施形態によれば、ピッキングハンド４１２が第１のワークをピッキングするタイミング又はピッキングハンド４１２が第１のワークを配置するタイミングにおいて、点群情報を取得する工程が実行中であった場合、認識部５２０は、当該工程を中断して、新たに点群情報を取得する処理を開始する。
【００９７】
図６は、認識部５２０の内部構成の一例を概略的に示す。本実施形態において、認識部５２０は、位置姿勢情報生成部６１０と、点群情報生成部６２０とを備える。位置姿勢情報生成部６１０は、画像取得部、点群情報取得部、容器情報取得部及び把持情報抽出部の一例であってよい。点群情報生成部６２０は、画像取得部及び点群情報取得部の一例であってよい。
【００９８】
本実施形態において、位置姿勢情報生成部６１０は、撮像装置１５２及び撮像装置１５４から、移載装置１３０の作業位置に配されている１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの画像データを取得する。位置姿勢情報生成部６１０は、撮像装置１５２及び撮像装置１５４から、移載装置１３０の作業位置に配されている１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの点群データを取得してもよい。上記の点群データは、３次元の点群データであってよい。
【００９９】
本実施形態において、位置姿勢情報生成部６１０は、物品管理装置１１０から作業情報を取得する。上述のとおり、作業情報は、例えば、１以上の物品が移載装置１３０にピッキングされる順番を示す情報を含む。作業情報は、移載装置１３０の作業対象となる物品の識別情報を含んでよい。作業情報は、作業対象となる物品を示す情報と、移動元の供給パレット１２を示す情報と、移動先の配送パレット１４を示す情報とを対応づけて格納してもよい。供給パレット１２が単一の種類の物品を収容する場合、移載装置１３０の作業対象となる物品の識別情報として、供給パレット１２の識別情報が用いられてもよい。
【０１００】
本実施形態において、位置姿勢情報生成部６１０は、（ｉ）供給パレット１２、（ｉｉ）供給パレット１２に収容されている１以上の物品の少なくとも一部、（ｉｉｉ）配送パレット１４、（ｉｖ）配送パレット１４に収容されている１以上の物品の少なくとも一部の少なくとも１つ（要素と称する場合がある。）を認識する。位置姿勢情報生成部６１０は、移載装置１３０の作業対象となるワーク１０を認識してもよい。位置姿勢情報生成部６１０は、認識された各要素の位置及び姿勢を認識する。位置姿勢情報生成部６１０は、認識された各要素の位置及び姿勢情報を示す位置姿勢情報を生成する。位置姿勢情報生成部６１０は、生成された位置姿勢情報を計画部５３０に送信する。
【０１０１】
位置姿勢情報生成部６１０は、例えば、下記の手順により、各要素の位置及び姿勢を認識する。例えば、位置姿勢情報生成部６１０は、まず、作業情報を解析して、作業対象となる物品を特定する。次に、位置姿勢情報生成部６１０は、認識情報格納部５１０にアクセスし、作業対象となる物品の識別情報をキーとして、認識情報格納部５１０に格納された情報の中から、当該識別情報と対応付けられた当該物品の２次元情報、３次元情報及び特徴情報の少なくとも１つを抽出する。このとき、位置姿勢情報生成部６１０は、作業対象となる物品の識別情報に対応づけられた把持情報を抽出してもよい。
【０１０２】
認識情報格納部５１０は、作業情報に含まれる物品のうち、一部の物品についてはその情報を格納していない場合がある。そこで、作業対象となる物品に関する情報が認識情報格納部５１０に格納されていない場合、位置姿勢情報生成部６１０は、物品情報格納部２５０にアクセスし、当該物品の識別情報をキーとして、物品情報格納部２５０に格納された情報の中から、当該識別情報と対応付けられた当該物品の２次元情報、３次元情報及び特徴情報の少なくとも１つを抽出する。このとき、位置姿勢情報生成部６１０は、作業対象となる物品の識別情報に対応づけられた把持情報を抽出してもよい。位置姿勢情報生成部６１０は、物品情報格納部２５０から情報を取得した場合、当該情報を、上記の物品の識別情報と対応付けて認識情報格納部５１０に格納してよい。
【０１０３】
次に、位置姿勢情報生成部６１０は、撮像装置１５２及び撮像装置１５４から、移載装置１３０の作業位置に配されている１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの画像データを取得する。認識部５２０は、撮像装置１５２及び撮像装置１５４から、移載装置１３０の作業位置に配されている１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの点群データを取得してもよい。これにより、位置姿勢情報生成部６１０は、供給パレット１２及び配送パレット１４の少なくとも一方の表面の状態に関する情報を取得することができる。
【０１０４】
次に、位置姿勢情報生成部６１０は、作業対象となる物品の２次元情報、３次元情報及び特徴情報の少なくとも１つを利用して、１以上の供給パレット１２のそれぞれの画像データ又は点群データを解析して、（ｉ）それぞれの供給パレット１２の位置及び姿勢と、（ｉｉ）それぞれの供給パレット１２に収容されている１以上の物品の少なくとも一部の位置及び姿勢とを認識する。同様にして、位置姿勢情報生成部６１０は、（ｉ）配送パレット１４の位置及び姿勢と、（ｉｉ）配送パレット１４に収容されている１以上の物品の少なくとも一部の位置及び姿勢とを認識する。
【０１０５】
位置姿勢情報生成部６１０は、１以上の供給パレット１２に収容された物品の中から、移載装置１３０の作業対象となるワーク１０を選択してもよい。位置姿勢情報生成部６１０は、既に位置及び姿勢が認識されている物品の中から、移載装置１３０の作業対象となるワーク１０を選択してよい。なお、ワーク１０を選択する処理は、計画部５３０において実行されてもよい。
【０１０６】
本実施形態において、点群情報生成部６２０は、供給パレット１２及び配送パレット１４の少なくとも一方の点群情報を生成する。点群情報生成部６２０は、例えば、下記の手順により、点群情報を生成する。一実施形態において、点群情報生成部６２０は、まず、撮像装置１５２及び撮像装置１５４から、移載装置１３０の作業位置に配されている１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの点群データを取得する。次に、点群情報生成部６２０は、１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの識別情報及び点群データを対応付けて、１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの点群情報を生成する。
【０１０７】
他の実施形態において、点群情報生成部６２０は、まず、撮像装置１５２及び撮像装置１５４から、移載装置１３０の作業位置に配されている１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの画像データを取得する。次に、点群情報生成部６２０は、移載装置１３０の作業位置に配されている１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの画像データに基づいて、１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの点群データを取得する。次に、点群情報生成部６２０は、１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの識別情報及び点群データを対応付けて、１以上の供給パレット１２及び１以上の配送パレット１４のそれぞれの点群情報を生成する。
【０１０８】
本実施形態において、点群情報生成部６２０は、点群情報を計画部５３０に送信する。点群情報生成部６２０は、点群情報を実行部５４０に送信してもよい。点群情報生成部６２０は、実行部５４０又は並行処理制御部５５０からの命令又は要求に応じて、点群情報を生成して、当該点群情報を実行部５４０に送信してもよい。
【０１０９】
図７は、計画部５３０の内部構成の一例を概略的に示す。本実施形態において、計画部５３０は、把持計画部７１０と、配置計画部７２０と、評価情報格納部７３０と、軌道候補抽出部７４０と、軌道計画部７５０と、制御情報生成部７６０とを備える。
【０１１０】
把持計画部７１０は、第１候補情報生成部の一例であってよい。配置計画部７２０は、第２候補情報生成部の一例であってよい。軌道候補抽出部７４０は、第１候補情報取得部、第２候補情報取得部及び抽出部の一例であってよい。軌道計画部７５０は、軌道情報生成部、軌道算出部、判定部、軌道決定部及び補間軌道生成部の一例であってよい。
【０１１１】
本実施形態において、把持計画部７１０は、ピッキングハンド４１２によるワーク１０の把持方法を計画する。具体的には、ピッキングハンド４１２が、供給パレット１２に収容されたワーク１０を把持するときのピッキングハンド４１２の位置及び姿勢を決定する。例えば、把持計画部７１０は、（ｉ）供給パレット１２の位置姿勢情報、（ｉｉ）供給パレット１２に収容されている１以上の物品の位置姿勢情報、（ｉｉｉ）供給パレット１２の点群情報、及び、（ｉｖ）認識部５２０が認識情報格納部５１０又は物品管理装置１１０から取得した把持情報を参照して、ピッキングハンド４１２がワーク１０を把持する位置（ピッキング位置と称する場合がある。）において、ピッキングハンド４１２が採り得る１以上の姿勢（把持候補と称する場合がある。）を抽出する。ピッキング位置は、第１位置の一例であってよい。
【０１１２】
例えば、把持計画部７１０は、供給パレット１２に収容されている１以上の物品の少なくとも一部について、ピッキングハンド４１２が、把持情報により示される把持方法に従って当該物品を把持した場合に、ピッキングハンド４１２が供給パレット１２及び他の物品と干渉するか否かを判定する。把持計画部７１０は、ピッキングハンド４１２が供給パレット１２及び他の物品と干渉しないと判定した場合、そのときのピッキングハンド４１２の位置及び姿勢を、把持候補として抽出する。把持計画部７１０は、並行処理制御部５５０により設定された計算量又は計算時間に関する制約条件の範囲内で、上記の判定処理を繰り返す。これにより、把持計画部７１０は、１以上の把持候補に関する情報を生成することができる。把持計画部７１０は、１以上の把持候補に関する情報を、軌道候補抽出部７４０に送信する。１以上の把持候補に関する情報は、第１候補情報の一例であってよい。
【０１１３】
本実施形態において、配置計画部７２０は、ピッキングハンド４１２によるワーク１０の配置方法を計画する。具体的には、ピッキングハンド４１２が、ワーク１０を配送パレット１４に配置するときのピッキングハンド４１２の位置及び姿勢を決定する。例えば、配置計画部７２０は、（ｉ）配送パレット１４の位置姿勢情報、（ｉｉ）配送パレット１４に収容されている１以上の物品の位置姿勢情報、（ｉｉｉ）配送パレット１４の点群情報、及び、（ｉｖ）認識部５２０が認識情報格納部５１０又は物品管理装置１１０から取得した把持情報を参照して、ピッキングハンド４１２がワーク１０を配置する位置（配置位置と称する場合がある。）において、ピッキングハンド４１２が採り得る１以上の姿勢（配置候補と称する場合がある。）を抽出する。配置位置は、第２位置の一例であってよい。
【０１１４】
例えば、配置計画部７２０は、ピッキングハンド４１２が、配送パレット１４の任意の位置又は特定の位置に、把持情報により示される把持方法に従ってワーク１０を配置した場合に、ピッキングハンド４１２及びワーク１０が配送パレット１４及び他の物品と干渉するか否かを判定する。配置計画部７２０は、ピッキングハンド４１２及びワーク１０が供給パレット１２及び他の物品と干渉しないと判定した場合、そのときのピッキングハンド４１２の位置及び姿勢を、配置候補として抽出する。配置計画部７２０は、並行処理制御部５５０により設定された計算量又は計算時間に関する制約条件の範囲内で、上記の判定処理を繰り返す。これにより、配置計画部７２０は、１以上の配置候補に関する情報を生成することができる。なお、配置計画部７２０は、ユーザ注文情報に含まれる全ての物品が配送パレット１４に配置されるまで、上記の判定処理を繰り返してもよい。配置計画部７２０は、１以上の配置候補に関する情報を、軌道候補抽出部７４０に送信する。１以上の配置候補に関する情報は、第２候補情報の一例であってよい。
【０１１５】
本実施形態において、評価情報格納部７３０は、軌道候補抽出部７４０が軌道候補の抽出処理において、１以上の軌道候補の中から、特定の軌道候補を抽出するための判断基準に関する情報（評価情報と称する場合がある。）を格納する。評価情報としては、（ｉ）ピッキングハンド４１２が、一の位置から、他の位置に移動する時間を評価するための情報、（ｉｉ）ピッキングハンド４１２が、一の位置から、他の位置及び姿勢に移動する時間を評価するための情報、（ｉｉｉ）ピッキングハンド４１２が、一の位置及び姿勢から、他の位置に移動する時間を評価するための情報、（ｉｖ）ピッキングハンド４１２が、一の位置及び姿勢から、他の位置及び姿勢に移動する時間を評価するための情報を例示することができる。一の位置から他の位置に移動する時間は、例えば、試運転時の実測値、過去の運転履歴、経験則などに基づいて評価されてよい。
【０１１６】
本実施形態において、軌道候補抽出部７４０は、ピッキングハンド４１２の軌道に関する複数の候補の中から、特定の候補（軌道候補と称する場合がある。）を抽出する。軌道候補は、例えば、ピッキングハンド４１２の初期配置及び最終配置により示される。軌道候補は、ピッキングハンド４１２の初期配置、１以上の通過配置、及び、最終配置により示されてもよい。ピッキングハンド４１２の初期配置、１以上の通過配置、及び、最終配置のそれぞれは、ピッキングハンド４１２の位置及び姿勢に関する情報を含んでもよい。ピッキングハンド４１２の初期配置、１以上の通過配置、及び、最終配置の少なくとも１つは、ピッキングハンド４１２の位置に関する情報を含み、ピッキングハンド４１２の姿勢に関する情報を含まなくてもよい。
【０１１７】
軌道候補抽出部７４０は、例えば、下記の手順により、軌道候補を抽出する。軌道候補抽出部７４０は、まず、把持計画部７１０から、１以上の把持候補に関する情報を受信する。これにより、例えば、Ｍ個（Ｍは、０又は１以上の整数である。）の把持候補を取得する。また、配置計画部７２０から、１以上の配置候補に関する情報を受信する。これにより、例えば、Ｎ個（Ｎは、０又は１以上の整数である。）の配置候補を取得する。
【０１１８】
このとき、軌道候補抽出部７４０は、ロボット１４０がワークに対する作業を開始するときのピッキングハンド４１２の位置（開始位置と称する場合がある。）、又は、ロボット１４０がワークに対する作業を開始するときのピッキングハンド４１２の位置及び姿勢を示す情報を取得してもよい。開始位置は、第３位置の一例であってよい。一実施形態において、ピッキングハンド４１２の開始位置は、直前のワークの配置位置であってよい。また、開始位置におけるピッキングハンド４１２の姿勢は、直前のワークの配置位置におけるピッキングハンド４１２の姿勢であってよい。他の実施形態において、ロボット１４０がワークに対する作業を開始するときのピッキングハンド４１２の位置及び姿勢が予め定められていてもよい。
【０１１９】
次に、軌道候補抽出部７４０は、Ｍ個の把持候補及びＮ個の配置候補に関するＭ×Ｎ個の組み合わせの中から、一の組み合わせを抽出する。軌道候補抽出部７４０は、抽出された組み合わせを示す情報を、軌道候補として軌道計画部７５０に送信する。
【０１２０】
軌道候補抽出部７４０は、例えば、下記の手順により、軌道候補となる組み合わせを抽出する。まず、軌道候補抽出部７４０は、Ｍ個の把持候補の１つと、Ｎ個の配置候補の１つとの組み合わせについて、ピッキングハンド４１２が、選択された把持候補により示される把持位置及び姿勢から、選択された配置候補により示される配置位置及び姿勢まで移動する時間に関する評価関数を算出する。軌道候補抽出部７４０は、評価情報格納部７３０に格納された情報を参照して、上記の評価関数を算出してよい。評価関数は、例えば、ピッキングハンド４１２が、（ｉ）把持位置において、選択された把持候補により示される姿勢でワークをピッキングし、（ｉｉ）配置位置において、選択された配置候補により示される姿勢でワークを配置するまでの時間の推定値に関する評価項目を含む。
【０１２１】
なお、軌道候補抽出部７４０は、軌道候補抽出部７４０は、開始位置及び姿勢を初期配置とし、把持位置及び姿勢を通過配置とし、配置位置及び姿勢を最終配置とする軌道について、上記の評価関数を算出してもよい。このとき、評価関数は、ピッキングハンド４１２が、（ｉ）開始位置から把持位置まで移動し、（ｉｉ）把持位置において、選択された把持候補により示される姿勢でワークをピッキングし、（ｉｉｉ）配置位置において、選択された配置候補により示される姿勢でワークを配置するまでの時間の推定値に関する評価項目を含んでよい。
【０１２２】
次に、軌道候補抽出部７４０は、並行処理制御部５５０により設定された計算量又は計算時間に関する制約条件の範囲内で、把持候補及び配置候補の組み合わせのそれぞれについて、評価関数の算出処理を繰り返す。軌道候補抽出部７４０は、評価関数が算出された組み合わせのうち、最も評価の高い組み合わせを軌道候補として選択する。例えば、評価関数が、ピッキングハンド４１２が開始位置から配置位置まで移動する時間の推定値である場合、当該推定値が小さい組み合わせ程、評価が高い。なお、軌道候補抽出部７４０は、算出された評価関数が予め定められた条件を満足する場合、上記の制約条件が満たされている場合であっても、評価関数の算出処理を中止して、そのときの把持候補及び配置候補の組み合わせを、軌道候補として選択してもよい。
【０１２３】
本実施形態において、軌道計画部７５０は、ピッキングハンド４１２が、把持位置でワークをピッキングし、当該ワークを配置位置に配置するための軌道を規定する軌道情報を生成する。軌道計画部７５０は、ピッキングハンド４１２が、開始位置から把持位置まで移動し、把持位置でワークをピッキングし、当該ワークを配置位置に配置するための軌道を規定する軌道情報を生成してもよい。軌道計画部７５０は、生成された軌道情報を制御情報生成部７６０に送信する。
【０１２４】
軌道計画部７５０は、例えば、下記の手順で軌道情報を生成する。軌道計画部７５０は、まず、軌道候補抽出部７４０から、把持候補及び配置候補の組み合わせを示す情報を受信する。次に、軌道計画部７５０は、ピッキングハンド４１２が、（ｉ）把持位置において、軌道候補抽出部７４０が抽出した組み合わせに含まれる把持候補により示される姿勢でワークをピッキングし、（ｉｉ）配置位置において、軌道候補抽出部７４０が抽出した組み合わせに含まれる配置候補により示される姿勢でワークを配置するための軌道を算出する。このとき、軌道計画部７５０は、ピッキングハンド４１２が、（ｉ）開始位置から把持位置まで移動し、（ｉｉ）把持位置において、軌道候補抽出部７４０が抽出した組み合わせに含まれる把持候補により示される姿勢でワークをピッキングし、（ｉｉｉ）配置位置において、軌道候補抽出部７４０が抽出した組み合わせに含まれる配置候補により示される姿勢でワークを配置するための軌道を算出してもよい。
【０１２５】
軌道計画部７５０は、予め定められたアルゴリズムに従って、把持候補及び配置候補の組み合わせから、上記の軌道を算出してよい。軌道計画部７５０は、生成された軌道が予め定められた条件を満足するように、把持候補及び配置候補の組み合わせから、上記の軌道を算出してもよい。
【０１２６】
次に、軌道計画部７５０は、算出された軌道上における干渉の有無を判定する。例えば、軌道計画部７５０は、ピッキングハンド４１２が算出された軌道に沿って移動するときに、他の物体（例えば、障害物、他の機器、ロボット１４０の他の要素などである。）と干渉するか否かを判定する。なお、ピッキングハンド４１２がワーク１０をピッキングした後の工程においては、軌道計画部７５０は、ピッキングハンド４１２及びワーク１０が、他の物体と干渉するか否かを判定する。
【０１２７】
軌道計画部７５０は、算出された軌道を複数の区間に分割し、区間ごとに干渉の有無を判定してもよい。区間ごとに干渉を判定する処理は、並行又は並列に実行されてよい。１つでも干渉が生じる区間が存在する場合、他の区間の判定処理が終了していないときであっても、軌道上で干渉が生じると判定できるので、判定時間を短縮することができる。
【０１２８】
軌道計画部７５０は、上記の判定結果に基づいて、ピッキングハンド４１２の軌道を決定する。例えば、軌道計画部７５０は、算出された軌道上で干渉が生じないと判断した場合、当該軌道の補間軌道を生成する。これにより、ワーク１０に過度な加速度が加わることを抑制できる。また、軌道計画部７５０は、上記の補間軌道を規定する軌道情報を生成する。軌道情報は、各時刻におけるロボットアーム４１４の各関節の角度を示す情報であってよい。
【０１２９】
一方、軌道計画部７５０は、算出された軌道上で干渉が生じると判断した場合、軌道候補抽出部７４０にアクセスして、先程の組み合わせの次に評価の高い組み合わせを示す情報を要求する。軌道計画部７５０は、軌道候補抽出部７４０から新たな組み合わせを示す情報を受信すると、上記と同様の手順に従って、軌道情報を生成する。次に評価の高い組み合わせは、他の組み合わせの一例であってよい。
【０１３０】
軌道計画部７５０は、軌道計画部７５０における計算量又は計算時間が予め定められた条件を満足する場合、現在の組み合わせに関する処理を中断する。例えば、軌道計画部７５０は、並行処理制御部５５０により設定された計算量又は計算時間に関する制約条件の範囲内で軌道情報を生成するように、上記の判定処理に割り当てる計算量又は計算時間を決定する。決定された計算量又は計算時間を越えても判定処理が終了しない場合、軌道計画部７５０は、現在の組み合わせに関する判定処理を中断する。その後、軌道計画部７５０は、軌道候補抽出部７４０にアクセスして、現在の組み合わせの次に評価の高い組み合わせを示す情報を要求する。軌道計画部７５０は、軌道候補抽出部７４０から新たな組み合わせを示す情報を受信すると、上記と同様の手順に従って、軌道情報を生成する。
【０１３１】
本実施形態において、制御情報生成部７６０は、ピッキングハンド４１２及びロボットアーム４１４を制御するための制御情報を生成する。例えば、制御情報生成部７６０は、軌道計画部７５０から、軌道情報を受信する。例えば、制御情報生成部７６０は、軌道計画部７５０が生成した軌道情報に、ピッキングハンド４１２及びロボットアーム４１４を制御するために必要となる他の情報を付与して、制御情報を生成する。制御情報生成部７６０は、軌道計画部７５０が生成した軌道情報を、ロボット１４０の種類に応じた形式に変換して、制御情報を生成してもよい。制御情報生成部７６０は、制御情報を実行部５４０に送信する。
【０１３２】
図８は、実行部５４０の内部構成の他の例を概略的に示す。本実施形態において、実行部５４０は、制御情報送信部８１０と、実行監視部８２０とを備える。制御情報送信部８１０は、命令送信部の一例であってよい。実行監視部８２０は、制御装置、点群情報取得部、異常検出部及び命令送信部の一例であってよい。
【０１３３】
本実施形態において、制御情報送信部８１０は、物流管理システム１００の各部に各種の制御情報を送信して、物流管理システム１００の少なくとも一部を制御する。制御情報送信部８１０は、移載装置１３０又は移載制御装置１６０を制御してもよい。例えば、制御情報送信部８１０は、駆動制御部４３０にロボット１４０を制御するための制御情報を送信して、ロボット１４０の動作を制御する。制御情報送信部８１０は、実行監視部８２０から、異常が検出されたことを示す検出信号を受信した場合、ロボット１４０の動作を中断させるための命令をロボット１４０に送信してもよい。
【０１３４】
制御情報送信部８１０は、撮像装置１５２及び撮像装置１５４を制御してもよい。例えば、制御情報送信部８１０は、撮像装置ごとに、撮像装置の位置、角度、倍率などを制御してよい。
【０１３５】
制御情報送信部８１０は、認識部５２０及び計画部５３０の少なくとも一方を制御してもよい。例えば、ロボット１４０に異常が生じた場合、制御情報送信部８１０は、認識部５２０及び計画部５３０に対して、現在の処理を中断して、新たな認識処理及び計画処理を開始させるための命令を送信する。制御情報送信部８１０は、点群情報生成部６２０に対して、特定のタイミングにおいて、供給パレット１２及び配送パレット１４の少なくとも一方の点群情報を送信するよう要求する。供給パレット１２及び配送パレット１４は、ピッキングハンド４１２及びワーク１０の少なくとも一方を含む領域の一例であってよい。
【０１３６】
上記の特定のタイミングとしては、（ｉ）ピッキングハンド４１２が、把持位置でワーク１０をピッキングするタイミング、（ｉｉ）ピッキングハンド４１２が、ワーク１０を供給パレット１２の外に搬出するタイミング、（ｉｉｉ）ピッキングハンド４１２が、ワーク１０を配送パレット１４に搬入するタイミング、及び、（ｉｖ）ピッキングハンド４１２が、ワーク１０を配置位置に配置するタイミングの少なくとも１つを例示することができる。これにより、干渉、荷崩れなどの異常を早期に検出することができる。
【０１３７】
本実施形態において、実行監視部８２０は、ロボット１４０の動作、供給パレット１２及び配送パレット１４を監視する。例えば、実行監視部８２０は、点群情報生成部６２０から、上記の特定のタイミングにおける供給パレット１２及び配送パレット１４の少なくとも一方の点群情報を受信する。実行監視部８２０は、上記の点群情報に基づいて、異常を検出する。実行監視部８２０は、（ｉ）上記の点群情報と、（ｉｉ）ロボット１４０に配されたセンサの測定値、ピッキングハンド４１２及びロボットアーム４１４の少なくとも一方の制御値、並びに、駆動部４２０のトルク、電圧値及び電流値の少なくとも１つからなる群から選択される少なくとも１つとに基づいて、異常を検出してもよい。
【０１３８】
実行監視部８２０は、異常を検出した場合、例えば、異常が検出されたことを示す検出信号を制御情報送信部８１０に送信する。実行監視部８２０は、異常を検出した場合、ロボット１４０の動作を中断させるための命令を、ロボット１４０に送信してもよい。
【０１３９】
図９は、移載制御装置１６０における情報処理の一例を概略的に示す。本実施形態によれば、まず、ステップ９０２（ステップをＳと省略して表す場合がある。）において、認識部５２０が、物品管理装置１１０からユーザ注文情報又は作業情報を受信する。認識部５２０は、ユーザ注文情報又は作業情報を解析する。例えば、認識部５２０は、ユーザ注文情報又は作業情報に基づいて、１以上の物品が移載装置１３０にピッキングされる順番を決定する。認識部５２０は、１以上の物品の識別情報が、移載装置１３０にピッキングされる順番に並んだ情報を生成してよい。
【０１４０】
Ｓ９１２において、認識部５２０が認識処理を実行する。Ｓ９１４において、計画部５３０が計画処理を実行する。Ｓ９１６において、実行部５４０が実行処理を実行する。また、実行部５４０は、ロボット１４０がワーク１０を移載している間、ロボット１４０の動作、供給パレット１２及び配送パレット１４を監視する。異常の発生が検出された場合、Ｓ９１６における処理を中断して、再度、Ｓ９１２から処理を開始する。
【０１４１】
次に、Ｓ９２０において、例えば実行部５４０が、ユーザ注文情報又は作業情報に含まれる全ての物品の移載処理が終了したか否かを判定する。実行部５４０は、全ての物品の移載処理が終了していると判定した場合（Ｓ９２０のＹｅｓの場合）、処理を終了する。一方、実行部５４０は、全ての物品の移載処理が終了していないと判定した場合（Ｓ９２０のＮｏの場合）、次の物品について、Ｓ９１２からＳ９２０の処理を実行する。
【０１４２】
図１０は、Ｓ９１２における認識処理の一例を概略的に示す。本実施形態においては、（ｉ）供給パレット１２に関する点群情報及び位置姿勢情報を生成する処理と、（ｉｉ）配送パレット１４に関する点群情報及び位置姿勢情報を生成する処理とが、並行又は並列に実行される。本実施形態においては、点群情報を生成する処理と、位置姿勢情報を生成する処理とが、並行又は並列に実行される。
【０１４３】
本実施形態によれば、Ｓ１０２２において、位置姿勢情報生成部６１０が、撮像装置１５２から供給パレット１２の画像データを取得する。また、点群情報生成部６２０が、撮像装置１５２から供給パレット１２の点群データを取得する。点群情報生成部６２０は、供給パレット１２の画像データに基づいて、供給パレット１２の点群データを生成してもよい。
【０１４４】
次に、Ｓ１０２４において、点群情報生成部６２０が、供給パレット１２の点群情報を生成する。また、Ｓ１０２６において、位置姿勢情報生成部６１０が、供給パレット１２及び供給パレット１２に収容された物品の位置姿勢情報を生成する。本実施形態において、Ｓ１０２４及びＳ１０２６は、並行又は並列に実行される。なお、Ｓ１０２６が１回実行される間に、Ｓ１０２４が複数回実行されてもよい。
【０１４５】
一方、Ｓ１０４２において、位置姿勢情報生成部６１０が、撮像装置１５４から配送パレット１４の画像データを取得する。また、点群情報生成部６２０が、撮像装置１５４から配送パレット１４の点群データを取得する。点群情報生成部６２０は、配送パレット１４の画像データに基づいて、配送パレット１４の点群データを生成してもよい。本実施形態において、Ｓ１０２２及びＳ１０４２は、並行又は並列に実行される。
【０１４６】
次に、Ｓ１０４４において、点群情報生成部６２０が、配送パレット１４の点群情報を生成する。また、Ｓ１０４６において、位置姿勢情報生成部６１０が、配送パレット１４及び配送パレット１４に収容された物品の位置姿勢情報を生成する。本実施形態において、Ｓ１０４４及びＳ１０４６は、並行又は並列に実行される。なお、Ｓ１０４６が１回実行される間に、Ｓ１０４４が複数回実行されてもよい。
【０１４７】
図１１は、Ｓ９１４における計画処理の一例を概略的に示す。本実施形態においては、把持計画部７１０において把持候補を抽出する処理と、配置計画部７２０において配置候補を抽出する処理とが、並行又は並列に実行される。本実施形態によれば、Ｓ１１２０において、把持計画部７１０が把持候補を抽出する。また、Ｓ１１４０において、配置計画部７２０が配置候補を抽出する。本実施形態において、Ｓ１１２０及びＳ１１４０は、並行又は並列に実行される。その後、Ｓ１１６０において、軌道候補抽出部７４０が軌道候補を抽出し、軌道計画部７５０が軌道を決定する。また、Ｓ１１８０において、決定された軌道の補間軌道を生成する。
【０１４８】
図１２は、Ｓ１１６０における軌道計画処理の一例を概略的に示す。本実施形態においては、軌道候補抽出部７４０が、Ｍ個の把持候補及びＮ個の配置候補に関するＭ×Ｎ個の組み合わせの少なくとも一部について評価関数を算出する処理が、並行又は並列に実行される。本実施形態によれば、Ｓ１２０２において、軌道候補抽出部７４０が、Ｍ個の把持候補及びＮ個の配置候補に関するＭ×Ｎ個の組み合わせのそれぞれについて評価関数を算出する。このとき、軌道候補抽出部７４０は、Ｍ×Ｎ個の組み合わせのそれぞれについて評価関数を算出する処理を、並行又は並列に実行する。その後、Ｓ１２０４において、軌道候補抽出部７４０が、各組み合わせの評価関数に基づいて、Ｍ×Ｎ個の組み合わせの中から、１つの組み合わせを抽出する。
【０１４９】
次に、Ｓ１２０６において、軌道計画部７５０が、ピッキングハンド４１２が、（ｉ）把持位置において、軌道候補抽出部７４０が抽出した組み合わせに含まれる把持候補により示される姿勢でワークをピッキングし、（ｉｉ）配置位置において、軌道候補抽出部７４０が抽出した組み合わせに含まれる配置候補により示される姿勢でワークを配置するための軌道を算出する。
【０１５０】
Ｓ１２０８において、軌道計画部７５０が、算出された軌道上における干渉の有無を判定する。本実施形態において、軌道計画部７５０は、算出された軌道を複数の区間に分割し、区間ごとに干渉の有無を判定する。軌道上の全ての区間で干渉が生じないと判定された場合（Ｓ１２０８のＹｅｓの場合）、軌道計画部７５０は、処理を終了する。なお、この場合であっても、並行処理制御部５５０により設定された計算量又は計算時間に関する制約条件の範囲内で、Ｓ１２０４からＳ１２０８までの処理が繰り返されてもよい。一方、軌道上の少なくとも一部の区間で干渉が生じると判定された場合（Ｓ１２０８のＮｏの場合）、Ｓ１２０４からＳ１２０８までの処理が繰り返される。
【０１５１】
図１３は、Ｓ１２０８における干渉確認処理の一例を概略的に示す。本実施形態において、軌道計画部７５０は、Ｓ１２０６において算出された軌道を複数の区間に分割し、区間ごとに干渉の有無を判定する。また、軌道計画部７５０は、少なくとも２つの区間における判定処理を並行又は並列に実行する。本実施形態によれば、Ｓ１３０２において、軌道計画部７５０が、Ｓ１２０６において算出された軌道上における干渉の有無を判定する。軌道計画部７５０は、Ｓ１２０６において算出された軌道を複数の区間に分割し、それぞれの区間について、干渉の有無を判定する。軌道計画部７５０は、例えば、全ての区間における判定処理を並行又は並列に実行する。
【０１５２】
各区間における判定処理において、判定処理が終了する前に計算時間又は計算量が事前に定められた閾値を超えた場合（Ｓ１３０４のＹｅｓ）には、全ての区間における判定処理を中止して、Ｓ１２０４の処理に戻る。一方、計算時間又は計算量が事前に定められた閾値を超える前に判定処理が終了した場合であって、一の区間において干渉が生じると判定されたときには（Ｓ１３０６のＹｅｓ）、全ての区間における判定処理を中止して、Ｓ１２０４の処理に戻る。一方、計算時間又は計算量が事前に定められた閾値を超える前に判定処理が終了した場合であって、当該区間において干渉が生じないと判定されたときには（Ｓ１３０６のＮｏ）、当該区間における判定処理を終了する。
【０１５３】
図１４、図１５及び図１６を用いて、移載制御装置１６０におけるワーク間又はオーダー間での並行処理について説明する。図１４は、データテーブル１４００の一例を概略的に示す。図１５は、ワーク間での並行処理の一例を概略的に示す。図１６は、ワーク間での並行処理の一例を概略的に示す。
【０１５４】
図１４に示されるとおり、本実施形態において、データテーブル１４００は、ワークＩＤ１４１０と、オーダーＩＤ１４２０と、オーダーの内容１４３０とを対応付けて格納する。オーダーの内容１４３０は、例えば、移載対象となる物品を識別するための物品ＩＤ１４３２と、供給パレットを識別するための供給パレットＩＤ１４３４と、配送パレットを識別するための配送パレットＩＤ１４３６とを含む。
【０１５５】
図１５に示されるとおり、本実施形態によれば、計画部５３０は、ワークＩＤ１４１０がＷ＿０００１であるワークの計画処理を実行した後、ワークＩＤ１４１０がＷ＿０００１であるワークの実行処理が完了する前に、ワークＩＤ１４１０がＷ＿０００２であるワークの計画処理、及び、ワークＩＤ１４１０がＷ＿０００３であるワークの認識処理を実行する。これにより、ワークＩＤ１４１０がＷ＿０００１であるワークの実行処理が実行されている間に、ワークＩＤ１４１０がＷ＿０００２であるワークの計画処理が実行され、且つ、ワークＩＤ１４１０がＷ＿０００３であるワークの認識処理が実行される。
【０１５６】
ワークＩＤ１４１０がＷ＿０００２であるワークの計画処理の計算量又は計算時間は、例えば、ワークＩＤ１４１０がＷ＿０００１であるワークの実行処理が完了する前に当該計画処理が終了するように、調整される。より具体的には、並行処理制御部５５０が、下記の手順により、計画部５３０の計算量又は計算時間を調整する。
【０１５７】
例えば、並行処理制御部５５０は、ロボット１４０が、ワークＩＤ１４１０がＷ＿０００１であるワークに対する制御情報を受信してから、当該当該ワークに対する動作を終了するまでの時間を推定する。並行処理制御部５５０は、ワークＩＤ１４１０がＷ＿０００１であるワークの軌道情報に基づいて、上記の時間を推定してもよい。上記の時間は、制約条件の一例であってよい。並行処理制御部５５０は、上記の推定結果を計画部５３０に送信する。
【０１５８】
一方、計画部５３０は、並行処理制御部５５０が推定した時間が満了又は経過する前に、ワークＩＤ１４１０がＷ＿０００２であるワークの計画処理が完了するように、当該ワークの計画処理の計算量を調整する。例えば、Ｓ１３０４における閾値の値を調整することで、計画処理の計算量を調整する。
【０１５９】
図１６に示されるとおり、ワークＩＤ１４１０がＷ＿０００１であるワークの認識処理においては、供給パレットＩＤ１４３４がＳ＿０００１である供給パレット１２の認識処理と、配送パレットＩＤ１４３６がＤ＿０００１である配送パレット１４の認識処理とが並行又は並列に実行される。また、それぞれの供給パレット１２の認識処理においては、点群情報の生成処理と、位置姿勢情報の生成処理とが並行又は並列に実行される。同様に、それぞれの配送パレット１４の認識処理においては、点群情報の生成処理と、位置姿勢情報の生成処理とが並行又は並列に実行される。
【０１６０】
本実施形態において、認識処理が１回実行される間に、点群情報の生成処理が複数回実行される。これにより、認識部５２０は、適切なタイミングで、点群情報を、他の要素（例えば、実行部５４０である。）に提供することができる。また、他の要素における、点群情報が提供されるまでの間の待ち時間が減少する。
【０１６１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。また、各構成要素は、名称が同一で、参照符号が異なる他の構成要素と同様の特徴を有してもよい。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【０１６２】
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【０１６３】
例えば、本願明細書には、下記の事項が記載されている。
［項目１−１］
ピッキングハンドを用いて第１位置でピッキングしたワークを、上記第１位置とは異なる第２位置に配置するピッキング装置を制御するための制御装置であって、
上記第１位置において上記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第１候補情報を取得する第１候補情報取得部と、
上記第２位置において上記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第２候補情報を取得する第２候補情報取得部と、
上記第１候補情報により示される１以上の姿勢、及び、上記第２候補情報により示される１以上の姿勢に関する１以上の組み合わせの中から、一の組み合わせを抽出する抽出部と、
上記ピッキングハンドが、（ｉ）上記第１位置において、上記一の組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉ）上記第２位置において、上記一の組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するための軌道を算出する軌道算出部と、
上記軌道算出部が算出した軌道上における干渉の有無を判定する判定部と、
を備える、制御装置。
［項目１−２］
上記判定部が、上記軌道上で干渉が生じると判断した場合、
上記抽出部は、上記１以上の組み合わせの中から、他の組み合わせを抽出し、
上記軌道算出部は、上記ピッキングハンドが、（ｉ）上記第１位置において、上記他の組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉ）上記第２位置において、上記他の組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するための軌道を算出し、
上記判定部は、上記軌道算出部が算出した、上記他の組み合わせに関する軌道上における干渉の有無を判定する、
項目１−１に記載の制御装置。
［項目１−３］
上記抽出部、上記軌道算出部及び上記判定部の少なくとも１つにおける計算量又は計算時間が予め定められた条件を満足する場合、
上記抽出部は、上記１以上の組み合わせの中から、他の組み合わせを抽出し、
上記軌道算出部は、上記ピッキングハンドが、（ｉ）上記第１位置において、上記他の組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉ）上記第２位置において、上記他の組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するための軌道を算出し、
上記判定部は、上記軌道算出部が算出した、上記他の組み合わせに関する軌道上における干渉の有無を判定する、
項目１−１に記載の制御装置。
［項目１−４］
上記軌道算出部は、上記ピッキングハンドが、（ｉ）上記ピッキング装置が上記ワークに対する作業を開始するときの上記ピッキングハンドの位置である第３位置から、上記第１位置に移動し、（ｉｉ）上記第１位置において、上記抽出部が抽出した組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉｉ）上記第２位置において、上記抽出部が抽出した組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するための軌道を算出する、
項目１−１から項目１−３までの何れか一項に記載の制御装置。
［項目１−５］
上記抽出部は、
上記１以上の組み合わせの少なくとも一部について、評価関数を算出し、
上記評価関数に基づいて、上記一の組み合わせを選択する、
項目１−１から項目１−４までの何れか一項に記載の制御装置。
［項目１−６］
上記評価関数は、上記ピッキングハンドが、（ｉ）上記第１位置において、上記評価関数による評価の対象となる組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉ）上記第２位置において、上記評価関数による評価の対象となる組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するまでの時間の推定値に関する評価項目を含む、
項目１−５に記載の制御装置。
［項目１−７］
上記評価関数は、上記ピッキングハンドが、（ｉ）上記ピッキング装置が上記ワークに対する作業を開始するときの上記ピッキングハンドの位置である第３位置から、上記第１位置に移動し、（ｉｉ）上記第１位置において、上記評価関数による評価の対象となる組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉｉ）上記第２位置において、上記評価関数による評価の対象となる組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するまでの時間の推定値に関する評価項目を含む、
項目１−５に記載の制御装置。
［項目１−８］
上記判定部は、
上記軌道算出部が算出した軌道を複数の区間に分割し、
区間ごとに干渉の有無を判定する、
項目１−１から項目１−７までの何れか一項に記載の制御装置。
［項目１−９］
上記判定部の判定結果に基づいて、上記ピッキングハンドの軌道を決定する軌道決定部をさらに備える、
項目１−１から項目１−８までの何れか一項に記載の制御装置。
［項目１−１０］
上記軌道決定部は、上記軌道算出部が算出した軌道の補間軌道を生成する補間軌道生成部を有する、
項目１−９に記載の制御装置。
［項目１−１１］
項目１−１から項目１−１０までの何れか一項に記載の制御装置と、
上記ピッキング装置と、
を備える、ピッキングシステム。
［項目１−１２］
項目１−１から項目１−１０までの何れか一項に記載の制御装置と、
上記ピッキング装置と、
上記ワークを搬送する搬送装置と、
を備える、物流システム。
［項目１−１３］
コンピュータを、項目１−１から項目１−１０までの何れか一項に記載の制御装置として機能させるためのプログラム。
［項目１−１４］
ピッキングハンドを用いて第１位置でピッキングしたワークを、上記第１位置とは異なる第２位置に配置するピッキング装置を制御するための制御方法であって、
上記第１位置において上記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第１候補情報を取得する第１候補情報取得段階と、
上記第２位置において上記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第２候補情報を取得する第２候補情報取得段階と、
上記第１候補情報により示される１以上の姿勢、及び、上記第２候補情報により示される１以上の姿勢に関する１以上の組み合わせの中から、一の組み合わせを抽出する抽出段階と、
上記ピッキングハンドが、（ｉ）上記第１位置において、上記一の組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉ）上記第２位置において、上記一の組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するための軌道を算出する軌道算出段階と、
上記軌道算出段階において算出された軌道上における干渉の有無を判定する判定段階と、
を有する、制御方法。
［項目１−１５］
ピッキングハンドを用いて第１位置でピッキングしたワークを、上記第１位置とは異なる第２位置に配置するピッキング装置を使用して、上記ワークが配置された容器を生産する方法であって、
上記容器の特定の位置を上記第２位置として設定する段階と、
上記第１位置において上記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第１候補情報を取得する第１候補情報取得段階と、
上記第２位置において上記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第２候補情報を取得する第２候補情報取得段階と、
上記第１候補情報により示される１以上の姿勢、及び、上記第２候補情報により示される１以上の姿勢に関する１以上の組み合わせの中から、一の組み合わせを抽出する抽出段階と、
上記ピッキングハンドが、（ｉ）上記第１位置において、上記一の組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉ）上記第２位置において、上記一の組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するための軌道を算出する軌道算出段階と、
上記軌道算出段階において算出された軌道上における干渉の有無を判定する判定段階と、
を有する、
容器を生産する方法。
【０１６４】
［項目２−１］
ピッキングハンドを用いて、第１容器の第１位置でピッキングしたワークを、上記第１容器とは異なる第２容器の第２位置に配置するピッキング装置を制御するための制御装置であって、
上記ピッキングハンドが、上記第１位置で上記ワークをピッキングし、当該ワークを上記第２位置に配置するための軌道を規定する軌道情報を生成する軌道情報生成部と、
上記軌道情報生成部が生成した軌道情報に基づいて、上記ピッキング装置を動作させる実行制御部と、
上記ピッキング装置が上記ワークに対する動作を開始させるための命令を受信してから、上記ピッキング装置が上記ワークに対する動作を終了するまでの時間を推定する実行時間推定部と、
を備え、
上記軌道情報生成部は、上記実行時間推定部の推定結果に基づいて計算量を調整する、
制御装置。
［項目２−２］
上記軌道情報生成部は、第１ワークに関する軌道情報を生成するための処理を実行した後、上記第１ワークの移動が完了する前に、上記第１ワークとは異なる第２ワークに関する軌道情報を生成するための処理を実行し、
上記実行時間推定部は、上記ピッキング装置が上記第１ワークに対する動作を開始させるための命令を受信してから、上記ピッキング装置が上記第１ワークに対する動作を終了するまでの第１時間を、上記軌道情報生成部が生成した上記第１ワークに関する軌道情報に基づいて推定し、
上記軌道情報生成部は、上記実行時間推定部が推定した上記第１時間が満了又は経過する前に、上記第２ワークに関する軌道情報を生成するための処理が完了するように、上記第２ワークに関する軌道情報を生成するための処理の計算量を調整する、
項目２−１に記載の制御装置。
［項目２−３］
上記軌道情報生成部は、上記第１ワークに関する軌道情報を生成するための処理における演算結果を利用して、上記第２ワークに関する軌道情報を生成する、
項目２−２に記載の制御装置。
［項目２−４］
上記軌道情報生成部は、
上記第１位置において上記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第１候補情報を取得する第１候補情報取得部と、
上記第２位置において上記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第２候補情報を取得する第２候補情報取得部と、
上記第１候補情報により示される１以上の姿勢、及び、上記第２候補情報により示される１以上の姿勢に関する１以上の組み合わせの中から、一の組み合わせを抽出する抽出部と、
上記ピッキングハンドが、（ｉ）上記第１位置において、上記一の組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉ）上記第２位置において、上記一の組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するための軌道を算出する軌道算出部と、
上記軌道算出部が算出した軌道上における干渉の有無を判定する判定部と、
を有する、
項目２−１から項目２−３までの何れか一項に記載の制御装置。
［項目２−５］
上記判定部が、上記軌道上で干渉が生じると判断した場合、
上記抽出部は、上記１以上の組み合わせの中から、他の組み合わせを抽出し、
上記軌道算出部は、上記ピッキングハンドが、（ｉ）上記第１位置において、上記他の組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉ）上記第２位置において、上記他の組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するための軌道を算出し、
上記判定部は、上記軌道算出部が算出した、上記他の組み合わせに関する軌道上における干渉の有無を判定する、
項目２−４に記載の制御装置。
［項目２−６］
上記抽出部、上記軌道算出部及び上記判定部の少なくとも１つにおける計算量又は計算時間が予め定められた条件を満足する場合、
上記抽出部は、上記１以上の組み合わせの中から、他の組み合わせを抽出し、
上記軌道算出部は、上記ピッキングハンドが、（ｉ）上記第１位置において、上記他の組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉ）上記第２位置において、上記他の組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するための軌道を算出し、
上記判定部は、上記軌道算出部が算出した、上記他の組み合わせに関する軌道上における干渉の有無を判定する、
項目２−４に記載の制御装置。
［項目２−７］
上記実行時間推定部の推定結果に基づいて、上記抽出部、上記軌道算出部、及び、上記判定部の少なくとも１つにおける処理の計算量又は計算時間に関する制約条件を決定する制約条件設定部をさらに備え、
上記抽出部、上記軌道算出部、及び、上記判定部の上記少なくとも１つは、上記制約条件設定部が設定した制約条件に基づいて、計算量又は計算時間を調整する、
項目２−４から項目２−６までの何れか一項に記載の制御装置。
［項目２−８］
上記制約条件は、（ｉ）当該処理の進捗が予め設定されたマイルストンに到達するまでの計算量又は計算時間の最大値、及び、（ｉｉ）当該処理が完了するまでの計算量又は計算時間の最大値の少なくとも一方である、
項目２−７に記載の制御装置。
［項目２−９］
上記抽出部は、
上記１以上の組み合わせの少なくとも一部について、評価関数を算出し、
上記評価関数に基づいて、上記一の組み合わせを選択する、
項目２−４から項目２−８までの何れか一項に記載の制御装置。
［項目２−１０］
上記判定部は、
上記軌道算出部が算出した軌道を複数の区間に分割し、
区間ごとに干渉の有無を判定する、
項目２−４から項目２−９までの何れか一項に記載の制御装置。
［項目２−１１］
上記軌道情報生成部は、上記判定部の判定結果に基づいて、上記ピッキングハンドの軌道を決定する軌道決定部をさらに有する、
項目２−４から項目２−１０までの何れか一項に記載の制御装置。
［項目２−１２］
項目２−１から項目２−１１までの何れか一項に記載の制御装置と、
上記ピッキング装置と、
を備える、ピッキングシステム。
［項目２−１３］
項目２−１から項目２−１０までの何れか一項に記載の制御装置と、
上記ピッキング装置と、
上記ワークを搬送する搬送装置と、
を備える、物流システム。
［項目２−１４］
コンピュータを、項目２−１から項目２−１１までの何れか一項に記載の制御装置として機能させるためのプログラム。
［項目２−１５］
ピッキングハンドを用いて、第１容器の第１位置でピッキングしたワークを、上記第１容器とは異なる第２容器の第２位置に配置するピッキング装置を制御するための制御方法であって、
上記ピッキングハンドが、上記第１位置で前記ワークをピッキングし、当該ワークを上記第２位置に配置するための軌道を規定する軌道情報を生成する軌道情報生成段階と、
上記軌道情報生成段階において生成された軌道情報に基づいて、上記ピッキング装置を動作させる実行制御段階と、
上記実行制御段階において、上記ピッキング装置が上記ワークに対する動作を開始させるための命令を受信してから、上記ピッキング装置が上記ワークに対する動作を終了するまでの時間を推定する実行時間推定段階と、
を有し、
上記軌道情報生成段階は、上記実行時間推定段階における推定結果に基づいて計算量を調整する段階を含む、
制御方法。
［項目２−１６］
ピッキングハンドを用いて、第１容器の第１位置でピッキングしたワークを、上記第１容器とは異なる第２容器の第２位置に配置するピッキング装置を使用して、上記ワークが配置された上記第２容器を生産する生産方法であって、
上記ピッキングハンドが、上記第１位置で前記ワークをピッキングし、当該ワークを上記第２位置に配置するための軌道を規定する軌道情報を生成する軌道情報生成段階と、
上記軌道情報生成段階において生成された軌道情報に基づいて、上記ピッキング装置を動作させる実行制御段階と、
上記実行制御段階において、上記ピッキング装置が上記ワークに対する動作を開始させるための命令を受信してから、上記ピッキング装置が上記ワークに対する動作を終了するまでの時間を推定する実行時間推定段階と、
を有し、
上記軌道情報生成段階は、上記実行時間推定段階における推定結果に基づいて計算量を調整する段階を含む、
生産方法。
【０１６５】
［項目３−１］
ピッキングハンドを用いて、第１容器の第１位置でピッキングしたワークを、上記第１容器とは異なる第２容器の第２位置に配置するピッキング装置を制御するための制御装置であって、
（ｉ）上記ピッキングハンドが、上記第１位置で上記ワークをピッキングするタイミング、（ｉｉ）上記ピッキングハンドが、上記ワークを上記第１容器の外に搬出するタイミング、（ｉｉｉ）上記ピッキングハンドが、上記ワークを上記第２容器の中に搬入するタイミング、及び、（ｉｖ）上記ピッキングハンドが、上記ワークを上記第２位置に配置するタイミングの少なくとも１つのタイミングにおける、上記ピッキングハンド及び上記ワークの少なくとも一方を含む領域の点群情報を取得する点群情報取得部と、
上記点群情報取得部が取得した点群情報に基づいて、異常を検出する異常検出部と、
を備える、制御装置。
［項目３−２］
上記少なくとも１つのタイミングにおいて、上記ピッキングハンド及び上記ワークの少なくとも一方を画角に含む画像の画像データを取得する画像取得部をさらに備え、
上記点群情報取得部は、上記画像取得部が取得した画像に基づいて、上記点群情報を取得する、
項目３−１に記載の制御装置。
［項目３−３］
上記点群情報は、３次元の点群情報である、
項目３−１又は項目３−２に記載の制御装置。
［項目３−４］
上記異常検出部は、（ｉ）上記点群情報と、（ｉｉ）上記ピッキング装置に配されたセンサの測定値、上記ピッキングハンド及び上記ピッキングハンドと連結するロボットアームの少なくとも一方の制御値、並びに、上記ピッキングハンド及び上記ロボットアームの少なくとも一方を駆動する駆動部のトルク、電圧値及び電流値の少なくとも１つからなる群から選択される少なくとも１つとに基づいて、異常を検出する、
項目３−１から項目３−３までの何れか一項に記載の制御装置。
［項目３−５］
上記異常検出部が異常を検出した場合に、上記ピッキング装置の動作を中断させるための命令を、上記ピッキング装置に送信する命令送信部をさらに備える、
項目３−１から項目３−４までの何れか一項に記載の制御装置。
［項目３−６］
項目３−１から項目３−５までの何れか一項に記載の制御装置と、
上記ピッキング装置と、
を備える、ピッキングシステム。
［項目３−７］
項目３−１から項目３−５までの何れか一項に記載の制御装置と、
上記ピッキング装置と、
上記ワークを搬送する搬送装置と、
を備える、物流システム。
［項目３−８］
コンピュータを、項目３−１から項目３−５までの何れか一項に記載の制御装置として機能させるためのプログラム。
［項目３−９］
ピッキングハンドを用いて、第１容器の第１位置でピッキングしたワークを、上記第１容器とは異なる第２容器の第２位置に配置するピッキング装置を制御するための制御方法であって、
（ｉ）上記ピッキングハンドが、上記第１位置で上記ワークをピッキングするタイミング、（ｉｉ）上記ピッキングハンドが、上記ワークを上記第１容器の外に搬出するタイミング、（ｉｉｉ）上記ピッキングハンドが、上記ワークを上記第２容器の中に搬入するタイミング、及び、（ｉｖ）上記ピッキングハンドが、上記ワークを上記第２位置に配置するタイミングの少なくとも１つのタイミングにおける、上記ピッキングハンド及び上記ワークの少なくとも一方を含む領域の点群情報を取得する点群情報取得手順と、
上記点群情報取得手順において取得された点群情報に基づいて、異常を検出する異常検出手順と、
を有する、制御方法。
【０１６６】
［項目４−１］
ピッキングハンドを用いて、１又は複数のワークを、１又は複数の供給容器から１又は複数の配置容器に移動させるピッキング装置を制御するための制御装置であって、
上記ピッキングハンドが、上記１又は複数の供給容器に含まれる一の供給容器に収容された上記１又は複数のワークの１つをピッキングし、当該ワークを、上記１又は複数の配置容器に含まれる一の配置容器に配置するための軌道を規定する軌道情報を生成する軌道情報生成部を備え、
上記軌道情報生成部は、
上記１又は複数のワークに含まれる第１ワークに関する軌道情報を生成するための処理を実行した後、上記第１ワークの移動が完了する前に、
上記第１ワークに関する軌道情報を生成するための処理における演算結果を利用して、上記１又は複数のワークに含まれ、上記第１ワークとは異なる第２ワークに関する軌道情報を生成する、
制御装置。
［項目４−２］
上記一の供給容器の表面の状態、及び、上記一の配置容器の表面の状態の少なくとも一方に関する情報を取得する容器情報取得部をさらに備え、
上記軌道情報生成部は、
（ａ）上記第１ワークに関する軌道情報を生成するための処理において、上記ピッキング装置が上記第１ワークを移動させる前の上記一の供給容器における、上記第１ワークの位置及び姿勢に関する情報を取得又は生成し、
（ｂ）上記第２ワークに関する軌道情報を生成するための処理において、（ｉ）上記第１ワークの移動が完了する前に上記容器情報取得部が取得した情報、及び、（ｉｉ）上記一の供給容器における上記第１ワークの位置及び姿勢に関する情報を利用して、上記第２ワークに関する軌道情報を生成する、
項目４−１に記載の制御装置。
［項目４−３］
上記一の供給容器及び上記一の配置容器の少なくとも一方の表面の状態に関する情報を取得する容器情報取得部をさらに備え、
上記軌道情報生成部は、
（ａ）上記第１ワークに関する軌道情報を生成するための処理において、上記ピッキング装置が上記第１ワークを移動させた後の上記一の配置容器における、上記第１ワークの位置及び姿勢に関する情報を取得又は生成し、
（ｂ）上記第２ワークに関する軌道情報を生成するための処理において、（ｉ）上記第１ワークの移動が完了する前に、上記容器情報取得部が取得した情報、及び、（ｉｉ）上記一の配置容器における上記第１ワークの位置及び姿勢に関する情報を利用して、上記第２ワークに関する軌道情報を生成する、
項目４−１に記載の制御装置。
［項目４−４］
（ｉ）上記１又は複数のワークを、上記１又は複数の供給容器の少なくとも１つから、上記１又は複数の配置容器に含まれる第１配置容器に移動させることを指示する第１オーダー情報、及び、（ｉｉ）上記１又は複数のワークを、上記１又は複数の供給容器の少なくとも１つから、上記１又は複数の配置容器に含まれ、上記第１配置容器とは異なる第２配置容器に移動させることを指示する第２オーダー情報を取得するオーダー情報取得部をさらに備え、
上記軌道情報生成部は、
上記オーダー情報取得部が、上記第１オーダー情報及び上記第２オーダー情報の一方を取得したことに応じて、上記第１ワークに関する軌道情報を生成するための処理を実行し、
上記オーダー情報取得部が、上記第１オーダー情報及び上記第２オーダー情報の他方を取得したことに応じて、上記第２ワークに関する軌道情報を生成するための処理を実行する、
項目４−１から項目４−３までの何れか一項に記載の制御装置。
［項目４−５］
上記第１オーダー情報は、上記第１ワークを、上記１又は複数の供給容器に含まれる第１供給容器から上記第１配置容器に移動させることを指示し、
上記第２オーダー情報は、上記第２ワークを、上記第１供給容器から上記第２配置容器に移動させることを指示し、
上記軌道情報生成部は、
上記オーダー情報取得部が上記第１オーダー情報を取得したことに応じて、上記第１ワークに関する軌道情報を生成するための処理を実行し、
上記オーダー情報取得部が上記第２オーダー情報を取得したことに応じて、上記第２ワークに関する軌道情報を生成するための処理を実行する、
項目４−４に記載の制御装置。
［項目４−６］
（ｉ）上記１又は複数のワークを、上記１又は複数の供給容器に含まれる第１供給容器から、上記１又は複数の配置容器の少なくとも１つに移動させることを指示する第１オーダー情報、及び、（ｉｉ）上記１又は複数のワークを、上記１又は複数の供給容器に含まれ、上記第１供給容器とは異なる第２供給容器から、上記１又は複数の配置容器の少なくとも１つに移動させることを指示する第２オーダー情報を取得するオーダー情報取得部をさらに備え、
上記軌道情報生成部は、
上記オーダー情報取得部が、上記第１オーダー情報及び上記第２オーダー情報の一方を取得したことに応じて、上記第１ワークに関する軌道情報を生成するための処理を実行し、
上記オーダー情報取得部が、上記第１オーダー情報及び上記第２オーダー情報の他方を取得したことに応じて、上記第２ワークに関する軌道情報を生成するための処理を実行する、
項目４−１から項目４−３までの何れか一項に記載の制御装置。
［項目４−７］
上記第１オーダー情報は、上記第１ワークを、上記第１供給容器から上記１又は複数の供給容器に含まれる第１配置容器に移動させることを指示し、
上記第２オーダー情報は、上記第２ワークを、上記第２供給容器から上記第１配置容器に移動させることを指示し、
上記軌道情報生成部は、
上記オーダー情報取得部が上記第１オーダー情報を取得したことに応じて、上記第１ワークに関する軌道情報を生成するための処理を実行し、
上記オーダー情報取得部が上記第２オーダー情報を取得したことに応じて、上記第２ワークに関する軌道情報を生成するための処理を実行する、
項目４−６に記載の制御装置。
［項目４−８］
（ｉ）上記第１ワークを、上記１又は複数の供給容器に含まれる第１供給容器から、上記１又は複数の配置容器に含まれる第１配置容器に移動させることを指示する第１オーダー情報、及び、（ｉｉ）上記第２ワークを、上記１又は複数の供給容器に含まれ、上記第１供給容器とは異なる第２供給容器から、上記１又は複数の配置容器に含まれ、上記第１配置容器とは異なる第２配置容器に移動させることを指示する第２オーダー情報を取得するオーダー情報取得部をさらに備え、
上記軌道情報生成部は、
上記オーダー情報取得部が上記第１オーダー情報を取得したことに応じて、上記第１ワークに関する軌道情報を生成するための処理を実行し、
上記オーダー情報取得部が上記第２オーダー情報を取得したことに応じて、上記第２ワークに関する軌道情報を生成するための処理を実行する、
項目４−１から項目４−３までの何れか一項に記載の制御装置。
［項目４−９］
項目４−１から項目４−８までの何れか一項に記載の制御装置と、
上記ピッキング装置と、
を備える、ピッキングシステム。
［項目４−１０］
項目４−１から項目４−８までの何れか一項に記載の制御装置と、
上記ピッキング装置と、
上記１又は複数のワークを搬送する搬送装置と、
を備える、物流システム。
［項目４−１１］
コンピュータを、項目４−１から項目４−８までの何れか一項に記載の制御装置として機能させるためのプログラム。
［項目４−１２］
ピッキングハンドを用いて、１又は複数のワークを、１又は複数の供給容器から１又は複数の配置容器に移動させるピッキング装置を制御するための制御方法であって、
上記ピッキングハンドが、上記１又は複数の供給容器に含まれる一の供給容器に収容された上記１又は複数のワークの１つをピッキングし、当該ワークを、上記１又は複数の配置容器に含まれる一の配置容器に配置するための軌道を規定する軌道情報を生成する軌道情報生成段階を有し、
上記軌道情報生成段階は、
上記１又は複数のワークに含まれる第１ワークに関する軌道情報を生成するための処理を実行した後、上記第１ワークの移動が完了する前に、上記第１ワークに関する軌道情報を生成するための処理における演算結果を利用して、上記１又は複数のワークに含まれ、上記第１ワークとは異なる第２ワークに関する軌道情報を生成する段階を含む、
制御方法。
［項目４−１３］
ピッキングハンドを用いて、１又は複数のワークを、１又は複数の供給容器から１又は複数の配置容器に移動させるピッキング装置を使用して、上記１又は複数のワークが配置された上記１又は複数の配置容器を生産する生産方法であって、
上記ピッキングハンドが、上記１又は複数の供給容器に含まれる一の供給容器に収容された上記１又は複数のワークの１つをピッキングし、当該ワークを、上記１又は複数の配置容器に含まれる一の配置容器に配置するための軌道を規定する軌道情報を生成する軌道情報生成段階を有し、
上記軌道情報生成段階は、
上記１又は複数のワークに含まれる第１ワークに関する軌道情報を生成するための処理を実行した後、上記第１ワークの移動が完了する前に、上記第１ワークに関する軌道情報を生成するための処理における演算結果を利用して、上記１又は複数のワークに含まれ、上記第１ワークとは異なる第２ワークに関する軌道情報を生成する段階を含む、
生産方法。
【０１６７】
［項目５−１］
対象物の３次元情報を取得する３次元情報取得部と、
ピッキングハンドを用いて上記対象物を把持する方法を定義する把持情報を取得する把持情報取得部と、
（ｉ）上記３次元情報取得部が取得した上記対象物の３次元情報と、（ｉｉ）上記把持情報取得部が取得した把持情報とを対応付けて、記憶装置に格納する情報管理部と、
を備えた、情報処理装置。
［項目５−２］
上記対象物の３次元情報は、原点情報及び座標軸情報の少なくとも一方を含む、
項目５−１に記載の情報処理装置。
［項目５−３］
上記対象物の２次元情報を取得する２次元情報取得部をさらに備え、
上記情報管理部は、（ｉ）上記３次元情報取得部が取得した上記対象物の３次元情報と、（ｉｉ）上記把持情報取得部が取得した把持情報と、（ｉｉｉ）上記２次元情報取得部が取得した上記対象物の２次元情報とを対応付けて、上記記憶装置に格納する、
項目５−１又は項目５−２に記載の情報処理装置。
［項目５−４］
上記２次元情報取得部が取得した上記対象物の２次元情報に基づいて、上記対象物を認識するための特徴情報を取得する特徴情報取得部をさらに備え、
上記情報管理部は、（ｉ）上記３次元情報取得部が取得した上記対象物の３次元情報と、（ｉｉ）上記把持情報取得部が取得した把持情報と、（ｉｉｉ）上記２次元情報取得部が取得した上記対象物の２次元情報と、（ｉｖ）上記特徴情報取得部が取得した上記対象物の特徴情報とを対応付けて、上記記憶装置に格納する、
項目５−３に記載の情報処理装置。
［項目５−５］
上記対象物の２次元情報を取得する２次元情報取得部と、
上記２次元情報取得部が取得した上記対象物の２次元情報に基づいて、上記対象物を認識するための特徴情報を取得する特徴情報取得部と、
をさらに備え、
上記情報管理部は、（ｉ）上記３次元情報取得部が取得した上記対象物の３次元情報と、（ｉｉ）上記把持情報取得部が取得した把持情報と、（ｉｉｉ）上記特徴情報取得部が取得した上記対象物の特徴情報とを対応付けて、上記記憶装置に格納する、
項目５−１又は項目５−２に記載の情報処理装置。
［項目５−６］
上記２次元情報は、上記対象物を３以上の方向から撮像した３以上の画像の画像データである、
項目５−３から項目５−５までの何れか一項に記載の情報処理装置。
［項目５−７］
上記記憶装置をさらに備えた、
項目５−１から項目５−６までの何れか一項に記載の情報処理装置。
［項目５−８］
上記情報管理部は、（ｉ）上記３次元情報取得部が取得した上記対象物の３次元情報と、（ｉｉ）上記把持情報取得部が取得した把持情報と、（ｉｉｉ）上記対象物を識別するための識別情報とを対応付けて、記憶装置に格納する、
項目５−１から項目５−７までの何れか一項に記載の情報処理装置。
［項目５−９］
ピッキングハンドを用いて第１位置でピッキングしたワークを、上記第１位置とは異なる第２位置に配置するピッキング装置を制御するためのピッキング制御部と、
ピッキング装置の作業対象となる少なくとも１つのワークの識別情報を含むオーダー情報を取得するオーダー情報取得部と、
１以上のワークの識別情報と、上記１以上のワークの把持情報とを対応付けて格納する把持情報格納部と、
（ｉ）上記記憶装置にアクセスして、上記オーダー情報取得部が取得したオーダー情報に含まれる上記少なくとも１つのワークの識別情報のうち、上記把持情報格納部に格納されていない識別情報に合致する上記対象物の識別情報と対応付けられた上記把持情報を抽出し、（ｉｉ）上記把持情報格納部に格納されていない識別情報と、上記抽出された把持情報とを対応付けて、上記把持情報格納部に格納する把持情報抽出部と、
をさらに備え、
上記把持情報格納部は、上記記憶装置とは異なる媒体により実現される、
項目５−８に記載の情報処理装置。
［項目５−１０］
上記把持情報格納部に格納された把持情報を参照して、上記第１位置において上記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第１候補情報を生成する第１候補情報生成部と、
上記把持情報格納部に格納された把持情報を参照して、上記第２位置において上記ピッキングハンドが採り得る１以上の姿勢のそれぞれを示す第２候補情報を生成する第２候補情報生成部と、
上記第１候補情報により示される１以上の姿勢、及び、上記第２候補情報により示される１以上の姿勢に関する１以上の組み合わせの中から、一の組み合わせを抽出する抽出部と、
上記ピッキングハンドが、（ｉ）上記第１位置において、上記一の組み合わせに含まれる上記第１位置に関する姿勢で上記ワークをピッキングし、（ｉｉ）上記第２位置において、上記一の組み合わせに含まれる上記第２位置に関する姿勢で上記ワークを配置するための軌道を算出する軌道算出部と、
上記軌道算出部が算出した軌道上における干渉の有無を判定する判定部と、
をさらに備える、
項目５−９に記載の情報処理装置。
［項目５−１１］
項目５−９又は項目５−１０に記載の情報処理装置と、
上記ピッキング装置と、
を備える、ピッキングシステム。
［項目５−１２］
項目５−９又は項目５−１０に記載の情報処理装置と、
上記ピッキング装置と、
上記ワークを搬送する搬送装置と、
を備える、物流システム。
［項目５−１３］
コンピュータを、項目５−１から項目５−１０までの何れか一項に記載の情報処理装置として機能させるためのプログラム。
［項目５−１４］
コンピュータが、対象物の３次元情報を取得する３次元情報取得段階と、
コンピュータが、ピッキングハンドを用いて上記対象物を把持する方法を定義する把持情報を取得する把持情報取得段階と、
コンピュータが、（ｉ）上記３次元情報取得部が取得した上記対象物の３次元情報と、（ｉｉ）上記把持情報取得部が取得した把持情報とを対応付けて、記憶装置に格納する情報管理段階と、
を有する、情報処理方法。
【符号の説明】
【０１６８】
１０  ワーク、１２  供給パレット、１４  配送パレット、１００  物流管理システム、１１０  物品管理装置、１２０  データ登録装置、１３０  移載装置、１４０  ロボット、１５２  撮像装置、１５４  撮像装置、１６０  移載制御装置、１７０  搬送装置、１７２  コンベア、１７４  コンベア、２１０  注文情報取得部、２２０  搬送装置管理部、２３０  移載装置管理部、２４０  要求処理部、２５０  物品情報格納部、３１２  ３次元情報取得部、３１４  ２次元情報取得部、３１６  質量情報取得部、３２０  物品情報登録部、３３０  入出力部、３４０  登録情報生成部、３４２  座標情報付与部、３４４  把持情報付与部、３４６  仕様情報付与部、３５０  登録要求送信部、４１０  マニュピレータ、４１２  ピッキングハンド、４１４  ロボットアーム、４２０  駆動部、４３０  駆動制御部、５１０  認識情報格納部、５２０  認識部、５３０  計画部、５４０  実行部、５５０  並行処理制御部、６１０  位置姿勢情報生成部、６２０  点群情報生成部、７１０  把持計画部、７２０  配置計画部、７３０  評価情報格納部、７４０  軌道候補抽出部、７５０  軌道計画部、７６０  制御情報生成部、８１０  制御情報送信部、８２０  実行監視部、１４００  データテーブル、１４１０  ワークＩＤ、１４２０  オーダーＩＤ、１４３０  内容、１４３２  物品ＩＤ、１４３４  供給パレットＩＤ、１４３６  配送パレットＩＤ
【要約】
対象物の３次元情報を取得する３次元情報取得部と、ピッキングハンドを用いて対象物を把持する方法を定義する把持情報を取得する把持情報取得部と、（ｉ）３次元情報取得部が取得した対象物の３次元情報と、（ｉｉ）把持情報取得部が取得した把持情報とを対応付けて、記憶装置に格納する情報管理部とを備える。対象物の３次元情報は、原点情報及び座標軸情報の少なくとも一方を含んでよい。対象物の２次元情報を取得する２次元情報取得部をさらに備えてよい。【図１】
0006363294.tif 000002
【図２】
0006363294.tif 000003
【図３】
0006363294.tif 000004
【図４】
0006363294.tif 000005
【図５】
0006363294.tif 000006
【図６】
0006363294.tif 000007
【図７】
0006363294.tif 000008
【図８】
0006363294.tif 000009
【図９】
0006363294.tif 000010
【図１０】
0006363294.tif 000011
【図１１】
0006363294.tif 000012
【図１２】
0006363294.tif 000013
【図１３】
0006363294.tif 000014
【図１４】
0006363294.tif 000015
【図１５】
0006363294.tif 000016
【図１６】
0006363294.tif 000017