このアプリケーションの一部のコンテンツは現時点では利用できません。
このような状況が続く場合は、にお問い合わせくださいフィードバック & お問い合わせ
1. (WO2018185852) 制御装置、ピッキングシステム、物流システム、プログラム、制御方法、及び、生産方法
Document

明 細 書

発明の名称 制御装置、ピッキングシステム、物流システム、プログラム、制御方法、及び、生産方法

技術分野

0001  

背景技術

0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016  

図面の簡単な説明

0017  

発明を実施するための形態

0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169  

符号の説明

0170  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16  

図面

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16  

明 細 書

発明の名称 : 制御装置、ピッキングシステム、物流システム、プログラム、制御方法、及び、生産方法

技術分野

[0001]
 本発明は、制御装置、ピッキングシステム、物流システム、プログラム、制御方法、及び、生産方法に関する。

背景技術

[0002]
 ピッキングハンド及びロボットアームを利用して、容器に収納されたワークを取り出し、当該ワークを他の容器内の特定の位置に配置するピッキングシステムが知られている。
 [先行技術文献]
 [特許文献]
 [特許文献1] 特開2016-091053号公報
 [特許文献2] 特開2016-147330号公報
 [特許文献3] 特開2017-033429号公報

解決しようとする課題

[0003]
 障害物との干渉を考慮して自動的にワークの軌道を算出する場合、計算量が非常に多く、実用的な時間内に軌道を算出することが難しい。

一般的開示

[0004]
 本発明の第1の態様においては、制御装置が提供される。上記の制御装置は、ピッキング装置を制御するための制御装置であってよい。上記の制御装置において、ピッキング装置は、ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、第1容器とは異なる第2容器の第2位置に配置してよい。上記の制御装置は、例えば、ピッキングハンドが、第1位置でワークをピッキングし、当該ワークを第2位置に配置するための軌道を規定する軌道情報を生成する軌道情報生成部を備える。上記の制御装置は、例えば、軌道情報生成部が生成した軌道情報に基づいて、ピッキング装置を動作させる実行制御部を備える。上記の制御装置は、例えば、ピッキング装置がワークに対する動作を開始させるための命令を受信してから、ピッキング装置がワークに対する動作を終了するまでの時間を推定する実行時間推定部を備える。上記の制御装置において、軌道情報生成部は、実行時間推定部の推定結果に基づいて計算量を調整してよい。
[0005]
 上記の制御装置において、軌道情報生成部は、第1ワークに関する軌道情報を生成するための処理を実行した後、第1ワークの移動が完了する前に、第1ワークとは異なる第2ワークに関する軌道情報を生成するための処理を実行してよい。上記の制御装置において、実行時間推定部は、ピッキング装置が第1ワークに対する動作を開始させるための命令を受信してから、ピッキング装置が第1ワークに対する動作を終了するまでの第1時間を、軌道情報生成部が生成した第1ワークに関する軌道情報に基づいて推定してよい。上記の制御装置において、軌道情報生成部は、実行時間推定部が推定した第1時間が満了又は経過する前に、第2ワークに関する軌道情報を生成するための処理が完了するように、第2ワークに関する軌道情報を生成するための処理の計算量を調整してよい。上記の制御装置において、軌道情報生成部は、第1ワークに関する軌道情報を生成するための処理における演算結果を利用して、第2ワークに関する軌道情報を生成してよい。
[0006]
 上記の制御装置において、軌道情報生成部は、第1位置においてピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第1候補情報を取得する第1候補情報取得部を有してよい。上記の制御装置において、軌道情報生成部は、第2位置においてピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第2候補情報を取得する第2候補情報取得部を有してよい。上記の制御装置において、軌道情報生成部は、第1候補情報により示される1以上の姿勢、及び、第2候補情報により示される1以上の姿勢に関する1以上の組み合わせの中から、一の組み合わせを抽出する抽出部を有してよい。上記の制御装置において、軌道情報生成部は、ピッキングハンドが、(i)第1位置において、一の組み合わせに含まれる第1位置に関する姿勢でワークをピッキングし、(ii)第2位置において、一の組み合わせに含まれる第2位置に関する姿勢でワークを配置するための軌道を算出する軌道算出部を有してよい。上記の制御装置において、軌道情報生成部は、軌道算出部が算出した軌道上における干渉の有無を判定する判定部を有してよい。
[0007]
 上記の制御装置において、判定部が、軌道上で干渉が生じると判断した場合、抽出部は、1以上の組み合わせの中から、他の組み合わせを抽出してよい。上記の制御装置において、判定部が、軌道上で干渉が生じると判断した場合、軌道算出部は、ピッキングハンドが、(i)第1位置において、他の組み合わせに含まれる第1位置に関する姿勢でワークをピッキングし、(ii)第2位置において、他の組み合わせに含まれる第2位置に関する姿勢でワークを配置するための軌道を算出してよい。上記の制御装置において、判定部が、軌道上で干渉が生じると判断した場合、判定部は、軌道算出部が算出した、他の組み合わせに関する軌道上における干渉の有無を判定してよい。
[0008]
 上記の制御装置において、抽出部、軌道算出部及び判定部の少なくとも1つにおける計算量又は計算時間が予め定められた条件を満足する場合、抽出部は、1以上の組み合わせの中から、他の組み合わせを抽出してよい。上記の制御装置において、抽出部、軌道算出部及び判定部の少なくとも1つにおける計算量又は計算時間が予め定められた条件を満足する場合、軌道算出部は、ピッキングハンドが、(i)第1位置において、他の組み合わせに含まれる第1位置に関する姿勢でワークをピッキングし、(ii)第2位置において、他の組み合わせに含まれる第2位置に関する姿勢でワークを配置するための軌道を算出してよい。上記の制御装置において、抽出部、軌道算出部及び判定部の少なくとも1つにおける計算量又は計算時間が予め定められた条件を満足する場合、判定部は、軌道算出部が算出した、他の組み合わせに関する軌道上における干渉の有無を判定してよい。
[0009]
 上記の制御装置は、実行時間推定部の推定結果に基づいて、抽出部、軌道算出部、及び、判定部の少なくとも1つにおける処理の計算量又は計算時間に関する制約条件を決定する制約条件設定部を備えてよい。上記の制御装置において、抽出部、軌道算出部、及び、判定部の少なくとも1つは、制約条件設定部が設定した制約条件に基づいて、計算量又は計算時間を調整してよい。上記の制御装置において、制約条件は、(i)当該処理の進捗が予め設定されたマイルストンに到達するまでの計算量又は計算時間の最大値、及び、(ii)当該処理が完了するまでの計算量又は計算時間の最大値の少なくとも一方であってよい。
[0010]
 上記の制御装置において、抽出部は、1以上の組み合わせの少なくとも一部について、評価関数を算出してよい。上記の制御装置において、抽出部は、評価関数に基づいて、一の組み合わせを選択してよい。上記の制御装置において、判定部は、軌道算出部が算出した軌道を複数の区間に分割してよい。上記の制御装置において、判定部は、区間ごとに干渉の有無を判定してよい。上記の制御装置において、軌道情報生成部は、判定部の判定結果に基づいて、ピッキングハンドの軌道を決定する軌道決定部を有してよい。
[0011]
 本発明の第2の態様においては、ピッキングシステムが提供される。上記のピッキングシステムは、例えば、上記の制御装置を備える。上記のピッキングシステムは、例えば、上記のピッキング装置を備える。
[0012]
 本発明の第3の態様においては、物流システムが提供される。上記の物流システムは、例えば、上記の制御装置を備える。上記の物流システムは、例えば、上記のピッキング装置を備える。上記の物流システムは、例えば、ワークを搬送する搬送装置を備える。
[0013]
 本発明の第4の態様においては、プログラムが提供される。上記のプログラムを格納する非一時的コンピュータ可読媒体が提供されてもよい。上記のプログラムは、コンピュータを、上記の制御装置として機能させるためのプログラムであってよい。
[0014]
 本発明の第5の態様においては、制御方法が提供される。上記の制御方法は、ピッキング装置を制御するための制御方法であってよい。上記の制御方法は、コンピュータにより実行されてもよい。上記の制御方法において、ピッキング装置は、ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、第1容器とは異なる第2容器の第2位置に配置してよい。上記の制御方法は、例えば、ピッキングハンドが、(i)第1位置において、一の組み合わせに含まれる第1位置に関する姿勢でワークをピッキングし、(ii)第2位置において、一の組み合わせに含まれる第2位置に関する姿勢でワークを配置するための軌道を規定する軌道情報を生成する軌道情報生成段階を有する。上記の制御方法は、例えば、軌道情報生成段階において生成された軌道情報に基づいて、ピッキング装置を動作させる実行制御段階を有する。上記の制御方法は、例えば、実行制御段階において、ピッキング装置がワークに対する動作を開始させるための命令を受信してから、ピッキング装置がワークに対する動作を終了するまでの時間を推定する実行時間推定段階を有する。上記の制御方法において、軌道情報生成段階は、実行時間推定部の推定結果に基づいて計算量を調整する段階を含んでよい。
[0015]
 本発明の第6の態様においては、生産方法が提供される。上記の方法は、ピッキング装置を使用して、ワークが配置された第2容器を生産する生産方法であってよい。上記の方法において、ピッキング装置は、ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、第1容器とは異なる第2容器の第2位置に配置してよい。上記の方法は、例えば、ピッキングハンドが、(i)第1位置において、一の組み合わせに含まれる第1位置に関する姿勢でワークをピッキングし、(ii)第2位置において、一の組み合わせに含まれる第2位置に関する姿勢でワークを配置するための軌道を規定する軌道情報を生成する軌道情報生成段階を有する。上記の方法は、例えば、軌道情報生成段階において生成された軌道情報に基づいて、ピッキング装置を動作させる実行制御段階を有する。上記の方法は、例えば、実行制御段階において、ピッキング装置がワークに対する動作を開始させるための命令を受信してから、ピッキング装置がワークに対する動作を終了するまでの時間を推定する実行時間推定段階を有する。上記の方法において、軌道情報生成段階は、実行時間推定段階における推定結果に基づいて計算量を調整する段階を含んでよい。
[0016]
 なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。

図面の簡単な説明

[0017]
[図1] 物流管理システム100のシステム構成の一例を概略的に示す。
[図2] 物品管理装置110の内部構成の一例を概略的に示す。
[図3] データ登録装置120の内部構成の一例を概略的に示す。
[図4] ロボット140の内部構成の一例を概略的に示す
[図5] 移載制御装置160の内部構成の一例を概略的に示す。
[図6] 認識部520の内部構成の一例を概略的に示す。
[図7] 計画部530の内部構成の一例を概略的に示す。
[図8] 実行部540の内部構成の他の例を概略的に示す。
[図9] 移載制御装置160における情報処理の一例を概略的に示す。
[図10] S912における認識処理の一例を概略的に示す。
[図11] S914における計画処理の一例を概略的に示す。
[図12] S1160における軌道計画処理の一例を概略的に示す。
[図13] S1208における干渉確認処理の一例を概略的に示す。
[図14] データテーブル1400の一例を概略的に示す。
[図15] ワーク間での並行処理の一例を概略的に示す。
[図16] ワーク間での並行処理の一例を概略的に示す。

発明を実施するための形態

[0018]
 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
[0019]
 [物流管理システム100の概要]
 図1は、物流管理システム100のシステム構成の一例を概略的に示す。本実施形態において、物流管理システム100は、物品管理装置110と、データ登録装置120と、移載装置130と、搬送装置170とを備える。本実施形態において、移載装置130は、ロボット140と、撮像装置152と、撮像装置154と、移載制御装置160とを有する。本実施形態において、搬送装置170は、供給パレット12を搬送するコンベア172と、配送パレット14を搬送するコンベア174とを有する。
[0020]
 供給パレット12は、第1容器及び供給容器の一例であってよい。配送パレット14は、第2容器及び配置容器の一例であってよい。物流管理システム100は、制御装置、情報処理装置、ピッキングシステム及び物流システムの一例であってよい。物品管理装置110は、記憶装置の一例であってよい。データ登録装置120は、情報処理装置の一例であってよい。移載装置130は、ピッキング装置及びピッキングシステムの一例であってよい。ロボット140は、ピッキング装置の一例であってよい。撮像装置152は、画像取得部の一例であってよい。撮像装置154は、画像取得部の一例であってよい。移載制御装置160は、制御装置及びピッキング制御部の一例であってよい。
[0021]
 本実施形態において、物流管理システム100は、複数種類の物品の入庫、保管及び出庫を管理する。例えば、物流管理システム100は、ユーザからの注文に基づいて、保管されている物品を配送用の容器に詰め替えて、配送用の荷物を作製する。
[0022]
 配送用の荷物は、例えば、下記の手順により作製される。まず、搬送装置170のコンベア172が、ユーザが注文した物品を収容する供給パレット12を、移載装置130の作業位置まで搬送する。一実施形態において、供給パレット12は、1個の物品を収容する。他の実施形態において、供給パレット12は、同一種類の物品を複数個収容する。さらに他の実施形態において、供給パレット12は、複数種類の物品を収容する。また、搬送装置170のコンベア174が、配送パレット14を、移載装置130の作業位置まで搬送する。
[0023]
 次に、移載装置130が、供給パレット12に収容された物品の中から、移載装置130の作業対象となるワーク10を特定する。また、移載装置130は、配送パレット14の特定の位置又は任意の位置を、上記のワーク10の配置位置として設定する。移載装置130は、供給パレット12のワーク10を、配送パレット14の特定の位置又は任意の位置に移動させるための軌道を決定する。移載装置130は、(i)特定されたワーク10をピッキングして、供給パレット12から取り出し、(ii)配送パレット14の特定の位置又は任意の位置に配置する。
[0024]
 ユーザが注文した他の物品が、上記の供給パレット12に収容されている場合、移載装置130は、上記と同様の作業を繰り返す。ユーザが注文した他の物品が、他の供給パレット12に収容されている場合、コンベア172が、上記の供給パレット12を移載装置130の作業位置から搬出し、上記の他の供給パレット12を移載装置130の作業位置まで搬送する。移載装置130は、他の供給パレット12に収容された他の物品に関して、上記と同様の作業を繰り返す。そして、ユーザが注文した全ての物品が配送パレット14に収容されると、コンベア174は、配送パレット14を移載装置130の作業位置から搬出する。これにより、配送用の荷物を用意することができる。
[0025]
 [物流管理システム100の各部の概要]
 本実施形態において、物品管理装置110は、物品の入庫、保管及び出庫を管理する。物品管理装置110は、ユーザの注文内容を示すユーザ注文情報を取得する。物品管理装置110の詳細については後述する。
[0026]
 本実施形態において、データ登録装置120は、入庫される物品に関する各種の情報を取得する。例えば、データ登録装置120は、外観、形状、仕様、取り扱い方法などに関する情報を取得する。データ登録装置120は、取得された情報を物品管理装置110に登録してよい。データ登録装置120は、入庫される全ての物品について情報を登録してもよく、物品の種類ごとに情報を登録してもよい。データ登録装置120の詳細については後述する。
[0027]
 本実施形態において、移載装置130は、ワーク10を、移載装置130の作業位置に配置された供給パレット12から、移載装置130の作業位置に配置された配送パレット14に移動させる。説明を簡単にすることを目的として、本実施形態においては、移載装置130の作業位置には、単一の供給パレット12、及び、単一の配送パレット14が配される場合について説明する。しかしながら、移載装置130は本実施形態に限定されない。
[0028]
 他の実施形態において、移載装置130の作業位置には、複数の供給パレット12、及び、1又は複数の配送パレット14が配され、移載装置130は、複数の供給パレット12と、1又は複数の配送パレット14との間で、複数のワークを移動させる。さらに他の実施形態において、移載装置130の作業位置には、1又は複数の供給パレット12、及び、複数の配送パレット14が配され、移載装置130は、1又は複数の供給パレット12と、複数の配送パレット14との間で、複数のワークを移動させる。
[0029]
 本実施形態において、ロボット140は、移載制御装置160からの命令に基づいて、ワーク10を、供給パレット12から配送パレット14に移動させる。例えば、ロボット140は、ピッキングハンドを用いて、1又は複数のワーク10を、1又は複数の供給パレット12から1又は複数の配送パレット14に移動させる。ロボット140は、ピッキングハンドを用いて第1位置でピッキングしたワーク10を、第1位置とは異なる第2位置に配置してもよい。第1位置は、供給パレット12の特定の位置又は任意の位置であってよい。第2位置は、配送パレット14の特定の位置又は任意の位置であってよい。ロボット140の詳細は後述する。なお、「1又は複数」を「1以上」と称する場合がある。
[0030]
 本実施形態において、撮像装置152は、移載装置130の作業位置に配置された供給パレット12を撮像する。撮像装置152は、供給パレット12の表面の3次元情報(例えば、3次元点群である。)を取得してもよい。撮像装置152は、供給パレット12のステレオ画像を撮像してもよい。撮像装置152は、供給パレット12の温度情報を取得してもよい。撮像装置152としては、カメラ、ステレオカメラ、3次元センサなどを例示することができる。撮像装置152は、複数の撮像装置を含んでもよい。
[0031]
 本実施形態において、撮像装置154は、移載装置130の作業位置に配置された配送パレット14を撮像する。撮像装置154は、配送パレット14の表面の3次元情報(例えば、3次元点群である。)を取得してもよい。撮像装置152は、供給パレット12のステレオ画像を撮像してもよい。撮像装置154は、配送パレット14の温度情報を取得してもよい。撮像装置154としては、カメラ、ステレオカメラ、3次元センサなどを例示することができる。撮像装置154は、複数の撮像装置を含んでもよい。
[0032]
 本実施形態において、移載制御装置160は、移載装置130を制御する。一実施形態において、移載制御装置160は、移載装置130の外部に配される。他の実施形態において、移載制御装置160は、移載装置130の内部に配される。移載制御装置160の詳細については後述する。
[0033]
 本実施形態において、搬送装置170は、1以上のワークを搬送する。例えば、搬送装置170は、供給パレット12に収容された1以上のワークを搬送する。搬送装置170は、配送パレット14に収容された1以上のワークを搬送してもよい。
[0034]
 [物流管理システム100の各部の具体的な構成]
 物流管理システム100の各部は、ハードウェアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウェア及びソフトウエアにより実現されてもよい。物流管理システム100の各部は、その少なくとも一部が、単一のサーバによって実現されてもよく、複数のサーバによって実現されてもよい。物流管理システム100の各部は、その少なくとも一部が、仮想サーバ上又はクラウドシステム上で実現されてもよい。物流管理システム100の各部は、その少なくとも一部が、パーソナルコンピュータ又は携帯端末によって実現されてもよい。携帯端末としては、携帯電話、スマートフォン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどを例示することができる。物流管理システム100の各部は、ブロックチェーンなどの分散型台帳技術又は分散型ネットワークを利用して、情報を格納してもよい。
[0035]
 物流管理システム100を構成する構成要素の少なくとも一部がソフトウエアにより実現される場合、当該ソフトウエアにより実現される構成要素は、一般的な構成の情報処理装置において、当該構成要素に関する動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。上記の一般的な構成の情報処理装置は、(i)CPU、GPUなどのプロセッサ、ROM、RAM、通信インタフェースなどを有するデータ処理装置と、(ii)キーボード、ポインティングデバイス、タッチパネル、カメラ、音声入力装置、ジェスチャ入力装置、各種センサ、GPS受信機などの入力装置と、(iii)表示装置、音声出力装置、振動装置などの出力装置と、(iv)メモリ、HDD、SSDなどの記憶装置(外部記憶装置を含む。)とを備えてよい。
[0036]
 上記の一般的な構成の情報処理装置において、上記のデータ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。上記のソフトウエア又はプログラムは、プロセッサによって実行されることにより、上記の情報処理装置に、当該ソフトウエア又はプログラムによって規定された動作を実行させる。上記のソフトウエア又はプログラムは、非一時的なコンピュータ可読記録媒体に格納されていてもよい。上記のソフトウエア又はプログラムは、コンピュータを、移載制御装置160又はその一部として機能させるためのプログラムであってよい。
[0037]
 上記のソフトウエア又はプログラムは、ピッキング装置を制御するためのプログラムであってよい。上記のプログラムにおいて、ピッキング装置は、ピッキングハンドを用いて第1位置でピッキングしたワークを、上記第1位置とは異なる第2位置に配置してよい。上記のプログラムは、コンピュータに、上記第1位置において上記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第1候補情報を取得する第1候補情報取得手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記第2位置において上記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第2候補情報を取得する第2候補情報取得手順と、上記第1候補情報により示される1以上の姿勢、及び、上記第2候補情報により示される1以上の姿勢に関する1以上の組み合わせの中から、一の組み合わせを抽出する抽出手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記ピッキングハンドが、(i)上記第1位置において、上記一の組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(ii)上記第2位置において、上記一の組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するための軌道を算出する軌道算出手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記軌道算出手順において算出された軌道上における干渉の有無を判定する判定手順と、を実行させるためのプログラムであってよい。
[0038]
 上記のソフトウエア又はプログラムは、ピッキング装置を制御するためのプログラムであってよい。上記のプログラムにおいて、ピッキング装置は、ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、上記第1容器とは異なる第2容器の第2位置に配置してよい。上記のプログラムは、コンピュータに、上記ピッキングハンドが、(i)上記第1位置において、上記一の組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(ii)上記第2位置において、上記一の組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するための軌道を規定する軌道情報を生成する軌道情報生成手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記軌道情報手順において生成された軌道情報に基づいて、上記ピッキング装置を動作させる実行制御手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記実行制御手順において、上記ピッキング装置が上記ワークに対する動作を開始させるための命令を受信してから、上記ピッキング装置が上記ワークに対する動作を終了するまでの時間を推定する実行時間推定手順を実行させるためのプログラムであってよい。上記のプログラムにおいて、上記軌道情報生成手順は、上記実行時間推定手順において得られた推定結果に基づいて計算量を調整する手順を含んでもよい。
[0039]
 上記のソフトウエア又はプログラムは、ピッキング装置を制御するためのプログラムであってよい。上記のプログラムにおいて、ピッキング装置は、ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、上記第1容器とは異なる第2容器の第2位置に配置してよい。上記のプログラムは、コンピュータに、(i)上記ピッキングハンドが、上記第1位置で上記ワークをピッキングするタイミング、(ii)上記ピッキングハンドが、上記ワークを上記第1容器の外に搬出するタイミング、(iii)上記ピッキングハンドが、上記ワークを上記第2容器の中に搬入するタイミング、及び、(iv)上記ピッキングハンドが、上記ワークを上記第2位置に配置するタイミングの少なくとも1つのタイミングにおける、上記ピッキングハンド及び上記ワークの少なくとも一方を含む領域の点群情報を取得する点群情報取得手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記点群情報取得手順において取得された点群情報に基づいて、異常を検出する異常検出手順を実行させるためのプログラムであってよい。
[0040]
 上記のソフトウエア又はプログラムは、ピッキング装置を制御するためのプログラムであってよい。上記のプログラムにおいて、ピッキング装置は、ピッキングハンドを用いて、1又は複数のワークを、1又は複数の供給容器から1又は複数の配置容器に移動させてよい。上記のプログラムは、コンピュータに、上記ピッキングハンドが、上記1又は複数の供給容器に含まれる一の供給容器に収容された上記1又は複数のワークの1つをピッキングし、当該ワークを、上記1又は複数の配置容器に含まれる一の配置容器に配置するための軌道を規定する軌道情報を生成する軌道情報生成手順を実行させるためのプログラムであってよい。上記のプログラムにおいて、上記軌道情報生成手順は、上記1又は複数のワークに含まれる第1ワークに関する軌道情報を生成するための処理を実行した後、上記第1ワークの移動が完了する前に、上記第1ワークに関する軌道情報を生成するための処理における演算結果を利用して、上記1又は複数のワークに含まれ、上記第1ワークとは異なる第2ワークに関する軌道情報を生成する手順を含んでよい。
[0041]
 上記のソフトウエア又はプログラムは、ピッキング装置を制御するためのプログラムであってよい。上記のプログラムにおいて、ピッキング装置は、ピッキングハンドを用いて、1又は複数のワークを、1又は複数の供給容器から1又は複数の配置容器に移動させてよい。上記のプログラムは、コンピュータに、上記ピッキングハンドが、上記1又は複数の供給容器に含まれる一の供給容器に収容された上記1又は複数のワークの1つをピッキングし、当該ワークを、上記1又は複数の配置容器に含まれる一の配置容器に配置するための軌道を規定する軌道情報を生成する軌道情報生成手順を実行させるためのプログラムであってよい。上記のプログラムにおいて、上記軌道情報生成手順は、上記1又は複数のワークに含まれる第1ワークに関する軌道情報を生成するための処理を実行した後、上記第1ワークの移動が完了する前に、上記第1ワークに関する軌道情報を生成するための処理における演算結果を利用して、上記1又は複数のワークに含まれ、上記第1ワークとは異なる第2ワークに関する軌道情報を生成する手順を有してよい。
[0042]
 上記のソフトウエア又はプログラムは、コンピュータに、対象物の3次元情報を取得する3次元情報取得手順を実行させるためのプログラムであってよい。上記のソフトウエア又はプログラムは、コンピュータに、ピッキングハンドを用いて上記対象物を把持する方法を定義する把持情報を取得する把持情報取得手順を実行させるためのプログラムであってよい。上記のソフトウエア又はプログラムは、コンピュータに、(i)上記3次元情報取得部が取得した上記対象物の3次元情報と、(ii)上記把持情報取得部が取得した把持情報とを対応付けて、記憶装置に格納する情報管理手順を実行させるためのプログラムであってよい。
[0043]
 図2は、物品管理装置110の内部構成の一例を概略的に示す。本実施形態において、物品管理装置110は、注文情報取得部210と、搬送装置管理部220と、移載装置管理部230と、要求処理部240と、物品情報格納部250とを備える。注文情報取得部210は、オーダー情報取得部の一例であってよい。物品情報格納部250は、記憶装置の一例であってよい。
[0044]
 本実施形態において、注文情報取得部210は、ユーザの注文内容を示すユーザ注文情報を取得する。ユーザ注文情報は、移載装置130の作業対象となる物品の識別情報を含んでよい。物品の識別情報としては、物品の名称、物品に付与されたコード番号、物品の外観の特徴などを例示することができる。ユーザ注文情報は、オーダー情報の一例であってよい。
[0045]
 一実施形態において、注文情報取得部210は、物品管理装置110に配されたキーボード、タッチパネル、音声入力装置、ジェスチャ入力装置などの入力装置(図示されていない。)を介して、ユーザからの注文を受け付ける。他の実施形態において、注文情報取得部210は、ユーザの通信端末又は他の情報処理装置から、通信ネットワークを介して、ユーザ注文情報を受信する。通信ネットワークは、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。
[0046]
 本実施形態において、搬送装置管理部220は、搬送装置170を管理する。一実施形態において、搬送装置管理部220は、注文情報取得部210が取得したユーザ注文情報を搬送装置170に転送する。他の実施形態において、搬送装置管理部220は、1以上のユーザからのユーザ注文情報を解析して、ユーザ注文情報に含まれる物品の在庫状態を調べてよい。さらに他の実施形態において、搬送装置管理部220は、1以上のユーザからのユーザ注文情報を解析して、ユーザ注文情報に複数の種類の物品が含まれる場合には、各物品の在庫位置に基づいて、全体の搬送効率が予め定められた条件を満足するように、当該複数の種類の物品が移載装置130に搬送される順番を決定してよい。
[0047]
 本実施形態において、移載装置管理部230は、移載装置130を管理する。一実施形態において、移載装置管理部230は、ユーザ注文情報を解析して、ユーザ注文情報に複数の種類の物品が含まれる場合には、移載装置130の作業効率が予め定められた条件を満足するように、当該複数の種類の物品が移載装置130にピッキングされる順番を決定してよい。搬送装置管理部220が、複数の種類の物品が移載装置130に搬送される順番を決定した場合、移載装置管理部230は、当該順番を考慮しつつ、当該複数の種類の物品が移載装置130にピッキングされる順番を決定してよい。他の実施形態において、移載装置管理部230は、注文情報取得部210が取得したユーザ注文情報を移載装置130に転送する。この場合、移載装置130は、ユーザ注文情報を解析して、複数の種類の物品が移載装置130にピッキングされる順番を決定してもよい。
[0048]
 本実施形態において、要求処理部240は、各種の要求を受信する。要求処理部240は、受信された要求を処理する。一実施形態において、要求処理部240は、データ登録装置120から、物品に関するデータの登録要求を受信する。要求処理部240は、上記の登録要求を受け付けると、例えば、登録しようとする物品のデータが、既に物品情報格納部250に格納されているか否かを確認する。物品情報格納部250に上記のデータが格納されていない場合、要求処理部240は、上記のデータを物品情報格納部250に格納する。物品情報格納部250に上記のデータが格納されている場合において、その内容が変更されているときには、上記のデータを更新する。一方、データの内容に変更がない場合には、処理を終了する。
[0049]
 他の実施形態において、要求処理部240は、移載制御装置160から、特定の条件に合致するデータの送信要求を受信する。要求処理部240は、上記の送信要求を受け付けると、例えば、物品情報格納部250にアクセスして、当該条件に合致するデータの有無を確認する。物品情報格納部250に上記の条件に合致するデータが格納されている場合、要求処理部240は、当該データを移載制御装置160に送信する。物品情報格納部250に上記の条件に合致するデータが格納されていない場合、要求処理部240は、データが存在しないことを示す情報を移載制御装置160に送信する。
[0050]
 本実施形態において、物品情報格納部250は、物品に関する各種の情報を格納する。物品情報格納部250は、データ登録装置120が取得した情報を格納してよい。
[0051]
 図3は、データ登録装置120の内部構成の一例を概略的に示す。本実施形態において、データ登録装置120は、3次元情報取得部312と、2次元情報取得部314と、質量情報取得部316と、物品情報登録部320とを備える。本実施形態において、物品情報登録部320は、入出力部330と、登録情報生成部340と、登録要求送信部350とを有する。本実施形態において、登録情報生成部340は、座標情報付与部342と、把持情報付与部344と、仕様情報付与部346とを有する。
[0052]
 物品情報登録部320は、情報管理部の一例であってよい。把持情報付与部344は、把持情報取得部の一例であってよい。仕様情報付与部346は、特徴情報取得部の一例であってよい。登録要求送信部350は、情報管理部の一例であってよい。
[0053]
 本実施形態において、3次元情報取得部312は、データ登録処理の対象となる対象物品の3次元情報を取得する。3次元情報は、原点情報及び座標軸情報の少なくとも一方を含んでよい。3次元情報は、対象物品のCADデータを含んでもよい。3次元情報は、対象物品を3次元計測して得られたデータを含んでもよい。対象物品は、対象物の一例であってよい。3次元情報取得部312は、(i)任意の方式の3次元計測装置であってもよく、(ii)当該3次元計測装置又は他の情報処理装置から3次元情報を受信する通信インタフェース又は記憶装置であってもよい。
[0054]
 本実施形態において、2次元情報取得部314は、データ登録処理の対象となる対象物品の2次元情報を取得する。2次元情報は、対象物品のCADデータを含んでもよい。2次元情報は、対象物品を3以上の方向から撮像した3以上の画像の画像データを含んでよい。2次元情報は、対象物品を4以上の方向から撮像した4以上の画像の画像データを含んでよい。2次元情報は、対象物品を5以上の方向から撮像した5以上の画像の画像データを含んでよい。2次元情報は、対象物品を6以上の方向から撮像した6以上の画像の画像データを含んでよい。2次元情報取得部314は、(i)任意の方式の撮像装置であってもよく、(ii)当該撮像装置又は他の情報処理装置から2次元情報を受信する通信インタフェース又は記憶装置であってもよい。
[0055]
 本実施形態において、質量情報取得部316は、対象物品の質量を示す質量情報を取得する。質量情報は、対象物品の重心の位置を示す重心情報を含んでもよい。質量情報取得部316は、(i)任意の方式の質量計測装置であってもよく、(ii)当該質量計測装置又は他の情報処理装置から質量情報を受信する通信インタフェース又は記憶装置であってもよい。
[0056]
 本実施形態において、物品情報登録部320は、3次元情報取得部312が取得した対象物品の3次元情報と、(ii)対象物品に関する各種の情報とを対応付けて、物品情報格納部250に格納する。例えば、物品情報登録部320は、3次元情報取得部312が取得した対象物品の3次元情報及び(ii)対象物品に関する各種の情報を物品情報格納部250に格納するための要求を、物品管理装置110に送信する。
[0057]
 本実施形態において、入出力部330は、ユーザからの入力を受け付ける。また、入出力部330は、ユーザに情報を出力する。入出力部330は、例えば、キーボード、ポインティングデバイス、タッチパネル、カメラ、音声入力装置、ジェスチャ入力装置、各種センサ、GPS受信機などの入力装置を含む。入出力部330は、外部記憶装置との通信インタフェースであってもよい。入出力部330は、通信回線を介して、他の情報処理装置との間で情報を送受するための通信インタフェースであってもよい。これにより、例えば、対象物品の製造者又は販売者がサービスを提供するWebサイトにアクセスして、当該対象物品に関する情報を取得することができる。入出力部330は、例えば、表示装置、音声出力装置、振動装置などの出力装置を含む。これにより、例えば、ユーザが対象物品に関する情報を入力するための入力画面を、ユーザに提示することができる。
[0058]
 本実施形態において、登録情報生成部340は、物品管理装置110に登録するための情報を生成する。例えば、登録情報生成部340は、3次元情報取得部312が取得した対象物品の3次元情報、2次元情報取得部314が取得した対象物品の2次元情報、及び、質量情報取得部316が取得した対象物品の質量情報の少なくとも1つに、各種の情報を付与して、物品管理装置110に登録するための情報を生成する。
[0059]
 本実施形態において、座標情報付与部342は、3次元情報取得部312が取得した対象物品の3次元情報、及び、2次元情報取得部314が取得した対象物品の2次元情報の少なくとも一方に、原点情報及び座標軸情報の少なくとも一方を付与する。座標情報付与部342は、入出力部330から、原点情報及び座標軸情報の少なくとも一方を取得してもよい。
[0060]
 本実施形態において、把持情報付与部344は、3次元情報取得部312が取得した対象物品の3次元情報、及び、2次元情報取得部314が取得した対象物品の2次元情報の少なくとも一方に、ピッキングハンドを用いて対象物品を把持する方法を定義する把持情報を付与する。
[0061]
 一実施形態において、把持情報付与部344は、入出力部330から、把持情報を取得することで、対象物品を把持する方法を決定する。他の実施形態において、把持情報付与部344は、(i)対象物品の形状と、(ii)典型的な物品の形状及び当該物品を把持する方法を対応付けた情報とに基づいて、対象物品を把持する方法を決定する。
[0062]
 本実施形態において、仕様情報付与部346は、3次元情報取得部312が取得した対象物品の3次元情報、及び、2次元情報取得部314が取得した対象物品の2次元情報の少なくとも一方に、対象物品の仕様を示す仕様情報を付与する。対象物品の仕様としては、(i)物品の名称、(ii)物品に付与された識別コード、(iii)物品の寸法、(iv)物品の質量、(v)物品の保管、輸送又は使用に関する事項などを例示することができる。
[0063]
 一実施形態において、仕様情報付与部346は、入出力部330から、仕様情報を取得してよい。他の実施形態において、仕様情報付与部346は、3次元情報取得部312が取得した3次元情報及び2次元情報取得部314が取得した2次元情報の少なくとも一方に基づいて、対象物品を認識するための特徴情報を取得し、当該特徴情報を仕様情報に含めてよい。仕様情報付与部346は、顔認識、生体認識などの画像認識の分野において用いられる手法を利用して、特徴情報を取得してよい。
[0064]
 特徴情報は、対象物品の外観の少なくとも一部の特徴に関する情報であってよい。対象物品の外観の特徴としては、(i)対象物品の形状、模様及び色彩の少なくとも1つに関する特徴、(ii)対象物品に付されたロゴマーク、当該物品の名称、又は、当該物品を識別する識別コードなどを例示することができる。
[0065]
 これにより、登録情報生成部340は、物品管理装置110に登録するための情報を生成することができる。なお、物品管理装置110に登録するための情報は、少なくとも、3次元情報取得部312が取得した対象物品の3次元情報、及び、2次元情報取得部314が取得した対象物品の2次元情報の少なくとも一方を含んでいればよく、質量情報、座標情報、把持情報及び仕様情報を含まなくてもよい。
[0066]
 一実施形態において、物品管理装置110に登録するための情報は、対象物品の3次元情報及び把持情報を含む。物品管理装置110に登録するための情報は、(i)対象物品の3次元情報及び把持情報と、(ii)対象物品の特徴情報及び識別情報の少なくとも一方を含んでもよい。物品管理装置110に登録するための情報は、(i)対象物品の3次元情報及び把持情報と、(ii)対象物品の質量情報、座標情報、及び仕様情報の少なくとも1つとを含んでもよい。物品管理装置110に登録するための情報は、(i)対象物品の3次元情報及び把持情報と、(ii)対象物品の特徴情報及び識別情報の少なくとも一方と、(iii)対象物品の質量情報、座標情報、及び仕様情報の少なくとも1つとを含んでもよい。
[0067]
 他の実施形態において、物品管理装置110に登録するための情報は、対象物品の3次元情報、2次元情報及び把持情報を含む。物品管理装置110に登録するための情報は、(i)対象物品の3次元情報、2次元情報及び把持情報と、(ii)対象物品の特徴情報及び識別情報の少なくとも一方を含んでもよい。物品管理装置110に登録するための情報は、(i)対象物品の3次元情報、2次元情報及び把持情報と、(ii)対象物品の質量情報、座標情報、及び仕様情報の少なくとも1つとを含んでもよい。物品管理装置110に登録するための情報は、(i)対象物品の3次元情報、2次元情報及び把持情報と、(ii)対象物品の特徴情報及び識別情報の少なくとも一方と、(iii)対象物品の質量情報、座標情報、及び仕様情報の少なくとも1つとを含んでもよい。
[0068]
 本実施形態において、登録要求送信部350は、登録情報生成部340が生成した登録情報を、物品管理装置110に格納する。例えば、登録要求送信部350は、登録情報生成部340が生成した登録情報を、物品情報格納部250に格納するための登録要求を、物品管理装置110に送信する。
[0069]
 本実施形態においては、登録情報の登録先である物品情報格納部250が物品管理装置110に配される場合について説明した。しかしながら、物品情報格納部250は本実施形態に限定されない。他の実施形態において、物品情報格納部250は、データ登録装置120に配されてもよい。
[0070]
 図4は、ロボット140の内部構成の一例を概略的に示す。本実施形態において、ロボット140は、マニュピレータ410と、駆動部420と、駆動制御部430とを備える。本実施形態において、マニュピレータ410は、ピッキングハンド412と、ロボットアーム414とを有する。
[0071]
 本実施形態において、ピッキングハンド412は、ワーク10を把持する。ピッキングハンド412の把持方式は特に限定されるものではない。ピッキングハンド412の把持方式としては、低圧によりワーク10を吸着する方式、複数の指モジュールによりワーク10を把持する方式などを例示することができる。ピッキングハンド412は、作業内容によって交換されてもよい。ピッキングハンド412は、接触センサ、質量計測センサ、負荷計測センサなどの各種センサを有してよい。
[0072]
 本実施形態において、ロボットアーム414は、ピッキングハンド412に連結され、ピッキングハンド412の位置及び姿勢を調整する。ロボットアーム414の構造は特に限定されるものではないが、例えば、複数の関節を有する多関節ロボットアームが用いられる。ロボットアーム414は、質量計測センサ、負荷計測センサなどの各種センサを有してよい。負荷計測センサは、ロボットアーム414の各関節を駆動する駆動部420のトルク、電流値又は電圧値を計測するセンサであってよい。
[0073]
 本実施形態において、駆動部420は、マニュピレータ410を駆動する。一実施形態において、駆動部420は、ピッキングハンド412を駆動する。例えば、駆動部420は、ピッキングハンド412に空気を供給したり、ピッキングハンド412から空気を吸引したりする。他の実施形態において、駆動部420は、ロボットアーム414を駆動する。例えば、駆動部420は、ロボットアーム414の各関節の角度を調整する。駆動部420は、モータであってよい。駆動部420は、複数のモータを有してよい。
[0074]
 本実施形態において、駆動制御部430は、駆動部420を制御する。例えば、駆動制御部430は、移載制御装置160から、ロボット140の動作を制御するための命令を受信する。駆動制御部430は、移載制御装置160からの命令に基づいて、駆動部420を制御する。ロボット140の動作を制御するための命令は、ピッキングハンド412の軌道を示す情報であってよい。
[0075]
 ピッキングハンド412の軌道を示す情報としては、(i)ピッキングハンド412の初期配置、通過配置及び最終配置、並びに、移動時間を示す情報、(ii)初期配置、通過配置及び最終配置におけるロボットアーム414の各関節の角度、並びに、移動時間を示す情報、(iii)移動時間中の各時刻におけるピッキングハンド412の配置を示す情報、(iv)移動時間中の各時刻におけるロボットアーム414の各関節の角度を示す情報などを例示することができる。ピッキングハンド412の配置は、例えば、ピッキングハンド412の位置及び姿勢により特定される。
[0076]
 図5は、移載制御装置160の内部構成の一例を概略的に示す。本実施形態において、移載制御装置160は、認識情報格納部510と、認識部520と、計画部530と、実行部540と、並行処理制御部550とを備える。
[0077]
 認識情報格納部510は、把持情報格納部の一例であってよい。認識部520は、オーダー情報取得部、画像取得部、点群情報取得部、把持情報抽出部、及び、容器情報取得部の一例であってよい。計画部530は、制御装置、及び、軌道情報生成部の一例であってよい。実行部540は、制御装置、及び、実行制御部の一例であってよい。並行処理制御部550は、実行時間推定部、及び、制約条件設定部の一例であってよい。
[0078]
 本実施形態において、認識情報格納部510は、認識部520における認識処理に関する各種の情報を格納する。一実施形態において、認識部520における認識処理に用いられる情報を格納する。例えば、認識情報格納部510は、1以上の種類の物品のそれぞれを識別する識別情報と、各物品の3次元情報、2次元情報及び特徴情報の少なくとも1つとを対応付けて格納する。これにより、認識部520は、供給パレット12に収容された物品を認識したり、識別された物品の中から、移載装置130の作業対象となるワーク10を認識したりすることができる。
[0079]
 認識情報格納部510は、各物品の原点情報、座標軸情報、把持情報及び仕様情報の少なくとも1つをさらに格納してよい。これらの情報は、例えば、計画部530により利用される。例えば、認識情報格納部510は、1以上の種類の物品のそれぞれを識別する識別情報と、各物品の3次元情報、2次元情報及び特徴情報の少なくとも1つと、各物品の原点情報、座標軸情報、把持情報及び仕様情報の少なくとも1つとを対応付けて格納する。
[0080]
 他の実施形態において、認識情報格納部510は、認識部520における認識処理により得られた情報を格納する。例えば、認識情報格納部510は、(i)移載装置130の作業位置に配されている1以上の供給パレット12のそれぞれの認識結果、(ii)当該1以上の供給パレット12のそれぞれに収容されている物品の認識結果、(iii)当該認識された物品のうち、移載装置130の作業対象となるワーク10の認識結果、(iv)当該1以上の供給パレット12の表面の点群(point cloud)、(v)移載装置130の作業位置に配されている1以上の配送パレット14のそれぞれの認識結果、(vi)当該1以上の配送パレット14のそれぞれに収容されている物品の認識結果、(vii)当該1以上の配送パレット14のそれぞれにおける移載後のワーク10の認識結果、(viii)当該1以上の配送パレット14の表面の点群などを格納する。上記の点群は、3次元の点群であってよい。
[0081]
 認識情報格納部510は、物品情報格納部250に格納されている物品に関する情報のうち、移載装置130の作業に必要な情報を格納してよい。例えば、認識情報格納部510は、過去に移載装置130の作業対象となった物品に関する情報、頻繁に移載装置130の作業対象となる物品に関する情報、移載装置130の作業対象となることが予定されている物品に関する情報、過去の作業履歴から近い将来に移載装置130の作業対象となることが予測される物品に関する情報などを格納する。これにより、認識部520は、目的とする情報を高速に抽出することができる。
[0082]
 認識情報格納部510は、データ登録装置120が取得したデータの登録先となる物品情報格納部250とは異なる媒体により実現されてよい。例えば、認識情報格納部510は、認識部520が、物品情報格納部250よりも高速にアクセスすることのできる媒体により実現される。これにより、認識部520は、目的とする情報を高速に抽出することができる。
[0083]
 本実施形態において、認識部520は、認識処理を実行する。例えば、計画部530は、物品管理装置110から、移載装置130の作業内容を示す作業情報を取得する。作業情報は、例えば、1以上の物品が移載装置130にピッキングされる順番を示す情報を含む。作業情報は、ユーザ注文情報であってもよい。作業情報は、オーダー情報の一例であってよい。また、認識部520は、撮像装置152及び撮像装置154から、移載装置130の作業位置に配されている1以上の供給パレット12及び1以上の配送パレット14のそれぞれの画像データを取得する。
[0084]
 本実施形態において、認識部520は、認識情報格納部510又は物品情報格納部250に格納されている情報を参照して、供給パレット12、供給パレット12に収容されている物品、配送パレット14、配送パレット14に収容されている物品、及び、移載装置130の作業対象となるワーク10を認識する。認識部520は、認識結果を示す情報を計画部530に送信してよい。認識部520は、認識結果を示す情報を実行部540に送信してよい。認識部520は、認識結果を示す情報を認識情報格納部510に格納してよい。認識部520の詳細は後述する。
[0085]
 本実施形態において、計画部530は、計画処理を実行する。例えば、計画部530は、移載装置130の作業計画を作成する。より具体的には、計画部530は、ピッキングハンド412が、特定の供給パレット12に収容されたワーク10をピッキングし、当該ワークを特定の配送パレット14に配置するための軌道を規定する軌道情報を生成する。特定の供給パレット12は、1又は複数の供給容器に含まれる一の供給容器の一例であってよい。特定の配送パレット14は、1又は複数の配置容器に含まれる一の配置容器の一例であってよい。
[0086]
 軌道情報は、例えば、ピッキングハンド412が、第1位置でワーク10をピッキングし、当該ワークを第2位置に配置するための軌道を規定する。第2位置は、第1位置とは異なる位置であってよい。第1位置は、供給パレット12の任意の位置又は特定の位置であってよい。第2位置は、配送パレット14の任意の位置又は特定の位置であってよい。
[0087]
 本実施形態において、計画部530は、認識情報格納部510又は物品情報格納部250に格納されている把持情報を参照して、物品管理装置110からの作業情報及び認識部520の認識結果に基づいて、軌道情報を生成する。これにより、計画部530は、移載装置130の作業計画を作成することができる。計画部530は、生成された軌道情報に基づいて、ピッキングハンド412及びロボットアーム414の少なくとも一方を制御するための制御情報を生成してよい。計画部530は、生成された制御情報を実行部540に送信してよい。計画部530の詳細は後述する。
[0088]
 本実施形態において、実行部540は、実行処理を実行する。例えば、実行部540は、計画部530から制御情報を受信する。実行部540は、制御情報を、ロボット140の駆動制御部430に送信して、計画部530が生成した軌道情報に基づいて、ロボット140を動作させる。また、実行部540は、ロボット140の動作、供給パレット12及び配送パレット14を監視する。制御情報は、ロボット140に対する命令の一例であってよい。制御情報は、ロボット140に、ワーク10に対する動作を開始させるための命令の一例であってよい。実行部540の詳細は後述する。
[0089]
 本実施形態において、認識部520は、認識処理を構成する複数の工程の一部を並行又は並列に処理してよい。同様に、計画部530は、計画処理を構成する複数の工程の一部を並行又は並列に処理してよい。実行部540は、実行処理を構成する複数の工程の一部を並行又は並列に処理してよい。また、移載制御装置160は、複数のワーク10に関する認識処理、計画処理及び実行処理を並行又は並列に処理してよい。例えば、移載制御装置160は、第1のワークの実行処理を実行している間に、第2のワークの計画処理及び第3のワークの認識処理を実行する。上記の並行処理又は並列処理は、例えば、パイプライン処理技術により実現することができる。
[0090]
 本実施形態において、並行処理制御部550は、移載制御装置160における並行処理又は並列処理を制御する。一実施形態において、並行処理制御部550は、認識部520、計画部530及び実行部540のそれぞれの内部における並行処理又は並列処理を制御する。他の実施形態において、移載制御装置160が複数のワーク10に関する処理を並行又は並列に処理する場合、並行処理制御部550は、認識部520、計画部530及び実行部540の間で、情報の送受が円滑に行われるように、認識部520、計画部530及び実行部540を制御する。
[0091]
 [並行処理制御部550による他の要素の制御の第1実施形態]
 一実施形態において、並行処理制御部550は、ロボット140がワーク10に対する動作を開始させるための制御情報を受信してから、ロボット140がワーク10に対する動作を終了するまでの時間を推定する。例えば、軌道情報には、(i)ピッキングハンド412の初期位置及び姿勢、(ii)ピッキングハンド412が、供給パレット12上でワーク10をピッキングする位置及び姿勢、(iii)ピッキングハンド412が、ワーク10を配送パレット14上に配置する位置及び姿勢、並びに、(iv)ワーク10の移動時間に関する情報が含まれる。そこで、並行処理制御部550は、計画部530が生成した軌道情報に基づいて、上記の時間を推定してよい。
[0092]
 並行処理制御部550は、上記の推定結果に基づいて、認識部520、計画部530及び実行部540の少なくとも1つにおける処理の計算量又は計算時間に関する制約条件を決定してよい。例えば、並行処理制御部550は、上記の推定結果に基づいて、認識部520における認識処理を構成する複数の工程の少なくとも1つにおける処理の計算量又は計算時間に関する制約条件を決定する。認識部520は、上記の制約条件に基づいて、計算量又は計算時間を調整してよい。同様に、並行処理制御部550は、上記の推定結果に基づいて、計画部530における計画処理を構成する複数の工程の少なくとも1つにおける処理の計算量又は計算時間に関する制約条件を決定してよい。計画部530は、上記の制約条件に基づいて、計算量又は計算時間を調整してよい。
[0093]
 制約条件は、(i)各処理の進捗が予め設定されたマイルストンに到達するまでの計算量又は計算時間の最大値、及び、(ii)各処理が完了するまでの計算量又は計算時間の最大値の少なくとも一方であってよい。上記の最大値は、上記の推定結果に基づいて決定されてよい。
[0094]
 例えば、移載制御装置160が、第1のワークの実行処理を実行している間に、第2のワークの計画処理及び第3のワークの認識処理を実行する場合、並行処理制御部550は、上記の推定時間が満了又は経過する前に、計画部530における第2のワークの計画処理が終了するように、第2のワークの計算処理の計算量又は計算時間の最大値を決定する。これにより、実行部540における第1のワークの実行処理が終了する前に、第2のワークに関する軌道情報又は制御情報を生成することができる。
[0095]
 同様に、並行処理制御部550は、計画部530における第2のワークの計画処理が終了する前に、認識部520における第3のワークの認識処理が終了するように、第3のワークの認識処理の計算量又は計算時間の最大値を決定してよい。並行処理制御部550は、実行部540における第1のワークの実行処理が終了する前に、認識部520における第3のワークの認識処理が終了するように、第3のワークの認識処理の計算量又は計算時間の最大値を決定してもよい。
[0096]
 [並行処理制御部550による他の要素の制御の第2実施形態]
 他の実施形態において、並行処理制御部550は、認識部520、計画部530及び実行部540における処理のタイミングを調整する。例えば、並行処理制御部550は、認識部520における認識処理と、実行部540における実行処理との間でタイミングを調整する。より具体的には、並行処理制御部550は、認識部520が点群情報を取得する工程と、実行部540が異常を検出する工程との間でタイミングを調整する。
[0097]
 例えば、移載制御装置160が、第1のワークの実行処理を実行している間に、第2のワークの計画処理及び第3のワークの認識処理を実行する場合、実行部540は、ピッキングハンド412が第1のワークをピッキングする前後の期間において、供給パレット12の点群情報を取得し、異常の有無を判定する。また、実行部540は、ピッキングハンド412が第1のワークを配置する前後の期間において、配送パレット14の点群情報を取得し、異常の有無を判定する。これにより、異常の発生を迅速に検出することができる。一方、認識部520の認識処理においてが、例えば、第3のワークを認識する処理と、供給パレット12又は配送パレット14の点群情報を取得する処理とが並行して実行される。点群情報を取得する処理は、ワークを認識する処理と比較して計算時間が短いので、認識部520は、ワークを認識する処理が実行する間に、点群情報を取得する処理を複数回実行することができる。
[0098]
 そこで、並行処理制御部550は、例えば、認識部520を制御して、認識部520が供給パレット12又は配送パレット14の点群情報を取得する工程を開始するタイミングを、実行部540による第1のワークの実行処理の進捗に応じて調整する。一実施形態によれば、並行処理制御部550は、ピッキングハンド412が第1のワークをピッキングするタイミング又はピッキングハンド412を推定して、認識部520が当該タイミングに合わせて点群情報を取得する工程を開始するように、認識部520を制御する。並行処理制御部550は、計画部530が生成した軌道情報に基づいて、上記のタイミングを推定してよい。他の実施形態によれば、ピッキングハンド412が第1のワークをピッキングするタイミング又はピッキングハンド412が第1のワークを配置するタイミングにおいて、点群情報を取得する工程が実行中であった場合、認識部520は、当該工程を中断して、新たに点群情報を取得する処理を開始する。
[0099]
 図6は、認識部520の内部構成の一例を概略的に示す。本実施形態において、認識部520は、位置姿勢情報生成部610と、点群情報生成部620とを備える。位置姿勢情報生成部610は、画像取得部、点群情報取得部、容器情報取得部及び把持情報抽出部の一例であってよい。点群情報生成部620は、画像取得部及び点群情報取得部の一例であってよい。
[0100]
 本実施形態において、位置姿勢情報生成部610は、撮像装置152及び撮像装置154から、移載装置130の作業位置に配されている1以上の供給パレット12及び1以上の配送パレット14のそれぞれの画像データを取得する。位置姿勢情報生成部610は、撮像装置152及び撮像装置154から、移載装置130の作業位置に配されている1以上の供給パレット12及び1以上の配送パレット14のそれぞれの点群データを取得してもよい。上記の点群データは、3次元の点群データであってよい。
[0101]
 本実施形態において、位置姿勢情報生成部610は、物品管理装置110から作業情報を取得する。上述のとおり、作業情報は、例えば、1以上の物品が移載装置130にピッキングされる順番を示す情報を含む。作業情報は、移載装置130の作業対象となる物品の識別情報を含んでよい。作業情報は、作業対象となる物品を示す情報と、移動元の供給パレット12を示す情報と、移動先の配送パレット14を示す情報とを対応づけて格納してもよい。供給パレット12が単一の種類の物品を収容する場合、移載装置130の作業対象となる物品の識別情報として、供給パレット12の識別情報が用いられてもよい。
[0102]
 本実施形態において、位置姿勢情報生成部610は、(i)供給パレット12、(ii)供給パレット12に収容されている1以上の物品の少なくとも一部、(iii)配送パレット14、(iv)配送パレット14に収容されている1以上の物品の少なくとも一部の少なくとも1つ(要素と称する場合がある。)を認識する。位置姿勢情報生成部610は、移載装置130の作業対象となるワーク10を認識してもよい。位置姿勢情報生成部610は、認識された各要素の位置及び姿勢を認識する。位置姿勢情報生成部610は、認識された各要素の位置及び姿勢情報を示す位置姿勢情報を生成する。位置姿勢情報生成部610は、生成された位置姿勢情報を計画部530に送信する。
[0103]
 位置姿勢情報生成部610は、例えば、下記の手順により、各要素の位置及び姿勢を認識する。例えば、位置姿勢情報生成部610は、まず、作業情報を解析して、作業対象となる物品を特定する。次に、位置姿勢情報生成部610は、認識情報格納部510にアクセスし、作業対象となる物品の識別情報をキーとして、認識情報格納部510に格納された情報の中から、当該識別情報と対応付けられた当該物品の2次元情報、3次元情報及び特徴情報の少なくとも1つを抽出する。このとき、位置姿勢情報生成部610は、作業対象となる物品の識別情報に対応づけられた把持情報を抽出してもよい。
[0104]
 認識情報格納部510は、作業情報に含まれる物品のうち、一部の物品についてはその情報を格納していない場合がある。そこで、作業対象となる物品に関する情報が認識情報格納部510に格納されていない場合、位置姿勢情報生成部610は、物品情報格納部250にアクセスし、当該物品の識別情報をキーとして、物品情報格納部250に格納された情報の中から、当該識別情報と対応付けられた当該物品の2次元情報、3次元情報及び特徴情報の少なくとも1つを抽出する。このとき、位置姿勢情報生成部610は、作業対象となる物品の識別情報に対応づけられた把持情報を抽出してもよい。位置姿勢情報生成部610は、物品情報格納部250から情報を取得した場合、当該情報を、上記の物品の識別情報と対応付けて認識情報格納部510に格納してよい。
[0105]
 次に、位置姿勢情報生成部610は、撮像装置152及び撮像装置154から、移載装置130の作業位置に配されている1以上の供給パレット12及び1以上の配送パレット14のそれぞれの画像データを取得する。認識部520は、撮像装置152及び撮像装置154から、移載装置130の作業位置に配されている1以上の供給パレット12及び1以上の配送パレット14のそれぞれの点群データを取得してもよい。これにより、位置姿勢情報生成部610は、供給パレット12及び配送パレット14の少なくとも一方の表面の状態に関する情報を取得することができる。
[0106]
 次に、位置姿勢情報生成部610は、作業対象となる物品の2次元情報、3次元情報及び特徴情報の少なくとも1つを利用して、1以上の供給パレット12のそれぞれの画像データ又は点群データを解析して、(i)それぞれの供給パレット12の位置及び姿勢と、(ii)それぞれの供給パレット12に収容されている1以上の物品の少なくとも一部の位置及び姿勢とを認識する。同様にして、位置姿勢情報生成部610は、(i)配送パレット14の位置及び姿勢と、(ii)配送パレット14に収容されている1以上の物品の少なくとも一部の位置及び姿勢とを認識する。
[0107]
 位置姿勢情報生成部610は、1以上の供給パレット12に収容された物品の中から、移載装置130の作業対象となるワーク10を選択してもよい。位置姿勢情報生成部610は、既に位置及び姿勢が認識されている物品の中から、移載装置130の作業対象となるワーク10を選択してよい。なお、ワーク10を選択する処理は、計画部530において実行されてもよい。
[0108]
 本実施形態において、点群情報生成部620は、供給パレット12及び配送パレット14の少なくとも一方の点群情報を生成する。点群情報生成部620は、例えば、下記の手順により、点群情報を生成する。一実施形態において、点群情報生成部620は、まず、撮像装置152及び撮像装置154から、移載装置130の作業位置に配されている1以上の供給パレット12及び1以上の配送パレット14のそれぞれの点群データを取得する。次に、点群情報生成部620は、1以上の供給パレット12及び1以上の配送パレット14のそれぞれの識別情報及び点群データを対応付けて、1以上の供給パレット12及び1以上の配送パレット14のそれぞれの点群情報を生成する。
[0109]
 他の実施形態において、点群情報生成部620は、まず、撮像装置152及び撮像装置154から、移載装置130の作業位置に配されている1以上の供給パレット12及び1以上の配送パレット14のそれぞれの画像データを取得する。次に、点群情報生成部620は、移載装置130の作業位置に配されている1以上の供給パレット12及び1以上の配送パレット14のそれぞれの画像データに基づいて、1以上の供給パレット12及び1以上の配送パレット14のそれぞれの点群データを取得する。次に、点群情報生成部620は、1以上の供給パレット12及び1以上の配送パレット14のそれぞれの識別情報及び点群データを対応付けて、1以上の供給パレット12及び1以上の配送パレット14のそれぞれの点群情報を生成する。
[0110]
 本実施形態において、点群情報生成部620は、点群情報を計画部530に送信する。点群情報生成部620は、点群情報を実行部540に送信してもよい。点群情報生成部620は、実行部540又は並行処理制御部550からの命令又は要求に応じて、点群情報を生成して、当該点群情報を実行部540に送信してもよい。
[0111]
 図7は、計画部530の内部構成の一例を概略的に示す。本実施形態において、計画部530は、把持計画部710と、配置計画部720と、評価情報格納部730と、軌道候補抽出部740と、軌道計画部750と、制御情報生成部760とを備える。
[0112]
 把持計画部710は、第1候補情報生成部の一例であってよい。配置計画部720は、第2候補情報生成部の一例であってよい。軌道候補抽出部740は、第1候補情報取得部、第2候補情報取得部及び抽出部の一例であってよい。軌道計画部750は、軌道情報生成部、軌道算出部、判定部、軌道決定部及び補間軌道生成部の一例であってよい。
[0113]
 本実施形態において、把持計画部710は、ピッキングハンド412によるワーク10の把持方法を計画する。具体的には、ピッキングハンド412が、供給パレット12に収容されたワーク10を把持するときのピッキングハンド412の位置及び姿勢を決定する。例えば、把持計画部710は、(i)供給パレット12の位置姿勢情報、(ii)供給パレット12に収容されている1以上の物品の位置姿勢情報、(iii)供給パレット12の点群情報、及び、(iv)認識部520が認識情報格納部510又は物品管理装置110から取得した把持情報を参照して、ピッキングハンド412がワーク10を把持する位置(ピッキング位置と称する場合がある。)において、ピッキングハンド412が採り得る1以上の姿勢(把持候補と称する場合がある。)を抽出する。ピッキング位置は、第1位置の一例であってよい。
[0114]
 例えば、把持計画部710は、供給パレット12に収容されている1以上の物品の少なくとも一部について、ピッキングハンド412が、把持情報により示される把持方法に従って当該物品を把持した場合に、ピッキングハンド412が供給パレット12及び他の物品と干渉するか否かを判定する。把持計画部710は、ピッキングハンド412が供給パレット12及び他の物品と干渉しないと判定した場合、そのときのピッキングハンド412の位置及び姿勢を、把持候補として抽出する。把持計画部710は、並行処理制御部550により設定された計算量又は計算時間に関する制約条件の範囲内で、上記の判定処理を繰り返す。これにより、把持計画部710は、1以上の把持候補に関する情報を生成することができる。把持計画部710は、1以上の把持候補に関する情報を、軌道候補抽出部740に送信する。1以上の把持候補に関する情報は、第1候補情報の一例であってよい。
[0115]
 本実施形態において、配置計画部720は、ピッキングハンド412によるワーク10の配置方法を計画する。具体的には、ピッキングハンド412が、ワーク10を配送パレット14に配置するときのピッキングハンド412の位置及び姿勢を決定する。例えば、配置計画部720は、(i)配送パレット14の位置姿勢情報、(ii)配送パレット14に収容されている1以上の物品の位置姿勢情報、(iii)配送パレット14の点群情報、及び、(iv)認識部520が認識情報格納部510又は物品管理装置110から取得した把持情報を参照して、ピッキングハンド412がワーク10を配置する位置(配置位置と称する場合がある。)において、ピッキングハンド412が採り得る1以上の姿勢(配置候補と称する場合がある。)を抽出する。配置位置は、第2位置の一例であってよい。
[0116]
 例えば、配置計画部720は、ピッキングハンド412が、配送パレット14の任意の位置又は特定の位置に、把持情報により示される把持方法に従ってワーク10を配置した場合に、ピッキングハンド412及びワーク10が配送パレット14及び他の物品と干渉するか否かを判定する。配置計画部720は、ピッキングハンド412及びワーク10が供給パレット12及び他の物品と干渉しないと判定した場合、そのときのピッキングハンド412の位置及び姿勢を、配置候補として抽出する。配置計画部720は、並行処理制御部550により設定された計算量又は計算時間に関する制約条件の範囲内で、上記の判定処理を繰り返す。これにより、配置計画部720は、1以上の配置候補に関する情報を生成することができる。なお、配置計画部720は、ユーザ注文情報に含まれる全ての物品が配送パレット14に配置されるまで、上記の判定処理を繰り返してもよい。配置計画部720は、1以上の配置候補に関する情報を、軌道候補抽出部740に送信する。1以上の配置候補に関する情報は、第2候補情報の一例であってよい。
[0117]
 本実施形態において、評価情報格納部730は、軌道候補抽出部740が軌道候補の抽出処理において、1以上の軌道候補の中から、特定の軌道候補を抽出するための判断基準に関する情報(評価情報と称する場合がある。)を格納する。評価情報としては、(i)ピッキングハンド412が、一の位置から、他の位置に移動する時間を評価するための情報、(ii)ピッキングハンド412が、一の位置から、他の位置及び姿勢に移動する時間を評価するための情報、(iii)ピッキングハンド412が、一の位置及び姿勢から、他の位置に移動する時間を評価するための情報、(iv)ピッキングハンド412が、一の位置及び姿勢から、他の位置及び姿勢に移動する時間を評価するための情報を例示することができる。一の位置から他の位置に移動する時間は、例えば、試運転時の実測値、過去の運転履歴、経験則などに基づいて評価されてよい。
[0118]
 本実施形態において、軌道候補抽出部740は、ピッキングハンド412の軌道に関する複数の候補の中から、特定の候補(軌道候補と称する場合がある。)を抽出する。軌道候補は、例えば、ピッキングハンド412の初期配置及び最終配置により示される。軌道候補は、ピッキングハンド412の初期配置、1以上の通過配置、及び、最終配置により示されてもよい。ピッキングハンド412の初期配置、1以上の通過配置、及び、最終配置のそれぞれは、ピッキングハンド412の位置及び姿勢に関する情報を含んでもよい。ピッキングハンド412の初期配置、1以上の通過配置、及び、最終配置の少なくとも1つは、ピッキングハンド412の位置に関する情報を含み、ピッキングハンド412の姿勢に関する情報を含まなくてもよい。
[0119]
 軌道候補抽出部740は、例えば、下記の手順により、軌道候補を抽出する。軌道候補抽出部740は、まず、把持計画部710から、1以上の把持候補に関する情報を受信する。これにより、例えば、M個(Mは、0又は1以上の整数である。)の把持候補を取得する。また、配置計画部720から、1以上の配置候補に関する情報を受信する。これにより、例えば、N個(Nは、0又は1以上の整数である。)の配置候補を取得する。
[0120]
 このとき、軌道候補抽出部740は、ロボット140がワークに対する作業を開始するときのピッキングハンド412の位置(開始位置と称する場合がある。)、又は、ロボット140がワークに対する作業を開始するときのピッキングハンド412の位置及び姿勢を示す情報を取得してもよい。開始位置は、第3位置の一例であってよい。一実施形態において、ピッキングハンド412の開始位置は、直前のワークの配置位置であってよい。また、開始位置におけるピッキングハンド412の姿勢は、直前のワークの配置位置におけるピッキングハンド412の姿勢であってよい。他の実施形態において、ロボット140がワークに対する作業を開始するときのピッキングハンド412の位置及び姿勢が予め定められていてもよい。
[0121]
 次に、軌道候補抽出部740は、M個の把持候補及びN個の配置候補に関するM×N個の組み合わせの中から、一の組み合わせを抽出する。軌道候補抽出部740は、抽出された組み合わせを示す情報を、軌道候補として軌道計画部750に送信する。
[0122]
 軌道候補抽出部740は、例えば、下記の手順により、軌道候補となる組み合わせを抽出する。まず、軌道候補抽出部740は、M個の把持候補の1つと、N個の配置候補の1つとの組み合わせについて、ピッキングハンド412が、選択された把持候補により示される把持位置及び姿勢から、選択された配置候補により示される配置位置及び姿勢まで移動する時間に関する評価関数を算出する。軌道候補抽出部740は、評価情報格納部730に格納された情報を参照して、上記の評価関数を算出してよい。評価関数は、例えば、ピッキングハンド412が、(i)把持位置において、選択された把持候補により示される姿勢でワークをピッキングし、(ii)配置位置において、選択された配置候補により示される姿勢でワークを配置するまでの時間の推定値に関する評価項目を含む。
[0123]
 なお、軌道候補抽出部740は、軌道候補抽出部740は、開始位置及び姿勢を初期配置とし、把持位置及び姿勢を通過配置とし、配置位置及び姿勢を最終配置とする軌道について、上記の評価関数を算出してもよい。このとき、評価関数は、ピッキングハンド412が、(i)開始位置から把持位置まで移動し、(ii)把持位置において、選択された把持候補により示される姿勢でワークをピッキングし、(iii)配置位置において、選択された配置候補により示される姿勢でワークを配置するまでの時間の推定値に関する評価項目を含んでよい。
[0124]
 次に、軌道候補抽出部740は、並行処理制御部550により設定された計算量又は計算時間に関する制約条件の範囲内で、把持候補及び配置候補の組み合わせのそれぞれについて、評価関数の算出処理を繰り返す。軌道候補抽出部740は、評価関数が算出された組み合わせのうち、最も評価の高い組み合わせを軌道候補として選択する。例えば、評価関数が、ピッキングハンド412が開始位置から配置位置まで移動する時間の推定値である場合、当該推定値が小さい組み合わせ程、評価が高い。なお、軌道候補抽出部740は、算出された評価関数が予め定められた条件を満足する場合、上記の制約条件が満たされている場合であっても、評価関数の算出処理を中止して、そのときの把持候補及び配置候補の組み合わせを、軌道候補として選択してもよい。
[0125]
 本実施形態において、軌道計画部750は、ピッキングハンド412が、把持位置でワークをピッキングし、当該ワークを配置位置に配置するための軌道を規定する軌道情報を生成する。軌道計画部750は、ピッキングハンド412が、開始位置から把持位置まで移動し、把持位置でワークをピッキングし、当該ワークを配置位置に配置するための軌道を規定する軌道情報を生成してもよい。軌道計画部750は、生成された軌道情報を制御情報生成部760に送信する。
[0126]
 軌道計画部750は、例えば、下記の手順で軌道情報を生成する。軌道計画部750は、まず、軌道候補抽出部740から、把持候補及び配置候補の組み合わせを示す情報を受信する。次に、軌道計画部750は、ピッキングハンド412が、(i)把持位置において、軌道候補抽出部740が抽出した組み合わせに含まれる把持候補により示される姿勢でワークをピッキングし、(ii)配置位置において、軌道候補抽出部740が抽出した組み合わせに含まれる配置候補により示される姿勢でワークを配置するための軌道を算出する。このとき、軌道計画部750は、ピッキングハンド412が、(i)開始位置から把持位置まで移動し、(ii)把持位置において、軌道候補抽出部740が抽出した組み合わせに含まれる把持候補により示される姿勢でワークをピッキングし、(iii)配置位置において、軌道候補抽出部740が抽出した組み合わせに含まれる配置候補により示される姿勢でワークを配置するための軌道を算出してもよい。
[0127]
 軌道計画部750は、予め定められたアルゴリズムに従って、把持候補及び配置候補の組み合わせから、上記の軌道を算出してよい。軌道計画部750は、生成された軌道が予め定められた条件を満足するように、把持候補及び配置候補の組み合わせから、上記の軌道を算出してもよい。
[0128]
 次に、軌道計画部750は、算出された軌道上における干渉の有無を判定する。例えば、軌道計画部750は、ピッキングハンド412が算出された軌道に沿って移動するときに、他の物体(例えば、障害物、他の機器、ロボット140の他の要素などである。)と干渉するか否かを判定する。なお、ピッキングハンド412がワーク10をピッキングした後の工程においては、軌道計画部750は、ピッキングハンド412及びワーク10が、他の物体と干渉するか否かを判定する。
[0129]
 軌道計画部750は、算出された軌道を複数の区間に分割し、区間ごとに干渉の有無を判定してもよい。区間ごとに干渉を判定する処理は、並行又は並列に実行されてよい。1つでも干渉が生じる区間が存在する場合、他の区間の判定処理が終了していないときであっても、軌道上で干渉が生じると判定できるので、判定時間を短縮することができる。
[0130]
 軌道計画部750は、上記の判定結果に基づいて、ピッキングハンド412の軌道を決定する。例えば、軌道計画部750は、算出された軌道上で干渉が生じないと判断した場合、当該軌道の補間軌道を生成する。これにより、ワーク10に過度な加速度が加わることを抑制できる。また、軌道計画部750は、上記の補間軌道を規定する軌道情報を生成する。軌道情報は、各時刻におけるロボットアーム414の各関節の角度を示す情報であってよい。
[0131]
 一方、軌道計画部750は、算出された軌道上で干渉が生じると判断した場合、軌道候補抽出部740にアクセスして、先程の組み合わせの次に評価の高い組み合わせを示す情報を要求する。軌道計画部750は、軌道候補抽出部740から新たな組み合わせを示す情報を受信すると、上記と同様の手順に従って、軌道情報を生成する。次に評価の高い組み合わせは、他の組み合わせの一例であってよい。
[0132]
 軌道計画部750は、軌道計画部750における計算量又は計算時間が予め定められた条件を満足する場合、現在の組み合わせに関する処理を中断する。例えば、軌道計画部750は、並行処理制御部550により設定された計算量又は計算時間に関する制約条件の範囲内で軌道情報を生成するように、上記の判定処理に割り当てる計算量又は計算時間を決定する。決定された計算量又は計算時間を越えても判定処理が終了しない場合、軌道計画部750は、現在の組み合わせに関する判定処理を中断する。その後、軌道計画部750は、軌道候補抽出部740にアクセスして、現在の組み合わせの次に評価の高い組み合わせを示す情報を要求する。軌道計画部750は、軌道候補抽出部740から新たな組み合わせを示す情報を受信すると、上記と同様の手順に従って、軌道情報を生成する。
[0133]
 本実施形態において、制御情報生成部760は、ピッキングハンド412及びロボットアーム414を制御するための制御情報を生成する。例えば、制御情報生成部760は、軌道計画部750から、軌道情報を受信する。例えば、制御情報生成部760は、軌道計画部750が生成した軌道情報に、ピッキングハンド412及びロボットアーム414を制御するために必要となる他の情報を付与して、制御情報を生成する。制御情報生成部760は、軌道計画部750が生成した軌道情報を、ロボット140の種類に応じた形式に変換して、制御情報を生成してもよい。制御情報生成部760は、制御情報を実行部540に送信する。
[0134]
 図8は、実行部540の内部構成の他の例を概略的に示す。本実施形態において、実行部540は、制御情報送信部810と、実行監視部820とを備える。制御情報送信部810は、命令送信部の一例であってよい。実行監視部820は、制御装置、点群情報取得部、異常検出部及び命令送信部の一例であってよい。
[0135]
 本実施形態において、制御情報送信部810は、物流管理システム100の各部に各種の制御情報を送信して、物流管理システム100の少なくとも一部を制御する。制御情報送信部810は、移載装置130又は移載制御装置160を制御してもよい。例えば、制御情報送信部810は、駆動制御部430にロボット140を制御するための制御情報を送信して、ロボット140の動作を制御する。制御情報送信部810は、実行監視部820から、異常が検出されたことを示す検出信号を受信した場合、ロボット140の動作を中断させるための命令をロボット140に送信してもよい。
[0136]
 制御情報送信部810は、撮像装置152及び撮像装置154を制御してもよい。例えば、制御情報送信部810は、撮像装置ごとに、撮像装置の位置、角度、倍率などを制御してよい。
[0137]
 制御情報送信部810は、認識部520及び計画部530の少なくとも一方を制御してもよい。例えば、ロボット140に異常が生じた場合、制御情報送信部810は、認識部520及び計画部530に対して、現在の処理を中断して、新たな認識処理及び計画処理を開始させるための命令を送信する。制御情報送信部810は、点群情報生成部620に対して、特定のタイミングにおいて、供給パレット12及び配送パレット14の少なくとも一方の点群情報を送信するよう要求する。供給パレット12及び配送パレット14は、ピッキングハンド412及びワーク10の少なくとも一方を含む領域の一例であってよい。
[0138]
 上記の特定のタイミングとしては、(i)ピッキングハンド412が、把持位置でワーク10をピッキングするタイミング、(ii)ピッキングハンド412が、ワーク10を供給パレット12の外に搬出するタイミング、(iii)ピッキングハンド412が、ワーク10を配送パレット14に搬入するタイミング、及び、(iv)ピッキングハンド412が、ワーク10を配置位置に配置するタイミングの少なくとも1つを例示することができる。これにより、干渉、荷崩れなどの異常を早期に検出することができる。
[0139]
 本実施形態において、実行監視部820は、ロボット140の動作、供給パレット12及び配送パレット14を監視する。例えば、実行監視部820は、点群情報生成部620から、上記の特定のタイミングにおける供給パレット12及び配送パレット14の少なくとも一方の点群情報を受信する。実行監視部820は、上記の点群情報に基づいて、異常を検出する。実行監視部820は、(i)上記の点群情報と、(ii)ロボット140に配されたセンサの測定値、ピッキングハンド412及びロボットアーム414の少なくとも一方の制御値、並びに、駆動部420のトルク、電圧値及び電流値の少なくとも1つからなる群から選択される少なくとも1つとに基づいて、異常を検出してもよい。
[0140]
 実行監視部820は、異常を検出した場合、例えば、異常が検出されたことを示す検出信号を制御情報送信部810に送信する。実行監視部820は、異常を検出した場合、ロボット140の動作を中断させるための命令を、ロボット140に送信してもよい。
[0141]
 図9は、移載制御装置160における情報処理の一例を概略的に示す。本実施形態によれば、まず、ステップ902(ステップをSと省略して表す場合がある。)において、認識部520が、物品管理装置110からユーザ注文情報又は作業情報を受信する。認識部520は、ユーザ注文情報又は作業情報を解析する。例えば、認識部520は、ユーザ注文情報又は作業情報に基づいて、1以上の物品が移載装置130にピッキングされる順番を決定する。認識部520は、1以上の物品の識別情報が、移載装置130にピッキングされる順番に並んだ情報を生成してよい。
[0142]
 S912において、認識部520が認識処理を実行する。S914において、計画部530が計画処理を実行する。S916において、実行部540が実行処理を実行する。また、実行部540は、ロボット140がワーク10を移載している間、ロボット140の動作、供給パレット12及び配送パレット14を監視する。異常の発生が検出された場合、S916における処理を中断して、再度、S912から処理を開始する。
[0143]
 次に、S920において、例えば実行部540が、ユーザ注文情報又は作業情報に含まれる全ての物品の移載処理が終了したか否かを判定する。実行部540は、全ての物品の移載処理が終了していると判定した場合(S920のYesの場合)、処理を終了する。一方、実行部540は、全ての物品の移載処理が終了していないと判定した場合(S920のNoの場合)、次の物品について、S912からS920の処理を実行する。
[0144]
 図10は、S912における認識処理の一例を概略的に示す。本実施形態においては、(i)供給パレット12に関する点群情報及び位置姿勢情報を生成する処理と、(ii)配送パレット14に関する点群情報及び位置姿勢情報を生成する処理とが、並行又は並列に実行される。本実施形態においては、点群情報を生成する処理と、位置姿勢情報を生成する処理とが、並行又は並列に実行される。
[0145]
 本実施形態によれば、S1022において、位置姿勢情報生成部610が、撮像装置152から供給パレット12の画像データを取得する。また、点群情報生成部620が、撮像装置152から供給パレット12の点群データを取得する。点群情報生成部620は、供給パレット12の画像データに基づいて、供給パレット12の点群データを生成してもよい。
[0146]
 次に、S1024において、点群情報生成部620が、供給パレット12の点群情報を生成する。また、S1026において、位置姿勢情報生成部610が、供給パレット12及び供給パレット12に収容された物品の位置姿勢情報を生成する。本実施形態において、S1024及びS1026は、並行又は並列に実行される。なお、S1026が1回実行される間に、S1024が複数回実行されてもよい。
[0147]
 一方、S1042において、位置姿勢情報生成部610が、撮像装置154から配送パレット14の画像データを取得する。また、点群情報生成部620が、撮像装置154から配送パレット14の点群データを取得する。点群情報生成部620は、配送パレット14の画像データに基づいて、配送パレット14の点群データを生成してもよい。本実施形態において、S1022及びS1042は、並行又は並列に実行される。
[0148]
 次に、S1044において、点群情報生成部620が、配送パレット14の点群情報を生成する。また、S1046において、位置姿勢情報生成部610が、配送パレット14及び配送パレット14に収容された物品の位置姿勢情報を生成する。本実施形態において、S1044及びS1046は、並行又は並列に実行される。なお、S1046が1回実行される間に、S1044が複数回実行されてもよい。
[0149]
 図11は、S914における計画処理の一例を概略的に示す。本実施形態においては、把持計画部710において把持候補を抽出する処理と、配置計画部720において配置候補を抽出する処理とが、並行又は並列に実行される。本実施形態によれば、S1120において、把持計画部710が把持候補を抽出する。また、S1140において、配置計画部720が配置候補を抽出する。本実施形態において、S1120及びS1140は、並行又は並列に実行される。その後、S1160において、軌道候補抽出部740が軌道候補を抽出し、軌道計画部750が軌道を決定する。また、S1180において、決定された軌道の補間軌道を生成する。
[0150]
 図12は、S1160における軌道計画処理の一例を概略的に示す。本実施形態においては、軌道候補抽出部740が、M個の把持候補及びN個の配置候補に関するM×N個の組み合わせの少なくとも一部について評価関数を算出する処理が、並行又は並列に実行される。本実施形態によれば、S1202において、軌道候補抽出部740が、M個の把持候補及びN個の配置候補に関するM×N個の組み合わせのそれぞれについて評価関数を算出する。このとき、軌道候補抽出部740は、M×N個の組み合わせのそれぞれについて評価関数を算出する処理を、並行又は並列に実行する。その後、S1204において、軌道候補抽出部740が、各組み合わせの評価関数に基づいて、M×N個の組み合わせの中から、1つの組み合わせを抽出する。
[0151]
 次に、S1206において、軌道計画部750が、ピッキングハンド412が、(i)把持位置において、軌道候補抽出部740が抽出した組み合わせに含まれる把持候補により示される姿勢でワークをピッキングし、(ii)配置位置において、軌道候補抽出部740が抽出した組み合わせに含まれる配置候補により示される姿勢でワークを配置するための軌道を算出する。
[0152]
 S1208において、軌道計画部750が、算出された軌道上における干渉の有無を判定する。本実施形態において、軌道計画部750は、算出された軌道を複数の区間に分割し、区間ごとに干渉の有無を判定する。軌道上の全ての区間で干渉が生じないと判定された場合(S1208のYesの場合)、軌道計画部750は、処理を終了する。なお、この場合であっても、並行処理制御部550により設定された計算量又は計算時間に関する制約条件の範囲内で、S1204からS1208までの処理が繰り返されてもよい。一方、軌道上の少なくとも一部の区間で干渉が生じると判定された場合(S1208のNoの場合)、S1204からS1208までの処理が繰り返される。
[0153]
 図13は、S1208における干渉確認処理の一例を概略的に示す。本実施形態において、軌道計画部750は、S1206において算出された軌道を複数の区間に分割し、区間ごとに干渉の有無を判定する。また、軌道計画部750は、少なくとも2つの区間における判定処理を並行又は並列に実行する。本実施形態によれば、S1302において、軌道計画部750が、S1206において算出された軌道上における干渉の有無を判定する。軌道計画部750は、S1206において算出された軌道を複数の区間に分割し、それぞれの区間について、干渉の有無を判定する。軌道計画部750は、例えば、全ての区間における判定処理を並行又は並列に実行する。
[0154]
 各区間における判定処理において、判定処理が終了する前に計算時間又は計算量が事前に定められた閾値を超えた場合(S1304のYes)には、全ての区間における判定処理を中止して、S1204の処理に戻る。一方、計算時間又は計算量が事前に定められた閾値を超える前に判定処理が終了した場合であって、一の区間において干渉が生じると判定されたときには(S1306のYes)、全ての区間における判定処理を中止して、S1204の処理に戻る。一方、計算時間又は計算量が事前に定められた閾値を超える前に判定処理が終了した場合であって、当該区間において干渉が生じないと判定されたときには(S1306のNo)、当該区間における判定処理を終了する。
[0155]
 図14、図15及び図16を用いて、移載制御装置160におけるワーク間又はオーダー間での並行処理について説明する。図14は、データテーブル1400の一例を概略的に示す。図15は、ワーク間での並行処理の一例を概略的に示す。図16は、ワーク間での並行処理の一例を概略的に示す。
[0156]
 図14に示されるとおり、本実施形態において、データテーブル1400は、ワークID1410と、オーダーID1420と、オーダーの内容1430とを対応付けて格納する。オーダーの内容1430は、例えば、移載対象となる物品を識別するための物品ID1432と、供給パレットを識別するための供給パレットID1434と、配送パレットを識別するための配送パレットID1436とを含む。
[0157]
 図15に示されるとおり、本実施形態によれば、計画部530は、ワークID1410がW_0001であるワークの計画処理を実行した後、ワークID1410がW_0001であるワークの実行処理が完了する前に、ワークID1410がW_0002であるワークの計画処理、及び、ワークID1410がW_0003であるワークの認識処理を実行する。これにより、ワークID1410がW_0001であるワークの実行処理が実行されている間に、ワークID1410がW_0002であるワークの計画処理が実行され、且つ、ワークID1410がW_0003であるワークの認識処理が実行される。
[0158]
 ワークID1410がW_0002であるワークの計画処理の計算量又は計算時間は、例えば、ワークID1410がW_0001であるワークの実行処理が完了する前に当該計画処理が終了するように、調整される。より具体的には、並行処理制御部550が、下記の手順により、計画部530の計算量又は計算時間を調整する。
[0159]
 例えば、並行処理制御部550は、ロボット140が、ワークID1410がW_0001であるワークに対する制御情報を受信してから、当該当該ワークに対する動作を終了するまでの時間を推定する。並行処理制御部550は、ワークID1410がW_0001であるワークの軌道情報に基づいて、上記の時間を推定してもよい。上記の時間は、制約条件の一例であってよい。並行処理制御部550は、上記の推定結果を計画部530に送信する。
[0160]
 一方、計画部530は、並行処理制御部550が推定した時間が満了又は経過する前に、ワークID1410がW_0002であるワークの計画処理が完了するように、当該ワークの計画処理の計算量を調整する。例えば、S1304における閾値の値を調整することで、計画処理の計算量を調整する。
[0161]
 図16に示されるとおり、ワークID1410がW_0001であるワークの認識処理においては、供給パレットID1434がS_0001である供給パレット12の認識処理と、配送パレットID1436がD_0001である配送パレット14の認識処理とが並行又は並列に実行される。また、それぞれの供給パレット12の認識処理においては、点群情報の生成処理と、位置姿勢情報の生成処理とが並行又は並列に実行される。同様に、それぞれの配送パレット14の認識処理においては、点群情報の生成処理と、位置姿勢情報の生成処理とが並行又は並列に実行される。
[0162]
 本実施形態において、認識処理が1回実行される間に、点群情報の生成処理が複数回実行される。これにより、認識部520は、適切なタイミングで、点群情報を、他の要素(例えば、実行部540である。)に提供することができる。また、他の要素における、点群情報が提供されるまでの間の待ち時間が減少する。
[0163]
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。また、各構成要素は、名称が同一で、参照符号が異なる他の構成要素と同様の特徴を有してもよい。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
[0164]
 請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
[0165]
 例えば、本願明細書には、下記の事項が記載されている。
 [項目1-1]
 ピッキングハンドを用いて第1位置でピッキングしたワークを、上記第1位置とは異なる第2位置に配置するピッキング装置を制御するための制御装置であって、
 上記第1位置において上記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第1候補情報を取得する第1候補情報取得部と、
 上記第2位置において上記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第2候補情報を取得する第2候補情報取得部と、
 上記第1候補情報により示される1以上の姿勢、及び、上記第2候補情報により示される1以上の姿勢に関する1以上の組み合わせの中から、一の組み合わせを抽出する抽出部と、
 上記ピッキングハンドが、(i)上記第1位置において、上記一の組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(ii)上記第2位置において、上記一の組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するための軌道を算出する軌道算出部と、
 上記軌道算出部が算出した軌道上における干渉の有無を判定する判定部と、
 を備える、制御装置。
 [項目1-2]
 上記判定部が、上記軌道上で干渉が生じると判断した場合、
 上記抽出部は、上記1以上の組み合わせの中から、他の組み合わせを抽出し、
 上記軌道算出部は、上記ピッキングハンドが、(i)上記第1位置において、上記他の組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(ii)上記第2位置において、上記他の組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するための軌道を算出し、
 上記判定部は、上記軌道算出部が算出した、上記他の組み合わせに関する軌道上における干渉の有無を判定する、
 項目1-1に記載の制御装置。
 [項目1-3]
 上記抽出部、上記軌道算出部及び上記判定部の少なくとも1つにおける計算量又は計算時間が予め定められた条件を満足する場合、
 上記抽出部は、上記1以上の組み合わせの中から、他の組み合わせを抽出し、
 上記軌道算出部は、上記ピッキングハンドが、(i)上記第1位置において、上記他の組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(ii)上記第2位置において、上記他の組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するための軌道を算出し、
 上記判定部は、上記軌道算出部が算出した、上記他の組み合わせに関する軌道上における干渉の有無を判定する、
 項目1-1に記載の制御装置。
 [項目1-4]
 上記軌道算出部は、上記ピッキングハンドが、(i)上記ピッキング装置が上記ワークに対する作業を開始するときの上記ピッキングハンドの位置である第3位置から、上記第1位置に移動し、(ii)上記第1位置において、上記抽出部が抽出した組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(iii)上記第2位置において、上記抽出部が抽出した組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するための軌道を算出する、
 項目1-1から項目1-3までの何れか一項に記載の制御装置。
 [項目1-5]
 上記抽出部は、
 上記1以上の組み合わせの少なくとも一部について、評価関数を算出し、
 上記評価関数に基づいて、上記一の組み合わせを選択する、
 項目1-1から項目1-4までの何れか一項に記載の制御装置。
 [項目1-6]
 上記評価関数は、上記ピッキングハンドが、(i)上記第1位置において、上記評価関数による評価の対象となる組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(ii)上記第2位置において、上記評価関数による評価の対象となる組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するまでの時間の推定値に関する評価項目を含む、
 項目1-5に記載の制御装置。
 [項目1-7]
 上記評価関数は、上記ピッキングハンドが、(i)上記ピッキング装置が上記ワークに対する作業を開始するときの上記ピッキングハンドの位置である第3位置から、上記第1位置に移動し、(ii)上記第1位置において、上記評価関数による評価の対象となる組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(iii)上記第2位置において、上記評価関数による評価の対象となる組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するまでの時間の推定値に関する評価項目を含む、
 項目1-5に記載の制御装置。
 [項目1-8]
 上記判定部は、
 上記軌道算出部が算出した軌道を複数の区間に分割し、
 区間ごとに干渉の有無を判定する、
 項目1-1から項目1-7までの何れか一項に記載の制御装置。
 [項目1-9]
 上記判定部の判定結果に基づいて、上記ピッキングハンドの軌道を決定する軌道決定部をさらに備える、
 項目1-1から項目1-8までの何れか一項に記載の制御装置。
 [項目1-10]
 上記軌道決定部は、上記軌道算出部が算出した軌道の補間軌道を生成する補間軌道生成部を有する、
 項目1-9に記載の制御装置。
 [項目1-11]
 項目1-1から項目1-10までの何れか一項に記載の制御装置と、
 上記ピッキング装置と、
 を備える、ピッキングシステム。
 [項目1-12]
 項目1-1から項目1-10までの何れか一項に記載の制御装置と、
 上記ピッキング装置と、
 上記ワークを搬送する搬送装置と、
 を備える、物流システム。
 [項目1-13]
 コンピュータを、項目1-1から項目1-10までの何れか一項に記載の制御装置として機能させるためのプログラム。
 [項目1-14]
 ピッキングハンドを用いて第1位置でピッキングしたワークを、上記第1位置とは異なる第2位置に配置するピッキング装置を制御するための制御方法であって、
 上記第1位置において上記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第1候補情報を取得する第1候補情報取得段階と、
 上記第2位置において上記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第2候補情報を取得する第2候補情報取得段階と、
 上記第1候補情報により示される1以上の姿勢、及び、上記第2候補情報により示される1以上の姿勢に関する1以上の組み合わせの中から、一の組み合わせを抽出する抽出段階と、
 上記ピッキングハンドが、(i)上記第1位置において、上記一の組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(ii)上記第2位置において、上記一の組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するための軌道を算出する軌道算出段階と、
 上記軌道算出段階において算出された軌道上における干渉の有無を判定する判定段階と、
 を有する、制御方法。
 [項目1-15]
 ピッキングハンドを用いて第1位置でピッキングしたワークを、上記第1位置とは異なる第2位置に配置するピッキング装置を使用して、上記ワークが配置された容器を生産する方法であって、
 上記容器の特定の位置を上記第2位置として設定する段階と、
 上記第1位置において上記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第1候補情報を取得する第1候補情報取得段階と、
 上記第2位置において上記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第2候補情報を取得する第2候補情報取得段階と、
 上記第1候補情報により示される1以上の姿勢、及び、上記第2候補情報により示される1以上の姿勢に関する1以上の組み合わせの中から、一の組み合わせを抽出する抽出段階と、
 上記ピッキングハンドが、(i)上記第1位置において、上記一の組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(ii)上記第2位置において、上記一の組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するための軌道を算出する軌道算出段階と、
 上記軌道算出段階において算出された軌道上における干渉の有無を判定する判定段階と、
 を有する、
 容器を生産する方法。
[0166]
 [項目2-1]
 ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、上記第1容器とは異なる第2容器の第2位置に配置するピッキング装置を制御するための制御装置であって、
 上記ピッキングハンドが、上記第1位置で上記ワークをピッキングし、当該ワークを上記第2位置に配置するための軌道を規定する軌道情報を生成する軌道情報生成部と、
 上記軌道情報生成部が生成した軌道情報に基づいて、上記ピッキング装置を動作させる実行制御部と、
 上記ピッキング装置が上記ワークに対する動作を開始させるための命令を受信してから、上記ピッキング装置が上記ワークに対する動作を終了するまでの時間を推定する実行時間推定部と、
 を備え、
 上記軌道情報生成部は、上記実行時間推定部の推定結果に基づいて計算量を調整する、
 制御装置。
 [項目2-2]
 上記軌道情報生成部は、第1ワークに関する軌道情報を生成するための処理を実行した後、上記第1ワークの移動が完了する前に、上記第1ワークとは異なる第2ワークに関する軌道情報を生成するための処理を実行し、
 上記実行時間推定部は、上記ピッキング装置が上記第1ワークに対する動作を開始させるための命令を受信してから、上記ピッキング装置が上記第1ワークに対する動作を終了するまでの第1時間を、上記軌道情報生成部が生成した上記第1ワークに関する軌道情報に基づいて推定し、
 上記軌道情報生成部は、上記実行時間推定部が推定した上記第1時間が満了又は経過する前に、上記第2ワークに関する軌道情報を生成するための処理が完了するように、上記第2ワークに関する軌道情報を生成するための処理の計算量を調整する、
 項目2-1に記載の制御装置。
 [項目2-3]
 上記軌道情報生成部は、上記第1ワークに関する軌道情報を生成するための処理における演算結果を利用して、上記第2ワークに関する軌道情報を生成する、
 項目2-2に記載の制御装置。
 [項目2-4]
 上記軌道情報生成部は、
 上記第1位置において上記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第1候補情報を取得する第1候補情報取得部と、
 上記第2位置において上記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第2候補情報を取得する第2候補情報取得部と、
 上記第1候補情報により示される1以上の姿勢、及び、上記第2候補情報により示される1以上の姿勢に関する1以上の組み合わせの中から、一の組み合わせを抽出する抽出部と、
 上記ピッキングハンドが、(i)上記第1位置において、上記一の組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(ii)上記第2位置において、上記一の組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するための軌道を算出する軌道算出部と、
 上記軌道算出部が算出した軌道上における干渉の有無を判定する判定部と、
 を有する、
 項目2-1から項目2-3までの何れか一項に記載の制御装置。
 [項目2-5]
 上記判定部が、上記軌道上で干渉が生じると判断した場合、
 上記抽出部は、上記1以上の組み合わせの中から、他の組み合わせを抽出し、
 上記軌道算出部は、上記ピッキングハンドが、(i)上記第1位置において、上記他の組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(ii)上記第2位置において、上記他の組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するための軌道を算出し、
 上記判定部は、上記軌道算出部が算出した、上記他の組み合わせに関する軌道上における干渉の有無を判定する、
 項目2-4に記載の制御装置。
 [項目2-6]
 上記抽出部、上記軌道算出部及び上記判定部の少なくとも1つにおける計算量又は計算時間が予め定められた条件を満足する場合、
 上記抽出部は、上記1以上の組み合わせの中から、他の組み合わせを抽出し、
 上記軌道算出部は、上記ピッキングハンドが、(i)上記第1位置において、上記他の組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(ii)上記第2位置において、上記他の組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するための軌道を算出し、
 上記判定部は、上記軌道算出部が算出した、上記他の組み合わせに関する軌道上における干渉の有無を判定する、
 項目2-4に記載の制御装置。
 [項目2-7]
 上記実行時間推定部の推定結果に基づいて、上記抽出部、上記軌道算出部、及び、上記判定部の少なくとも1つにおける処理の計算量又は計算時間に関する制約条件を決定する制約条件設定部をさらに備え、
 上記抽出部、上記軌道算出部、及び、上記判定部の上記少なくとも1つは、上記制約条件設定部が設定した制約条件に基づいて、計算量又は計算時間を調整する、
 項目2-4から項目2-6までの何れか一項に記載の制御装置。
 [項目2-8]
 上記制約条件は、(i)当該処理の進捗が予め設定されたマイルストンに到達するまでの計算量又は計算時間の最大値、及び、(ii)当該処理が完了するまでの計算量又は計算時間の最大値の少なくとも一方である、
 項目2-7に記載の制御装置。
 [項目2-9]
 上記抽出部は、
 上記1以上の組み合わせの少なくとも一部について、評価関数を算出し、
 上記評価関数に基づいて、上記一の組み合わせを選択する、
 項目2-4から項目2-8までの何れか一項に記載の制御装置。
 [項目2-10]
 上記判定部は、
 上記軌道算出部が算出した軌道を複数の区間に分割し、
 区間ごとに干渉の有無を判定する、
 項目2-4から項目2-9までの何れか一項に記載の制御装置。
 [項目2-11]
 上記軌道情報生成部は、上記判定部の判定結果に基づいて、上記ピッキングハンドの軌道を決定する軌道決定部をさらに有する、
 項目2-4から項目2-10までの何れか一項に記載の制御装置。
 [項目2-12]
 項目2-1から項目2-11までの何れか一項に記載の制御装置と、
 上記ピッキング装置と、
 を備える、ピッキングシステム。
 [項目2-13]
 項目2-1から項目2-10までの何れか一項に記載の制御装置と、
 上記ピッキング装置と、
 上記ワークを搬送する搬送装置と、
 を備える、物流システム。
 [項目2-14]
 コンピュータを、項目2-1から項目2-11までの何れか一項に記載の制御装置として機能させるためのプログラム。
 [項目2-15]
 ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、上記第1容器とは異なる第2容器の第2位置に配置するピッキング装置を制御するための制御方法であって、
 上記ピッキングハンドが、上記第1位置で前記ワークをピッキングし、当該ワークを上記第2位置に配置するための軌道を規定する軌道情報を生成する軌道情報生成段階と、
 上記軌道情報生成段階において生成された軌道情報に基づいて、上記ピッキング装置を動作させる実行制御段階と、
 上記実行制御段階において、上記ピッキング装置が上記ワークに対する動作を開始させるための命令を受信してから、上記ピッキング装置が上記ワークに対する動作を終了するまでの時間を推定する実行時間推定段階と、
 を有し、
 上記軌道情報生成段階は、上記実行時間推定段階における推定結果に基づいて計算量を調整する段階を含む、
 制御方法。
 [項目2-16]
 ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、上記第1容器とは異なる第2容器の第2位置に配置するピッキング装置を使用して、上記ワークが配置された上記第2容器を生産する生産方法であって、
 上記ピッキングハンドが、上記第1位置で前記ワークをピッキングし、当該ワークを上記第2位置に配置するための軌道を規定する軌道情報を生成する軌道情報生成段階と、
 上記軌道情報生成段階において生成された軌道情報に基づいて、上記ピッキング装置を動作させる実行制御段階と、
 上記実行制御段階において、上記ピッキング装置が上記ワークに対する動作を開始させるための命令を受信してから、上記ピッキング装置が上記ワークに対する動作を終了するまでの時間を推定する実行時間推定段階と、
 を有し、
 上記軌道情報生成段階は、上記実行時間推定段階における推定結果に基づいて計算量を調整する段階を含む、
 生産方法。
[0167]
 [項目3-1]
 ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、上記第1容器とは異なる第2容器の第2位置に配置するピッキング装置を制御するための制御装置であって、
 (i)上記ピッキングハンドが、上記第1位置で上記ワークをピッキングするタイミング、(ii)上記ピッキングハンドが、上記ワークを上記第1容器の外に搬出するタイミング、(iii)上記ピッキングハンドが、上記ワークを上記第2容器の中に搬入するタイミング、及び、(iv)上記ピッキングハンドが、上記ワークを上記第2位置に配置するタイミングの少なくとも1つのタイミングにおける、上記ピッキングハンド及び上記ワークの少なくとも一方を含む領域の点群情報を取得する点群情報取得部と、
 上記点群情報取得部が取得した点群情報に基づいて、異常を検出する異常検出部と、
 を備える、制御装置。
 [項目3-2]
 上記少なくとも1つのタイミングにおいて、上記ピッキングハンド及び上記ワークの少なくとも一方を画角に含む画像の画像データを取得する画像取得部をさらに備え、
 上記点群情報取得部は、上記画像取得部が取得した画像に基づいて、上記点群情報を取得する、
 項目3-1に記載の制御装置。
 [項目3-3]
 上記点群情報は、3次元の点群情報である、
 項目3-1又は項目3-2に記載の制御装置。
 [項目3-4]
 上記異常検出部は、(i)上記点群情報と、(ii)上記ピッキング装置に配されたセンサの測定値、上記ピッキングハンド及び上記ピッキングハンドと連結するロボットアームの少なくとも一方の制御値、並びに、上記ピッキングハンド及び上記ロボットアームの少なくとも一方を駆動する駆動部のトルク、電圧値及び電流値の少なくとも1つからなる群から選択される少なくとも1つとに基づいて、異常を検出する、
 項目3-1から項目3-3までの何れか一項に記載の制御装置。
 [項目3-5]
 上記異常検出部が異常を検出した場合に、上記ピッキング装置の動作を中断させるための命令を、上記ピッキング装置に送信する命令送信部をさらに備える、
 項目3-1から項目3-4までの何れか一項に記載の制御装置。
 [項目3-6]
 項目3-1から項目3-5までの何れか一項に記載の制御装置と、
 上記ピッキング装置と、
 を備える、ピッキングシステム。
 [項目3-7]
 項目3-1から項目3-5までの何れか一項に記載の制御装置と、
 上記ピッキング装置と、
 上記ワークを搬送する搬送装置と、
 を備える、物流システム。
 [項目3-8]
 コンピュータを、項目3-1から項目3-5までの何れか一項に記載の制御装置として機能させるためのプログラム。
 [項目3-9]
 ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、上記第1容器とは異なる第2容器の第2位置に配置するピッキング装置を制御するための制御方法であって、
 (i)上記ピッキングハンドが、上記第1位置で上記ワークをピッキングするタイミング、(ii)上記ピッキングハンドが、上記ワークを上記第1容器の外に搬出するタイミング、(iii)上記ピッキングハンドが、上記ワークを上記第2容器の中に搬入するタイミング、及び、(iv)上記ピッキングハンドが、上記ワークを上記第2位置に配置するタイミングの少なくとも1つのタイミングにおける、上記ピッキングハンド及び上記ワークの少なくとも一方を含む領域の点群情報を取得する点群情報取得手順と、
 上記点群情報取得手順において取得された点群情報に基づいて、異常を検出する異常検出手順と、
 を有する、制御方法。
[0168]
 [項目4-1]
 ピッキングハンドを用いて、1又は複数のワークを、1又は複数の供給容器から1又は複数の配置容器に移動させるピッキング装置を制御するための制御装置であって、
 上記ピッキングハンドが、上記1又は複数の供給容器に含まれる一の供給容器に収容された上記1又は複数のワークの1つをピッキングし、当該ワークを、上記1又は複数の配置容器に含まれる一の配置容器に配置するための軌道を規定する軌道情報を生成する軌道情報生成部を備え、
 上記軌道情報生成部は、
 上記1又は複数のワークに含まれる第1ワークに関する軌道情報を生成するための処理を実行した後、上記第1ワークの移動が完了する前に、
 上記第1ワークに関する軌道情報を生成するための処理における演算結果を利用して、上記1又は複数のワークに含まれ、上記第1ワークとは異なる第2ワークに関する軌道情報を生成する、
 制御装置。
 [項目4-2]
 上記一の供給容器の表面の状態、及び、上記一の配置容器の表面の状態の少なくとも一方に関する情報を取得する容器情報取得部をさらに備え、
 上記軌道情報生成部は、
 (a)上記第1ワークに関する軌道情報を生成するための処理において、上記ピッキング装置が上記第1ワークを移動させる前の上記一の供給容器における、上記第1ワークの位置及び姿勢に関する情報を取得又は生成し、
 (b)上記第2ワークに関する軌道情報を生成するための処理において、(i)上記第1ワークの移動が完了する前に上記容器情報取得部が取得した情報、及び、(ii)上記一の供給容器における上記第1ワークの位置及び姿勢に関する情報を利用して、上記第2ワークに関する軌道情報を生成する、
 項目4-1に記載の制御装置。
 [項目4-3]
 上記一の供給容器及び上記一の配置容器の少なくとも一方の表面の状態に関する情報を取得する容器情報取得部をさらに備え、
 上記軌道情報生成部は、
 (a)上記第1ワークに関する軌道情報を生成するための処理において、上記ピッキング装置が上記第1ワークを移動させた後の上記一の配置容器における、上記第1ワークの位置及び姿勢に関する情報を取得又は生成し、
 (b)上記第2ワークに関する軌道情報を生成するための処理において、(i)上記第1ワークの移動が完了する前に、上記容器情報取得部が取得した情報、及び、(ii)上記一の配置容器における上記第1ワークの位置及び姿勢に関する情報を利用して、上記第2ワークに関する軌道情報を生成する、
 項目4-1に記載の制御装置。
 [項目4-4]
 (i)上記1又は複数のワークを、上記1又は複数の供給容器の少なくとも1つから、上記1又は複数の配置容器に含まれる第1配置容器に移動させることを指示する第1オーダー情報、及び、(ii)上記1又は複数のワークを、上記1又は複数の供給容器の少なくとも1つから、上記1又は複数の配置容器に含まれ、上記第1配置容器とは異なる第2配置容器に移動させることを指示する第2オーダー情報を取得するオーダー情報取得部をさらに備え、
 上記軌道情報生成部は、
 上記オーダー情報取得部が、上記第1オーダー情報及び上記第2オーダー情報の一方を取得したことに応じて、上記第1ワークに関する軌道情報を生成するための処理を実行し、
 上記オーダー情報取得部が、上記第1オーダー情報及び上記第2オーダー情報の他方を取得したことに応じて、上記第2ワークに関する軌道情報を生成するための処理を実行する、
 項目4-1から項目4-3までの何れか一項に記載の制御装置。
 [項目4-5]
 上記第1オーダー情報は、上記第1ワークを、上記1又は複数の供給容器に含まれる第1供給容器から上記第1配置容器に移動させることを指示し、
 上記第2オーダー情報は、上記第2ワークを、上記第1供給容器から上記第2配置容器に移動させることを指示し、
 上記軌道情報生成部は、
 上記オーダー情報取得部が上記第1オーダー情報を取得したことに応じて、上記第1ワークに関する軌道情報を生成するための処理を実行し、
 上記オーダー情報取得部が上記第2オーダー情報を取得したことに応じて、上記第2ワークに関する軌道情報を生成するための処理を実行する、
 項目4-4に記載の制御装置。
 [項目4-6]
 (i)上記1又は複数のワークを、上記1又は複数の供給容器に含まれる第1供給容器から、上記1又は複数の配置容器の少なくとも1つに移動させることを指示する第1オーダー情報、及び、(ii)上記1又は複数のワークを、上記1又は複数の供給容器に含まれ、上記第1供給容器とは異なる第2供給容器から、上記1又は複数の配置容器の少なくとも1つに移動させることを指示する第2オーダー情報を取得するオーダー情報取得部をさらに備え、
 上記軌道情報生成部は、
 上記オーダー情報取得部が、上記第1オーダー情報及び上記第2オーダー情報の一方を取得したことに応じて、上記第1ワークに関する軌道情報を生成するための処理を実行し、
 上記オーダー情報取得部が、上記第1オーダー情報及び上記第2オーダー情報の他方を取得したことに応じて、上記第2ワークに関する軌道情報を生成するための処理を実行する、
 項目4-1から項目4-3までの何れか一項に記載の制御装置。
 [項目4-7]
 上記第1オーダー情報は、上記第1ワークを、上記第1供給容器から上記1又は複数の供給容器に含まれる第1配置容器に移動させることを指示し、
 上記第2オーダー情報は、上記第2ワークを、上記第2供給容器から上記第1配置容器に移動させることを指示し、
 上記軌道情報生成部は、
 上記オーダー情報取得部が上記第1オーダー情報を取得したことに応じて、上記第1ワークに関する軌道情報を生成するための処理を実行し、
 上記オーダー情報取得部が上記第2オーダー情報を取得したことに応じて、上記第2ワークに関する軌道情報を生成するための処理を実行する、
 項目4-6に記載の制御装置。
 [項目4-8]
 (i)上記第1ワークを、上記1又は複数の供給容器に含まれる第1供給容器から、上記1又は複数の配置容器に含まれる第1配置容器に移動させることを指示する第1オーダー情報、及び、(ii)上記第2ワークを、上記1又は複数の供給容器に含まれ、上記第1供給容器とは異なる第2供給容器から、上記1又は複数の配置容器に含まれ、上記第1配置容器とは異なる第2配置容器に移動させることを指示する第2オーダー情報を取得するオーダー情報取得部をさらに備え、
 上記軌道情報生成部は、
 上記オーダー情報取得部が上記第1オーダー情報を取得したことに応じて、上記第1ワークに関する軌道情報を生成するための処理を実行し、
 上記オーダー情報取得部が上記第2オーダー情報を取得したことに応じて、上記第2ワークに関する軌道情報を生成するための処理を実行する、
 項目4-1から項目4-3までの何れか一項に記載の制御装置。
 [項目4-9]
 項目4-1から項目4-8までの何れか一項に記載の制御装置と、
 上記ピッキング装置と、
 を備える、ピッキングシステム。
 [項目4-10]
 項目4-1から項目4-8までの何れか一項に記載の制御装置と、
 上記ピッキング装置と、
 上記1又は複数のワークを搬送する搬送装置と、
 を備える、物流システム。
 [項目4-11]
 コンピュータを、項目4-1から項目4-8までの何れか一項に記載の制御装置として機能させるためのプログラム。
 [項目4-12]
 ピッキングハンドを用いて、1又は複数のワークを、1又は複数の供給容器から1又は複数の配置容器に移動させるピッキング装置を制御するための制御方法であって、
 上記ピッキングハンドが、上記1又は複数の供給容器に含まれる一の供給容器に収容された上記1又は複数のワークの1つをピッキングし、当該ワークを、上記1又は複数の配置容器に含まれる一の配置容器に配置するための軌道を規定する軌道情報を生成する軌道情報生成段階を有し、
 上記軌道情報生成段階は、
 上記1又は複数のワークに含まれる第1ワークに関する軌道情報を生成するための処理を実行した後、上記第1ワークの移動が完了する前に、上記第1ワークに関する軌道情報を生成するための処理における演算結果を利用して、上記1又は複数のワークに含まれ、上記第1ワークとは異なる第2ワークに関する軌道情報を生成する段階を含む、
 制御方法。
 [項目4-13]
 ピッキングハンドを用いて、1又は複数のワークを、1又は複数の供給容器から1又は複数の配置容器に移動させるピッキング装置を使用して、上記1又は複数のワークが配置された上記1又は複数の配置容器を生産する生産方法であって、
 上記ピッキングハンドが、上記1又は複数の供給容器に含まれる一の供給容器に収容された上記1又は複数のワークの1つをピッキングし、当該ワークを、上記1又は複数の配置容器に含まれる一の配置容器に配置するための軌道を規定する軌道情報を生成する軌道情報生成段階を有し、
 上記軌道情報生成段階は、
 上記1又は複数のワークに含まれる第1ワークに関する軌道情報を生成するための処理を実行した後、上記第1ワークの移動が完了する前に、上記第1ワークに関する軌道情報を生成するための処理における演算結果を利用して、上記1又は複数のワークに含まれ、上記第1ワークとは異なる第2ワークに関する軌道情報を生成する段階を含む、
 生産方法。
[0169]
 [項目5-1]
 対象物の3次元情報を取得する3次元情報取得部と、
 ピッキングハンドを用いて上記対象物を把持する方法を定義する把持情報を取得する把持情報取得部と、
 (i)上記3次元情報取得部が取得した上記対象物の3次元情報と、(ii)上記把持情報取得部が取得した把持情報とを対応付けて、記憶装置に格納する情報管理部と、
 を備えた、情報処理装置。
 [項目5-2]
 上記対象物の3次元情報は、原点情報及び座標軸情報の少なくとも一方を含む、
 項目5-1に記載の情報処理装置。
 [項目5-3]
 上記対象物の2次元情報を取得する2次元情報取得部をさらに備え、
 上記情報管理部は、(i)上記3次元情報取得部が取得した上記対象物の3次元情報と、(ii)上記把持情報取得部が取得した把持情報と、(iii)上記2次元情報取得部が取得した上記対象物の2次元情報とを対応付けて、上記記憶装置に格納する、
 項目5-1又は項目5-2に記載の情報処理装置。
 [項目5-4]
 上記2次元情報取得部が取得した上記対象物の2次元情報に基づいて、上記対象物を認識するための特徴情報を取得する特徴情報取得部をさらに備え、
 上記情報管理部は、(i)上記3次元情報取得部が取得した上記対象物の3次元情報と、(ii)上記把持情報取得部が取得した把持情報と、(iii)上記2次元情報取得部が取得した上記対象物の2次元情報と、(iv)上記特徴情報取得部が取得した上記対象物の特徴情報とを対応付けて、上記記憶装置に格納する、
 項目5-3に記載の情報処理装置。
 [項目5-5]
 上記対象物の2次元情報を取得する2次元情報取得部と、
 上記2次元情報取得部が取得した上記対象物の2次元情報に基づいて、上記対象物を認識するための特徴情報を取得する特徴情報取得部と、
 をさらに備え、
 上記情報管理部は、(i)上記3次元情報取得部が取得した上記対象物の3次元情報と、(ii)上記把持情報取得部が取得した把持情報と、(iii)上記特徴情報取得部が取得した上記対象物の特徴情報とを対応付けて、上記記憶装置に格納する、
 項目5-1又は項目5-2に記載の情報処理装置。
 [項目5-6]
 上記2次元情報は、上記対象物を3以上の方向から撮像した3以上の画像の画像データである、
 項目5-3から項目5-5までの何れか一項に記載の情報処理装置。
 [項目5-7]
 上記記憶装置をさらに備えた、
 項目5-1から項目5-6までの何れか一項に記載の情報処理装置。
 [項目5-8]
 上記情報管理部は、(i)上記3次元情報取得部が取得した上記対象物の3次元情報と、(ii)上記把持情報取得部が取得した把持情報と、(iii)上記対象物を識別するための識別情報とを対応付けて、記憶装置に格納する、
 項目5-1から項目5-7までの何れか一項に記載の情報処理装置。
 [項目5-9]
 ピッキングハンドを用いて第1位置でピッキングしたワークを、上記第1位置とは異なる第2位置に配置するピッキング装置を制御するためのピッキング制御部と、
 ピッキング装置の作業対象となる少なくとも1つのワークの識別情報を含むオーダー情報を取得するオーダー情報取得部と、
 1以上のワークの識別情報と、上記1以上のワークの把持情報とを対応付けて格納する把持情報格納部と、
 (i)上記記憶装置にアクセスして、上記オーダー情報取得部が取得したオーダー情報に含まれる上記少なくとも1つのワークの識別情報のうち、上記把持情報格納部に格納されていない識別情報に合致する上記対象物の識別情報と対応付けられた上記把持情報を抽出し、(ii)上記把持情報格納部に格納されていない識別情報と、上記抽出された把持情報とを対応付けて、上記把持情報格納部に格納する把持情報抽出部と、
 をさらに備え、
 上記把持情報格納部は、上記記憶装置とは異なる媒体により実現される、
 項目5-8に記載の情報処理装置。
 [項目5-10]
 上記把持情報格納部に格納された把持情報を参照して、上記第1位置において上記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第1候補情報を生成する第1候補情報生成部と、
 上記把持情報格納部に格納された把持情報を参照して、上記第2位置において上記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第2候補情報を生成する第2候補情報生成部と、
 上記第1候補情報により示される1以上の姿勢、及び、上記第2候補情報により示される1以上の姿勢に関する1以上の組み合わせの中から、一の組み合わせを抽出する抽出部と、
 上記ピッキングハンドが、(i)上記第1位置において、上記一の組み合わせに含まれる上記第1位置に関する姿勢で上記ワークをピッキングし、(ii)上記第2位置において、上記一の組み合わせに含まれる上記第2位置に関する姿勢で上記ワークを配置するための軌道を算出する軌道算出部と、
 上記軌道算出部が算出した軌道上における干渉の有無を判定する判定部と、
 をさらに備える、
 項目5-9に記載の情報処理装置。
 [項目5-11]
 項目5-9又は項目5-10に記載の情報処理装置と、
 上記ピッキング装置と、
 を備える、ピッキングシステム。
 [項目5-12]
 項目5-9又は項目5-10に記載の情報処理装置と、
 上記ピッキング装置と、
 上記ワークを搬送する搬送装置と、
 を備える、物流システム。
 [項目5-13]
 コンピュータを、項目5-1から項目5-10までの何れか一項に記載の情報処理装置として機能させるためのプログラム。
 [項目5-14]
 コンピュータが、対象物の3次元情報を取得する3次元情報取得段階と、
 コンピュータが、ピッキングハンドを用いて上記対象物を把持する方法を定義する把持情報を取得する把持情報取得段階と、
 コンピュータが、(i)上記3次元情報取得部が取得した上記対象物の3次元情報と、(ii)上記把持情報取得部が取得した把持情報とを対応付けて、記憶装置に格納する情報管理段階と、
 を有する、情報処理方法。

符号の説明

[0170]
 10 ワーク、12 供給パレット、14 配送パレット、100 物流管理システム、110 物品管理装置、120 データ登録装置、130 移載装置、140 ロボット、152 撮像装置、154 撮像装置、160 移載制御装置、170 搬送装置、172 コンベア、174 コンベア、210 注文情報取得部、220 搬送装置管理部、230 移載装置管理部、240 要求処理部、250 物品情報格納部、312 3次元情報取得部、314 2次元情報取得部、316 質量情報取得部、320 物品情報登録部、330 入出力部、340 登録情報生成部、342 座標情報付与部、344 把持情報付与部、346 仕様情報付与部、350 登録要求送信部、410 マニュピレータ、412 ピッキングハンド、414 ロボットアーム、420 駆動部、430 駆動制御部、510 認識情報格納部、520 認識部、530 計画部、540 実行部、550 並行処理制御部、610 位置姿勢情報生成部、620 点群情報生成部、710 把持計画部、720 配置計画部、730 評価情報格納部、740 軌道候補抽出部、750 軌道計画部、760 制御情報生成部、810 制御情報送信部、820 実行監視部、1400 データテーブル、1410 ワークID、1420 オーダーID、1430 内容、1432 物品ID、1434 供給パレットID、1436 配送パレットID

請求の範囲

[請求項1]
 ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、前記第1容器とは異なる第2容器の第2位置に配置するピッキング装置を制御するための制御装置であって、
 前記ピッキングハンドが、前記第1位置で前記ワークをピッキングし、当該ワークを前記第2位置に配置するための軌道を規定する軌道情報を生成する軌道情報生成部と、
 前記軌道情報生成部が生成した軌道情報に基づいて、前記ピッキング装置を動作させる実行制御部と、
 前記ピッキング装置が前記ワークに対する動作を開始させるための命令を受信してから、前記ピッキング装置が前記ワークに対する動作を終了するまでの時間を推定する実行時間推定部と、
 を備え、
 前記軌道情報生成部は、前記実行時間推定部の推定結果に基づいて計算量を調整する、
 制御装置。
[請求項2]
 前記軌道情報生成部は、第1ワークに関する軌道情報を生成するための処理を実行した後、前記第1ワークの移動が完了する前に、前記第1ワークとは異なる第2ワークに関する軌道情報を生成するための処理を実行し、
 前記実行時間推定部は、前記ピッキング装置が前記第1ワークに対する動作を開始させるための命令を受信してから、前記ピッキング装置が前記第1ワークに対する動作を終了するまでの第1時間を、前記軌道情報生成部が生成した前記第1ワークに関する軌道情報に基づいて推定し、
 前記軌道情報生成部は、前記実行時間推定部が推定した前記第1時間が満了又は経過する前に、前記第2ワークに関する軌道情報を生成するための処理が完了するように、前記第2ワークに関する軌道情報を生成するための処理の計算量を調整する、
 請求項1に記載の制御装置。
[請求項3]
 前記軌道情報生成部は、前記第1ワークに関する軌道情報を生成するための処理における演算結果を利用して、前記第2ワークに関する軌道情報を生成する、
 請求項2に記載の制御装置。
[請求項4]
 前記軌道情報生成部は、
 前記第1位置において前記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第1候補情報を取得する第1候補情報取得部と、
 前記第2位置において前記ピッキングハンドが採り得る1以上の姿勢のそれぞれを示す第2候補情報を取得する第2候補情報取得部と、
 前記第1候補情報により示される1以上の姿勢、及び、前記第2候補情報により示される1以上の姿勢に関する1以上の組み合わせの中から、一の組み合わせを抽出する抽出部と、
 前記ピッキングハンドが、(i)前記第1位置において、前記一の組み合わせに含まれる前記第1位置に関する姿勢で前記ワークをピッキングし、(ii)前記第2位置において、前記一の組み合わせに含まれる前記第2位置に関する姿勢で前記ワークを配置するための軌道を算出する軌道算出部と、
 前記軌道算出部が算出した軌道上における干渉の有無を判定する判定部と、
 を有する、
 請求項1から請求項3までの何れか一項に記載の制御装置。
[請求項5]
 前記判定部が、前記軌道上で干渉が生じると判断した場合、
 前記抽出部は、前記1以上の組み合わせの中から、他の組み合わせを抽出し、
 前記軌道算出部は、前記ピッキングハンドが、(i)前記第1位置において、前記他の組み合わせに含まれる前記第1位置に関する姿勢で前記ワークをピッキングし、(ii)前記第2位置において、前記他の組み合わせに含まれる前記第2位置に関する姿勢で前記ワークを配置するための軌道を算出し、
 前記判定部は、前記軌道算出部が算出した、前記他の組み合わせに関する軌道上における干渉の有無を判定する、
 請求項4に記載の制御装置。
[請求項6]
 前記抽出部、前記軌道算出部及び前記判定部の少なくとも1つにおける計算量又は計算時間が予め定められた条件を満足する場合、
 前記抽出部は、前記1以上の組み合わせの中から、他の組み合わせを抽出し、
 前記軌道算出部は、前記ピッキングハンドが、(i)前記第1位置において、前記他の組み合わせに含まれる前記第1位置に関する姿勢で前記ワークをピッキングし、(ii)前記第2位置において、前記他の組み合わせに含まれる前記第2位置に関する姿勢で前記ワークを配置するための軌道を算出し、
 前記判定部は、前記軌道算出部が算出した、前記他の組み合わせに関する軌道上における干渉の有無を判定する、
 請求項4に記載の制御装置。
[請求項7]
 前記実行時間推定部の推定結果に基づいて、前記抽出部、前記軌道算出部、及び、前記判定部の少なくとも1つにおける処理の計算量又は計算時間に関する制約条件を決定する制約条件設定部をさらに備え、
 前記抽出部、前記軌道算出部、及び、前記判定部の前記少なくとも1つは、前記制約条件設定部が設定した制約条件に基づいて、計算量又は計算時間を調整する、
 請求項4から請求項6までの何れか一項に記載の制御装置。
[請求項8]
 前記制約条件は、(i)当該処理の進捗が予め設定されたマイルストンに到達するまでの計算量又は計算時間の最大値、及び、(ii)当該処理が完了するまでの計算量又は計算時間の最大値の少なくとも一方である、
 請求項7に記載の制御装置。
[請求項9]
 前記抽出部は、
 前記1以上の組み合わせの少なくとも一部について、評価関数を算出し、
 前記評価関数に基づいて、前記一の組み合わせを選択する、
 請求項4から請求項8までの何れか一項に記載の制御装置。
[請求項10]
 前記判定部は、
 前記軌道算出部が算出した軌道を複数の区間に分割し、
 区間ごとに干渉の有無を判定する、
 請求項4から請求項9までの何れか一項に記載の制御装置。
[請求項11]
 前記軌道情報生成部は、前記判定部の判定結果に基づいて、前記ピッキングハンドの軌道を決定する軌道決定部をさらに有する、
 請求項4から請求項10までの何れか一項に記載の制御装置。
[請求項12]
 請求項1から請求項11までの何れか一項に記載の制御装置と、
 前記ピッキング装置と、
 を備える、ピッキングシステム。
[請求項13]
 請求項1から請求項10までの何れか一項に記載の制御装置と、
 前記ピッキング装置と、
 前記ワークを搬送する搬送装置と、
 を備える、物流システム。
[請求項14]
 コンピュータを、請求項1から請求項11までの何れか一項に記載の制御装置として機能させるためのプログラム。
[請求項15]
 ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、前記第1容器とは異なる第2容器の第2位置に配置するピッキング装置を制御するための制御方法であって、
 前記ピッキングハンドが、前記第1位置で前記ワークをピッキングし、当該ワークを前記第2位置に配置するための軌道を規定する軌道情報を生成する軌道情報生成段階と、
 前記軌道情報生成段階において生成された軌道情報に基づいて、前記ピッキング装置を動作させる実行制御段階と、
 前記実行制御段階において、前記ピッキング装置が前記ワークに対する動作を開始させるための命令を受信してから、前記ピッキング装置が前記ワークに対する動作を終了するまでの時間を推定する実行時間推定段階と、
 を有し、
 前記軌道情報生成段階は、前記実行時間推定段階における推定結果に基づいて計算量を調整する段階を含む、
 制御方法。
[請求項16]
 ピッキングハンドを用いて、第1容器の第1位置でピッキングしたワークを、前記第1容器とは異なる第2容器の第2位置に配置するピッキング装置を使用して、前記ワークが配置された前記第2容器を生産する生産方法であって、
 前記ピッキングハンドが、前記第1位置で前記ワークをピッキングし、当該ワークを前記第2位置に配置するための軌道を規定する軌道情報を生成する軌道情報生成段階と、
 前記軌道情報生成段階において生成された軌道情報に基づいて、前記ピッキング装置を動作させる実行制御段階と、
 前記実行制御段階において、前記ピッキング装置が前記ワークに対する動作を開始させるための命令を受信してから、前記ピッキング装置が前記ワークに対する動作を終了するまでの時間を推定する実行時間推定段階と、
 を有し、
 前記軌道情報生成段階は、前記実行時間推定段階における推定結果に基づいて計算量を調整する段階を含む、
 生産方法。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]

[ 図 11]

[ 図 12]

[ 図 13]

[ 図 14]

[ 図 15]

[ 図 16]