(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-22
(45)【発行日】2022-10-03
(54)【発明の名称】ロボットシステム及びその制御方法
(51)【国際特許分類】
B25J 13/00 20060101AFI20220926BHJP
B65B 5/08 20060101ALI20220926BHJP
【FI】
B25J13/00 Z
B65B5/08
(21)【出願番号】P 2018168088
(22)【出願日】2018-09-07
【審査請求日】2020-11-19
【前置審査】
(73)【特許権者】
【識別番号】000153546
【氏名又は名称】株式会社日立物流
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】木村 宣隆
(72)【発明者】
【氏名】紅山 史子
(72)【発明者】
【氏名】嶋津 泰毅
(72)【発明者】
【氏名】西田 佳弘
(72)【発明者】
【氏名】植木 隆雄
【審査官】松浦 陽
(56)【参考文献】
【文献】国際公開第2019/206924(WO,A1)
【文献】米国特許出願公開第2019/0255704(US,A1)
【文献】国際公開第2017/149616(WO,A1)
【文献】FRANKA EMIKA,Boxes into box,[online],youtube,2018年05月30日,[令和3年10月22日検索]、インターネット、<URL:https://www.youtube.com/watch?v=uxD_78_xbNg>
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
B65B 5/08
(57)【特許請求の範囲】
【請求項1】
底面と、前記底面に接続された壁面と、を有する搬送先に搬送対象物を搬送するマニピュレータを有するロボットシステムであって、
前記マニピュレータが、第1の搬送対象物を
、前記搬送先の底面
上の、第2の搬送対象物の底面の全体を挿入可能な空間に隣接する位置に置く第1の工程と、
前記マニピュレータが、
前記第2の搬送対象物を、前記搬送先の底面上の、前記第1の搬送対象物と接触しない位置であって、前記第2の搬送対象物の底面の全体が前記第1の搬送対象物の底面より高く、前記第1の搬送対象物の上面より低い位置にあって、かつ、前記マニピュレータの把持部が前記第1の搬送対象物の上面より高い位置にある高さ条件を満たすように移動させる第2の工程と、
前記マニピュレータが、前記第2の搬送対象物を、前記高さ条件を満たしつつ、前記第2の工程が終了した位置から前記第1の搬送対象物に向けて少なくとも水平方向の成分を含むように移動させ、当該第2の搬送対象物の前記把持部より下の部分が前記第1の搬送対象物に接触した後にさらに移動させることによって、前記第1の搬送対象物を移動させる第3の工程と、を実行することを特徴とするロボットシステム。
【請求項2】
請求項1に記載のロボットシステムであって、
前記第3の工程において、前記マニピュレータは、前記第2の搬送対象物を前記第1の搬送対象物に接触した後にさらに移動させることによって、前記第1の搬送対象物の姿勢を変更することを特徴とするロボットシステム。
【請求項3】
請求項1に記載のロボットシステムであって、
前記第2の工程における前記第2の搬送対象物の移動方向と、前記第3の工程における前記第2の搬送対象物の移動方向と、が異なることを特徴とするロボットシステム。
【請求項4】
請求項1に記載のロボットシステムであって、
前記第1の工程において、前記第1の搬送対象物は前記壁面と接触しない位置に置かれることを特徴とするロボットシステム。
【請求項5】
請求項1に記載のロボットシステムであって、
前記第2の工程が終了した時点で、前記第1の搬送対象物は、前記搬送先の壁面と、前記第2の搬送対象物との間に置かれており、
前記第3の工程において、前記マニピュレータは、前記第2の搬送対象物を、前記第1の搬送対象物に接触した後に、前記壁面の方向に移動させることによって、前記第1の搬送対象物を前記壁面の方向に移動させることを特徴とするロボットシステム。
【請求項6】
請求項5に記載のロボットシステムであって、
前記第3の工程において前記第1の搬送対象物が前記壁面の方向に移動する距離は、前記第1の工程において置かれた前記第1の搬送対象物と前記壁面との距離より小さいことを特徴とするロボットシステム。
【請求項7】
請求項6に記載のロボットシステムであって、
前記搬送先の壁面の位置の認識誤差、前記搬送対象物の位置の認識誤差、及び、前記搬送対象物の姿勢の認識誤差のうちの少なくともいずれか一つを考慮し、
全ての前記考慮した認識誤差の最大値を保持し、
前記第1の工程において、前記マニピュレータは、全ての前記考慮した認識誤差がいずれも最大であっても、前記壁面に接触しないように、前記第1の搬送対象物を置くことを特徴とするロボットシステム。
【請求項8】
請求項1に記載のロボットシステムであって、
前記マニピュレータは、前記搬送対象物を把持する把持部を有し、
前記把持部は、前記搬送対象物を挟むことによって前記搬送対象物を把持する複数の指を有することを特徴とするロボットシステム。
【請求項9】
請求項1に記載のロボットシステムであって、
前記マニピュレータは、前記搬送対象物を把持する把持部を有し、
前記把持部は、前記搬送対象物を吸着することによって前記搬送対象物を把持する吸着部を有することを特徴とするロボットシステム。
【請求項10】
底面と、前記底面に接続された壁面と、を有する搬送先に搬送対象物を搬送するマニピュレータを有するロボットシステムであって、
前記マニピュレータが、第1の搬送対象物を前記搬送先の底面に置く第1の工程と、
前記マニピュレータが、第2の搬送対象物を、前記搬送先の底面上の、前記第1の搬送対象物と接触しない位置に搬送する第2の工程と、
前記マニピュレータが、前記第2の搬送対象物を、前記第1の搬送対象物と接触しない位置から前記第1の搬送対象物の方向に移動させ、前記第1の搬送対象物に接触した後にさらに移動させることによって、前記第1の搬送対象物を移動させる第3の工程と、を実行し、
前記マニピュレータは、前記搬送対象物を把持する把持部を有し、
前記把持部は、前記搬送対象物を吸着することによって前記搬送対象物を把持する二つの吸着部を有し、
前記第2の工程において、第1の吸着部が前記第2の搬送対象物を吸着し、前記マニピュレータが第3の搬送対象物に向かって移動し、前記第2の搬送対象物と前記第3の搬送対象物が接触し前記第3の搬送対象物が前記第2の搬送対象物に対応する姿勢となった後、第2の吸着部が前記第3の搬送対象物を吸着し、
前記第3の工程において、前記マニピュレータは、前記第2の搬送対象物または前記第3の搬送対象物を前記第1の搬送対象物に接触させながら移動させることを特徴とするロボットシステム。
【請求項11】
請求項1に記載のロボットシステムであって、
前記搬送対象物と前記搬送先との相対位置関係のばらつきの範囲を予め保持し、
前記第2の工程において、前記第1の搬送対象物と接触しない位置とは、前記ばらつきの範囲外の位置であることを特徴とするロボットシステム。
【請求項12】
底面と、前記底面に接続された壁面と、を有する搬送先に搬送対象物を搬送するマニピュレータを有するロボットシステムであって、
前記マニピュレータは、前記搬送対象物を吸着することによって前記搬送対象物を把持する吸着部を少なくとも二つ有しており、
第1の吸着部は、第1の搬送対象物を把持し、
把持された前記第1の搬送対象物を第2の搬送対象物の方向へ搬送し、
前記第1の吸着部は、前記第1の搬送対象物を第2の搬送対象物へ接触させることにより前記第1の搬送対象物と前記第2の搬送対象物とが対応する姿勢となった後に、第2の吸着部は前記第2の搬送対象物を吸着することを特徴とするロボットシステム。
【請求項13】
底面と、前記底面に接続された壁面と、を有する搬送先に搬送対象物を搬送するマニピュレータを有するロボットシステムの制御方法であって、
前記マニピュレータが、第1の搬送対象物を
、前記搬送先の底面
上の、第2の搬送対象物の底面の全体を挿入可能な空間に隣接する位置に置く第1の手順と、
前記マニピュレータが、
前記第2の搬送対象物を、前記搬送先の底面上の、前記第1の搬送対象物と接触しない位置であって、前記第2の搬送対象物の底面の全体が前記第1の搬送対象物の底面より高く、前記第1の搬送対象物の上面より低い位置にあって、かつ、前記マニピュレータの把持部が前記第1の搬送対象物の上面より高い位置にある高さ条件を満たすように移動させる第2の手順と、
前記マニピュレータが、前記第2の搬送対象物を、前記高さ条件を満たしつつ、前記第2の手順が終了した位置から前記第1の搬送対象物に向けて少なくとも水平方向の成分を含むように移動させ、当該第2の搬送対象物の前記把持部より下の部分が前記第1の搬送対象物に接触した後にさらに移動させることによって、前記第1の搬送対象物を移動させる第3の手順と、を含むことを特徴とするロボットシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、倉庫等で使用されるロボットシステムに関する。
【背景技術】
【0002】
物品の箱詰めを自動化する技術として、例えば特開2008-13206号公報(特許文献1)に開示されたものがある。特許文献1には、「無端軌道の進行方向と交差して該無端軌道から延びて並立する一連の仕切板によって該仕切板間の前記無端軌道上に物品を収容できる収容部が複数連なって形成されていて、前記無端軌道が折り返す反転部において前記仕切板が前記無端軌道から斜め上向きに延びる収容位置において一連の前記収容部に前記物品を収容し、一連の前記収容部が整列する整列位置において一連の前記収容部から前記物品を押し出して物品群を形成し、該物品群を外装箱に押し込む、箱詰め装置であって、前記反転部における一連の前記仕切板の延伸端を結んで形成される円弧よりも外周側において前記収容位置における接線方向に延びる検出用光路が複数水平方向に並列するようにして配設されている複数の遮光形検出器と、前記遮光形検出器の検出信号に基づいて前記無端軌道を制御する制御装置と、を有する」と記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
同一形状(サイズを含む)の複数の物品を箱に格納する場合において、その形状が既知であれば、特許文献1に記載の装置を用いることで、物品同士の空間を隙間なく格納することができる。
【0005】
しかし、多様な品目の商品を扱う倉庫において、配送先からのオーダに従って物品を箱に格納する場合には、配送先ごとに箱に格納する物品の品目や数が異なる場合や、一つの箱に複数の品目の物品が混在する場合がある。このような場合には、オーダに従って、それぞれに異なる形状の物品を一つずつ箱に格納する作業が必要となる。
【0006】
つまり、複数の異なる形状の物品を格納する作業をロボットによって自動化する場合、ロボットが格納する物品ごとの位置と形状を認識し、それを把持し、箱に格納する工程が必要となる。このとき、ロボットによる物品の位置の認識には実空間の物品の位置との誤差があるため、箱内の収容効率を向上させるため箱に物品の隙間をより小さく格納することが求められるが、特許文献1の技術ではこの点について考慮されていない。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明は、底面と、前記底面に接続された壁面と、を有する搬送先に搬送対象物を搬送するマニピュレータを有するロボットシステムであって、前記マニピュレータが、第1の搬送対象物を、前記搬送先の底面上の、第2の搬送対象物の底面の全体を挿入可能な空間に隣接する位置に置く第1の工程と、前記マニピュレータが、前記第2の搬送対象物を、前記搬送先の底面上の、前記第1の搬送対象物と接触しない位置であって、前記第2の搬送対象物の底面の全体が前記第1の搬送対象物の底面より高く、前記第1の搬送対象物の上面より低い位置にあって、かつ、前記マニピュレータの把持部が前記第1の搬送対象物の上面より高い位置にある高さ条件を満たすように移動させる第2の工程と、前記マニピュレータが、前記第2の搬送対象物を、前記高さ条件を満たしつつ、前記第2の工程が終了した位置から前記第1の搬送対象物に向けて少なくとも水平方向の成分を含むように移動させ、当該第2の搬送対象物の前記把持部より下の部分が前記第1の搬送対象物に接触した後にさらに移動させることによって、前記第1の搬送対象物を移動させる第3の工程と、を実行することを特徴とする。
【発明の効果】
【0008】
本発明の一態様によれば、異なる形状の複数の物品を箱に格納する際に、物品間の隙間をより小さくすることで箱内の収容効率を向上させることができる。
【0009】
上記した以外の課題、構成及び効果は、以下の実施形態の説明によって明らかにされる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施例のロボットシステムが使用される倉庫の説明図である。
【
図3】本発明の実施例のロボットによる物品の認識誤差の説明図である。
【
図4】本発明の実施例のロボットが物品を把持したときの物品の認識誤差の説明図である。
【
図5】本発明の実施例の指型ハンドによる物品の把持の説明図である。
【
図6】本発明の実施例の指型ハンドによって仕分箱に最初に格納される物品の理想的な設置位置の説明図である。
【
図7】本発明の実施例の指型ハンドによる物品のずらし移動時の指の先端の高さの説明図である。
【
図8】本発明の実施例の指型ハンドを用いて物品を追加設置する場合の理想的な設置位置の説明図である。
【
図9】本発明の実施例の指型ハンドを用いて物品を追加設置する場合の、最大誤差を含んだ実際の設置位置の説明図である。
【
図10】本発明の実施例の吸着ハンドによる物品の把持の説明図である。
【
図11】本発明の実施例の吸着ハンドによって仕分箱に最初に格納される物品の理想的な設置位置の説明図である。
【
図12】本発明の実施例の吸着ハンドによる物品のずらし移動時の吸着パッドの先端の高さの説明図である。
【
図13】本発明の実施例の吸着ハンドを用いて物品を追加設置する場合の理想的な設置位置の説明図である。
【
図14】本発明の実施例の吸着ハンドを用いる場合の物品の理想位置と最大誤差を考慮した想定領域との関係の説明図である。
【
図15】本発明の実施例の吸着ハンドを用いて物品を追加設置する場合の、y方向の最大誤差を含んだ実際の設置位置の第1の説明図である。
【
図16】本発明の実施例の吸着ハンドを用いて物品を追加設置する場合の、y方向の最大誤差を含んだ実際の設置位置の第2の説明図である。
【
図17】本発明の実施例の吸着ハンドを用いて物品を追加設置する場合の最大誤差を含んだ実際の設置位置の説明図である。
【
図18】本発明の実施例の2連吸着ハンドによる物品の把持の説明図である。
【
図19】本発明の実施例のロボットシステムのハードウェア構成の説明図である。
【
図20】本発明の実施例の全体管理コンピュータが保持する倉庫状態管理情報の説明図である。
【
図21】本発明の実施例の全体管理コンピュータ及びロボットが保持する倉庫定義情報の説明図である。
【
図22】本発明の実施例の全体管理コンピュータが保持するオーダ情報の説明図である。
【
図23】本発明の実施例の全体管理コンピュータが保持する作業計画情報の説明図である。
【
図24】本発明の実施例の全体管理コンピュータが保持する個別作業情報の説明図である。
【
図25】本発明の実施例の全体管理コンピュータが保持する間口情報の説明図である。
【
図26】本発明の実施例の全体管理コンピュータが保持する仕分箱情報の説明図である。
【
図27】本発明の実施例の全体管理コンピュータ及びロボットが保持する物品種別情報の説明図である。
【
図28】本発明の実施例の全体管理コンピュータ及びロボットが保持するロボット把持誤差モデルの説明図である。
【
図29】本発明の実施例のロボットが保持する箱内物品配置情報の説明図である。
【
図30】本発明の実施例の全体管理コンピュータが各オーダに対して実行する処理を示すフローチャートである。
【
図31】本発明の実施例の全体管理コンピュータが各オーダに対して作業計画を作成する処理を示すフローチャートである。
【
図32】本発明の実施例のロボットが各オーダに対して実行する動作を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施例を説明する。
【0012】
図1は、本発明の実施例のロボットシステムが使用される倉庫の説明図である。
【0013】
具体的には、
図1には、倉庫のうち、配送される物品を配送先ごとに仕分ける仕分けエリアの一例を示す。仕分けエリアには、自動ラック108が設置されている。自動ラックには、複数の格納箱103が格納され、各格納箱には一つ以上の物品が格納される。オーダされた物品が格納された格納箱103は、自動ラック108から取り出されて、格納箱搬送コンベア102に載せられ、ロボット101の作業エリアまで搬送される。
【0014】
作業エリアにおいて、ロボット101は、オーダに応じた数の物品を格納箱103から順次取り出して仕分箱105に格納する。この作業はピッキング又は仕分けとも呼ばれる。その後、格納箱103は格納箱搬送コンベア102によってロボット101の作業エリア外に搬送され、自動ラック108に戻される。
【0015】
一方、作業員106は、指示端末107から出力された指示に従って、仕分箱105を仕分箱搬送コンベア104に載せる。仕分箱搬送コンベア104は、仕分箱をロボット101の作業エリアまで搬送する。ロボット101が格納箱103から取り出した物品を仕分箱105に格納すると、その後、仕分箱搬送コンベア104は、仕分箱105をロボット101の作業エリア外に搬送する。
【0016】
オーダに応じて仕分箱105に格納すべき物品が全て格納されると、仕分箱搬送コンベア104は、仕分箱105を後工程の作業場所(図示省略)に搬送する。最終的に、仕分箱105に格納された物品は、その仕分箱105に対応するオーダをした配送先へ配送される。
【0017】
上位システム110は倉庫全体を管理する計算機システムであり、全体管理コンピュータ109は倉庫内での仕分け等の作業を管理する計算機システムである。例えば、上位システム110は、各配送先からの注文(オーダ)を受け付け、そのオーダに関する仕分作業を全体管理コンピュータ109に指示してもよい。
【0018】
全体管理コンピュータ109は、そのオーダに対する仕分作業を行うために、自動ラック108、作業員106、ロボット101、格納箱搬送コンベア102及び仕分箱搬送コンベア104に対する指示を作成してそれらに送信してもよい。作業員106に対する指示は、指示端末107が受信して出力する。仕分け作業が完了すると、上位システム110はその報告を全体管理コンピュータ109から受信し、梱包などの次工程の実行を関係するシステムに指示してもよい。
【0019】
図2は、本発明の実施例のロボット101の説明図である。
【0020】
具体的には、
図2(a)及び
図2(b)にはそれぞれ異なる方向から観察したロボット101全体の形状を示す。
図2(c)~
図2(e)には、それぞれ、異なる種類のハンド203の形状を示す。
【0021】
ロボット101は、アーム201、物品認識センサ202、ハンド203、格納箱認識センサ204及び仕分箱認識センサ205を有する。ハンド203は、アーム201の先端に取り付けられ、物品を把持する。物品認識センサ202は、ハンド203がこれから把持しようとする物品を認識する。物品認識センサ202は、例えば、アーム201の先端に取り付けられ、ハンド203が把持する物品の方向を撮影するカメラ又は距離画像カメラであってもよい。
【0022】
アーム201は、複数の関節を有し、それらを駆動することによって、ハンド203をアーム201の可動範囲内の任意の位置に移動させることができる。
【0023】
格納箱認識センサ204は、ロボット101の作業エリアに搬送された格納箱103を認識する。格納箱認識センサ204は、例えば、作業エリアのうち格納箱103が搬送される領域に面するロボット101の側面に設置されたカメラ、距離画像カメラ又はバーコードリーダ等であってもよい。格納箱認識センサ204がバーコードリーダである場合には、各格納箱103には、それが作業エリアに搬送されたときに格納箱認識センサ204が読み取り可能な位置に、所定の情報を含むバーコードを有している必要がある。
【0024】
仕分箱認識センサ205は、ロボット101の作業エリアに搬送された仕分箱105を認識する。仕分箱認識センサ205は、例えば、作業エリアのうち仕分箱105が搬送される領域に面するロボット101の側面に設置されたカメラ、距離画像カメラ又はバーコードリーダ等であってもよい。仕分箱認識センサ205がバーコードリーダである場合には、各仕分箱105には、それが作業エリアに搬送されたときに仕分箱認識センサ205が読み取り可能な位置に、所定の情報を含むバーコードを有している必要がある。
【0025】
ハンド203は、物品を把持するための機構を有している。例えば、ハンド203は、
図2(c)に示すように、物品を挟むことで把持する複数の指209(例えば指209a及び209b)を有する指型ハンド203aであってもよい。あるいは、ハンド203は、
図2(d)に示すように、負圧を生じる吸着パッド210aを有し、負圧を利用した吸着によって物品を把持する吸着ハンド203bであってもよい。あるいは、ハンド203は、
図2(e)に示すように、二つの吸着パッド210b及び210cを有し、二つの物品を同時に把持することができる2連吸着ハンド203cであってもよい。
【0026】
なお、本実施例において、指型ハンド203a又は吸着ハンド203b等、いずれの形式のハンドにも共通する説明をする場合には、それらを総称してハンド203と記載する場合がある。また、指型ハンド203aの複数の指209a及び209b等のいずれにも共通する説明をする場合には、それらを総称して指209と記載する場合がある。物品251等、他の参照符号についても同様である。
【0027】
図3は、本発明の実施例のロボット101による物品の認識誤差の説明図である。
【0028】
図3(a)に示すように、格納箱認識センサ204が作業エリアに搬送された格納箱103を認識した場合に、物品認識センサ202は、格納箱103の方向を撮影する。
図3(b)は、格納箱103の一つである格納箱103aに格納されている4個の物品251(すなわち物品251a~251d)の配置の例を示す平面図である。
図3(c)は、太い実線の矩形で示す物品251の真の位置と、太い点線の矩形で示す認識結果252との差の例を示す。
【0029】
物品251の長辺方向をx方向、それに直交する方向をy方向とした場合に、認識誤差は、物品251の中心位置の座標値と認識結果252の中心位置の座標値との差であるΔx及びΔyと、物品251の中心線の方向と認識結果252の中心線の方向との差であるΔθと、を含む。前者を位置の誤差、後者を姿勢の誤差とも記載する。
【0030】
図4は、本発明の実施例のロボット101が物品を把持したときの物品の認識誤差の説明図である。
【0031】
図4(a)は、指型ハンド203aを用いて物品251を把持する場合の、指209と、物品251の実際の位置と、物品251の認識結果252と、の関係の一例を示す平面図である。
図4(a)における物品251と認識結果252との間には、
図3(c)と同様の位置の誤差Δx、Δy及び姿勢の誤差Δθがある。ロボット101は、認識結果252に基づいて指型ハンド203aによる把持位置を決定する。
【0032】
例えば物品251及び認識結果252が
図4(a)に示すように長方形である場合に、ロボット101は、認識結果252の両側の長辺の中心を、長辺に直交する方向から、指209a及び209bによって挟む。その結果、物品251の姿勢が変更されて、物品251の中心線の方向が認識結果252の中心線の方向と一致することとなる。すなわち、これによって姿勢の誤差は解消する。
【0033】
さらに、この把持によって、物品251の位置は、指209a及び209bが物品251を挟むときに移動する方向(
図4(a)の例では認識結果252の長辺に直交する方向、以下これを指209の開閉方向とも記載する)に変更され、それに直交する方向の誤差が残る。その誤差の量Δdは、式(1)によって計算される。
【0034】
Δd=Δx・cosΔθ+Δy・sinΔθ (1)
【0035】
ここで、
Δd:指209の開閉方向に直交する方向に残る誤差の量
である。
【0036】
一方、
図4(b)は、吸着ハンド203bを用いて物品251を把持する場合の、吸着パッド210aと、物品251と、物品251の認識結果252と、の関係の一例を示す平面図である。ロボット101は、認識結果252の中心位置を吸着ハンド203bによる把持位置として決定する。この把持位置は、実際の物品251の中心からはΔx及びΔyだけずれた位置である。指型ハンド203aの場合と異なり、吸着ハンド203bがその位置を把持しても物品251の姿勢は変更されないため、位置の誤差Δx、Δy及び姿勢の誤差Δθはそのまま残る。
【0037】
次に、指型ハンド203aを有するロボット101による物品の格納について、
図5から
図9を参照して説明する。
【0038】
図5は、本発明の実施例の指型ハンド203aによる物品の把持の説明図である。
【0039】
図5(a)は、指209a及び209bで挟むことによって物品251iを把持している指型ハンド203aの斜視図である。
図5(b)は、
図5(a)の指型ハンド203a及び物品251iを、y方向(すなわち水平面内の、物品251iの短辺に平行な方向)から見た側面図である。
図5(c)は、
図5(a)の指型ハンド203a及び物品251iを、x方向(すなわち水平面内の、物品251iの長辺に平行な方向)から見た側面図である。
図5(d)は、
図5(a)の指型ハンド203a及び物品251iを、z方向(すなわち上方向)から見た平面図である。
【0040】
指型ハンド203aのうち、指209の開閉方向の端から、物品251iを把持しているときの指209の内側の端までの距離Wは、指209を挿入するために、仕分箱105の内側の壁面と物品251iの側面との間に確保する必要がある空間のサイズを示している。これは、予め保持されている指型ハンド203aのサイズの情報と、物品251iのサイズの情報とに基づいて算出される(
図28参照)。
【0041】
物品251iの把持位置の最大誤差ΔDは、式(2)によって計算される。
【0042】
ΔD=ΔP×(cosΔΩ+sinΔΩ) (2)
【0043】
ここで、
ΔD:物品251iの把持位置の最大誤差
ΔP:物品位置認識最大誤差
ΔΩ:物品姿勢認識最大誤差
である。
【0044】
また、物品251iを把持しているときの指209の先端の理想的な高さLは、式(3)によって計算される。なお、ここでの指209の先端の高さとは、物品251iの底面から指209の先端までの距離を意味する。また、「理想的な」とは、「目標とする」という意味である。
【0045】
L=H-(Lmin+ΔQ) (3)
【0046】
ここで、
L:物品251iを把持しているときの指209の先端の理想的な高さ
H:物品251iの高さ
ΔQ:物品高さ認識最大誤差
Lmin:最小把持量(すなわち、物品251iを安定して把持するために確保する必要がある物品251iの上面から指209の先端までの距離の最小値)
である。
【0047】
図6は、本発明の実施例の指型ハンド203aによって仕分箱105に最初に格納される物品の理想的な設置位置の説明図である。
【0048】
具体的には、
図6は、まだ他の物品が格納されていない仕分箱105に最初に、指型ハンド203aを用いて物品251iを格納するときの、仕分箱105内の物品251iの理想的な設置位置を示す平面図である。その理想的な設置位置は、物品251iの短辺とそれに平行な仕分箱105の壁面との距離がΔA+e+ΔD、物品251iの長辺とそれに平行な仕分箱105の壁面との距離がΔB+W+eとなる位置である。
【0049】
ここで、
ΔA:仕分箱105の認識誤差に起因する物品251iの設置位置のx方向の最大誤差
ΔB:仕分箱105の認識誤差に起因する物品251iの設置位置のy方向の最大誤差
e:マージン(0以上の所定の値)
である。
【0050】
ΔA及びΔBは、それぞれ式(4)及び式(5)で計算される。
【0051】
ΔA=ΔX+a/2×(1-cosΔΓ)+b/2×sinΔΓ (4)
ΔB=ΔY+b/2×(1-cosΔΓ)+a/2×sinΔΓ (5)
【0052】
ここで、
a:仕分箱105の長さ(すなわち指209の物品251iに接する面と平行の方向の仕分箱105の長さ)
b:仕分箱105の幅(すなわち指209の開閉方向の仕分箱105の長さ)
ΔX:仕分箱105の位置のx方向の認識最大誤差
ΔY:仕分箱105の位置のy方向の認識最大誤差
ΔΓ:仕分箱105の姿勢の認識最大誤差
である。
【0053】
なお、ΔA及びΔBは、仕分箱認識センサ205を用いて仕分箱105の位置を認識する場合に算出される。一方、例えば仕分箱搬送コンベア104に仕分箱105を必ず決まった位置に静止させるための機構を設けるなど、仕分箱105の位置の誤差が無視できる程度に小さい場合には、ΔA=0、ΔB=0とすることができる。
【0054】
また、指型ハンド203aが物品251iを把持して仕分箱105の上端の開口部から仕分箱105に挿入して、底面の方向に移動させるときには、y方向に平行な壁面と物品251iとの間にΔA+e+ΔDの距離を確保する必要があるが、その後、物品251iを-xの方向にマージンeの分だけ移動させて(すなわち物品251iをマージンeの分だけ壁面方向に近づけて)、底面に設置してもよい。その場合、y方向に平行な壁面と物品251iとの間の距離はΔA+ΔDとなる。
【0055】
図7は、本発明の実施例の指型ハンド203aによる物品のずらし移動時の指209の先端の高さの説明図である。
【0056】
具体的には、
図7は、既に物品251pが格納されている仕分箱105に指型ハンド203aを用いて物品251iを格納するときに、物品251iを仕分箱105の開口部から底面近くまで移動させた後で、物品251iを物品251pの方向に水平に移動させるときの、仕分箱105の底面から指209の先端までの高さを説明するものである。
【0057】
なお、本実施例では、物品251を仕分箱105の開口部から底面の近くまで移動させる、少なくとも上下方向の成分を含む移動を「挿入」とも記載し、底面近くに達した物品251を仕分箱105の壁面又は既に底面に設置されている他の物品251の方向に近づける、少なくとも水平方向の成分を含む移動を「ずらし移動」とも記載する。後述するように、物品251の挿入時の移動方向とずらし移動時の移動方向は異なる。なお、
図7では説明の都合上、仕分箱105の図示を省略している。
【0058】
物品251iのずらし移動時の指209の先端の最小高さ(すなわち仕分箱105の底面からの最小距離)λminは、式(6)によって計算される。
【0059】
λmin=L+ΔQ+e (6)
【0060】
ここで、
λmin:物品251iのずらし移動時の指209の先端の最小高さ
である。
【0061】
物品251iのずらし移動の際、物品251pの上面付近を押してしまうと、物品251pは床面を滑らずに転倒してしまう場合がある。そのため、物品251iはなるべく低い位置でずらし移動をさせることが望ましい。ただし、低くし過ぎるとハンド203aの指209が物品251pに当たってしまう場合がある。以上を踏まえ、物品251iのずらし移動時の指209の先端の理想高さ(すなわち仕分箱105の底面からの理想距離)λは、式(7)が成立する場合には式(8)によって、式(9)が成立する場合には式(10)によって、それぞれ計算される。
【0062】
λmin≧Hp+e (7)
λ=λmin (8)
λmin<Hp+e (9)
λ=Hp+e (10)
【0063】
ここで、
λ:物品251iのずらし移動時の指209の先端の理想高さ
Hp:設置済みの隣接する物品251pの高さ
である。
【0064】
これによって、物品251の高さの認識誤差があった場合でも、物品251iの底面の高さが物品251pの底面の高さより高く、かつ、物品251iの底面の高さが物品251pの上面の高さより低くなるように、指型ハンド203aの高さを制御することができる。また、上記の制御によって、指型ハンド203aの指209が物品251pに衝突しない条件を満たしながら、低い位置で物品251iのずらし移動を実現できる。
【0065】
図8は、本発明の実施例の指型ハンド203aを用いて物品を追加設置する場合の理想的な設置位置の説明図である。
【0066】
この例では、物品251i、251j及び251kが既に格納されているところに、新たに物品251mが格納される。物品251i及び251jはy方向に並べて設置され、物品251i及び251kはx方向に並べて設置されている。いずれの物品も長辺がx方向と平行になるように設置されている。物品251mを設置したい位置は、物品251mの短辺側の側面が物品251jに接し、長辺側の側面が物品251kに接する位置である。
【0067】
ロボット101は、指型ハンド203aを用いて、物品251mを、指209の面に平行の方向(
図8の例ではx方向)に隣接する物品251jの側面から2×ΔD+e、指209の開閉方向(
図8の例ではy方向)に隣接する物品251kの側面からeだけ離した位置に挿入する。このときの各物品251の配置の平面図を
図8(a)に、x方向から見た側面図を
図8(b)に示す。
図8(b)に示すように、このとき、物品251mはまだ指型ハンド203aによって把持されており、仕分箱105の底面に接していない。
【0068】
その後、ロボット101は、物品251mを、x方向に-(2×ΔD+e)、y方向に-eだけ移動させる。これによって、物品251mの短辺側の側面が物品251jに接し、長辺側の側面が物品251kに接する。このときの各物品251の配置の平面図を
図8(c)に、x方向から見た側面図を
図8(d)に示す。
【0069】
その後、指209が物品251mを解放すると、物品251mが仕分箱105の底面に接する。このときの各物品251の配置の平面図を
図8(e)に、x方向から見た側面図を
図8(f)に示す。
【0070】
なお、ロボット101は、物品251mを
図8(c)及び
図8(d)に示す位置まで移動させた後、さらに、y方向に-(W+e)だけ移動させてもよい。これによって物品251kが物品251mに押されて移動し、物品251kとその長辺側の側面に対向する壁面との距離がΔBのみとなる。物品251iが設置された後に物品251jを設置するときにも同様の移動をしてもよい。これによって壁面と物品251との距離が小さくなり、さらに仕分箱105の容積の利用効率が向上する。
【0071】
図9は、本発明の実施例の指型ハンド203aを用いて物品を追加設置する場合の、最大誤差を含んだ実際の設置位置の説明図である。
【0072】
この例では、仕分箱105の認識に誤差が生じており、実線で示す実際の仕分箱105の壁面の位置は、破線で示す認識結果に対して、x方向に+ΔA、y方向に+ΔBだけずれているものとする(
図9(a)の平面図参照)。ここで、ΔA及びΔBは式(4)、(5)に示したように認識最大誤差である。
【0073】
さらに、
図9(a)に示すように、物品251i及び251kは理想的な位置に置かれているが、物品251jが理想的な位置からx方向に+ΔDだけずれた位置に置かれている。
【0074】
一方、これから設置しようとする物品251mの指209による把持位置は、理想的な位置からx方向に+ΔDだけずれている。このため、物品251mが仕分箱105に挿入された時点の(すなわちずらし移動をする前の時点の)位置は、理想的な位置からx方向に-ΔDだけずれている。この状態を
図9(a)及び
図9(b)に示す。なお、
図9(b)は、
図9(a)に示した壁面と物品251jと物品251mとの位置関係を示す側面図である。
【0075】
しかし、
図8を参照して説明したように、物品251mは、最終的に設置したい位置からx方向に+(2×ΔD+e)だけずれた位置に挿入されるため、上記のような誤差が存在する場合にも、物品251jと251mとの間にはマージンe分の空きが確保される。これによって、想定しうる最大の誤差が発生している場合であっても、物品251mを物品251jに接触して損傷することなく仕分箱105に挿入することができる。
【0076】
さらに、ロボット101が指型ハンド203aを用いて物品251mを把持したままx方向に-(2×ΔD+e)移動させる。すると、そのうちのマージンである-eの分だけ移動したところで、物品251mが物品251jに接触する。さらにロボット101が物品251jごと物品251mを移動させると、-(2×ΔD+e)の移動が終了したところで、物品251j及び251mはいずれも理想的な位置からx方向に-ΔDだけずれた位置に設置される。
【0077】
本来、物品251jの理想的な位置と仕分箱105の認識結果に基づく壁面(
図9の破線)との距離は、ΔA+e+ΔDである。このため、ΔAの認識誤差が実際に生じたとしても、実際の壁面(
図9の実線)と物品251jとの間にはマージンe分の空間が確保される(
図9(c)及び
図9(d)参照)。ここで、
図6を参照して説明したように、さらにx方向に-eだけ移動させた場合には、物品251jがちょうど壁面に接触する。
【0078】
次に、吸着ハンド203bを有するロボット101による物品の格納について、
図10から
図17を参照して説明する。
【0079】
図10は、本発明の実施例の吸着ハンド203bによる物品の把持の説明図である。
【0080】
図10(a)は、吸着パッド210aが吸着することによって物品251iを把持している吸着ハンド203bの斜視図である。
図10(b)は、
図10(a)の吸着ハンド203b及び物品251iを、y方向(すなわち水平面内の、物品251iの短辺に平行な方向)から見た側面図である。
図10(c)は、
図10(a)の吸着ハンド203b及び物品251iを、x方向(すなわち水平面内の、物品251iの長辺に平行な方向)から見た側面図である。
図10(d)は、
図10(a)の吸着ハンド203b及び物品251iを、z方向(すなわち上方向)から見た平面図である。
【0081】
ロボット101は、吸着ハンド203bを用いて物品251iを把持する場合、アーム201を駆動して物品251iの上方から吸着パッド210aを下方向に移動させながら真空圧を計測する。そして、計測した真空圧に基づいて物品251iを吸着したことを検知すると、すぐにアーム201を停止させる。これによって、物品251iの高さの認識に誤差があっても、正しく吸着することができる。一方、物品位置認識最大誤差ΔP及び物品姿勢認識最大誤差ΔΩは、指型ハンド203aの場合と同様である。
【0082】
図11は、本発明の実施例の吸着ハンド203bによって仕分箱105に最初に格納される物品の理想的な設置位置の説明図である。
【0083】
具体的には、
図11は、まだ他の物品が格納されていない仕分箱105に、吸着ハンド203bを用いて最初に物品251iを格納するときの、仕分箱105内の物品251iの理想的な設置位置を示す平面図である。その理想的な設置位置は、物品251iの短辺とそれに平行な仕分箱105の壁面との距離がΔA+e+ΔP+ΔU、物品251iの長辺とそれに平行な仕分箱105の壁面との距離がΔB+e+ΔP+ΔVとなる位置である。
【0084】
ここで、
ΔA:仕分箱105の認識誤差に起因する物品251iの設置位置のx方向の最大誤差
ΔB:仕分箱105の認識誤差に起因する物品251iの設置位置のy方向の最大誤差
ΔU:物品姿勢認識誤差による物品設置位置のx方向の最大誤差
ΔV:物品姿勢認識誤差による物品設置位置のy方向の最大誤差
e:マージン
である。
【0085】
ΔA及びΔBは、それぞれ式(4)及び式(5)で計算される。ただし、仕分箱105の長さaは、仕分箱105のx方向の長さであり、仕分箱105の幅bは、仕分箱105のy方向の長さである。
【0086】
一方、ΔU及びΔVは、それぞれ式(11)及び(12)によって計算される。
【0087】
ΔU=u/2×(cosΔΩ-1)+v/2×sinΔΩ (11)
ΔV=v/2×(cosΔΩ-1)+u/2×sinΔΩ (12)
【0088】
ここで、
u:物品251iの長さ(x方向、長辺)
v:物品251iの幅(y方向、短辺)
である。
【0089】
なお、ΔA及びΔBは、仕分箱認識センサ205を用いて仕分箱105の位置を認識する場合に算出される。
図6の場合と同様に、仕分箱105の位置の誤差が無視できる程度に小さい場合には、ΔA=0、ΔB=0とすることができる。
【0090】
また、吸着ハンド203bが物品251iを把持して仕分箱105の上端の開口部から仕分箱105に挿入して、仕分箱105の底面の近くまで移動させるときには、x方向及びy方向のそれぞれにマージンeが必要である。しかし、吸着ハンド203bは、その後、-x方向及び-y方向にマージンeの分だけ物品251iを移動させて壁面との間の距離を縮めてから底面に設置してもよい。
【0091】
その場合、y方向に平行な壁面と物品251iとの間にΔA+e+ΔP+ΔUの距離を確保する必要があるが、その後、物品251iを-xの方向にマージンeの分だけ移動させて(すなわち物品251iをマージンeの分だけ壁面方向に近づけて)、底面に設置してもよい。その場合、物品251iの短辺とそれに平行な仕分箱105の壁面との距離がΔA+ΔP+ΔUとなる。同様に、x方向に平行な壁面と物品251iとの間にはΔB+e+ΔP+ΔVの距離を確保する必要があり、その後、物品251iを-yの方向にマージンeの分だけ移動させると、物品251iの長辺とそれに平行な仕分箱105の壁面との距離はΔB+ΔP+ΔVとなる。
【0092】
図12は、本発明の実施例の吸着ハンド203bによる物品のずらし移動時の吸着パッド210aの先端の高さの説明図である。
【0093】
具体的には、
図12は、既に物品251pが格納されている仕分箱105に吸着ハンド203bを用いて物品251iを格納するときに、物品251iを仕分箱105の開口部から底面近くまで移動させた後で、物品251iを物品251pの方向に水平に移動させるときの、仕分箱105の底面から吸着パッド210aの先端までの高さを説明するものである。この水平方向の移動をずらし移動とも記載する。なお、
図12では説明の都合上、仕分箱105の図示を省略している。
【0094】
物品251iのずらし移動の際、物品251pの上面付近を押してしまうと、物品251pは床面を滑らずに転倒してしまう場合がある。そのため、物品251iはなるべく低い位置でずらし移動をさせることが望ましい。このことから、物品251iのずらし移動時の吸着パッド210aの先端の高さ(すなわち仕分箱105の底面からの距離)λは、式(13)によって計算される。
【0095】
λ=H+e (13)
【0096】
ここで、
λ:物品251iのずらし移動時の吸着パッド210aの先端の高さ
H:物品251iの高さ
である。
【0097】
これによって、物品251iの底面の高さが物品251pの底面の高さより高く、かつ、物品251iの底面の高さが物品251pの上面の高さより低くなるように、吸着ハンド203bの高さを制御することができる。さらには、なるべく低い位置で物品251iのずらし移動を実現できる。
【0098】
図13は、本発明の実施例の吸着ハンド203bを用いて物品を追加設置する場合の理想的な設置位置の説明図である。
【0099】
この例では、
図8の例と同様に、物品251i、251j及び251kが既に格納されているところに、新たに物品251mが格納される。
【0100】
ロボット101は、吸着ハンド203bを用いて、物品251mを、x方向に隣接する物品251jの側面から2(ΔP+ΔU)+e、y方向に隣接する物品251kの側面から2(ΔP+ΔV)+eだけ離した位置に挿入する。このときの各物品251の配置の平面図を
図13(a)に、x方向から見た側面図を
図13(b)に示す。
図13(b)に示すように、このとき、物品251mはまだ吸着ハンド203bによって把持されており、仕分箱105の底面に接していない。
【0101】
その後、ロボット101は、物品251mを、-x方向に2(ΔP+ΔU)+e、-y方向に2(ΔP+ΔV)+eだけ移動させる。これによって、物品251mの短辺側の側面が物品251jに接し、長辺側の側面が物品251kに接する。このときの各物品251の配置の平面図を
図13(c)に、x方向から見た側面図を
図13(d)に示す。
【0102】
その後、吸着パッド210aが物品251mを解放すると、物品251mが仕分箱105の底面に接する。このときの各物品251の配置の平面図を
図13(e)に、x方向から見た側面図を
図13(f)に示す。
【0103】
図14は、本発明の実施例の吸着ハンド203bを用いる場合の物品の理想位置と最大誤差を考慮した想定領域との関係の説明図である。
【0104】
具体的には、
図14は、物品251の設置位置及び物品251が設置される可能性がある領域を示す平面図である。太い実線の枠1401は、物品251の理想的な位置を示す。この枠の範囲を理想的な位置の領域とも記載する。細い実線の枠1402は、位置誤差がゼロであり、姿勢誤差が最大の場合の物品251の位置の一例を示す。
【0105】
細い点線の枠1403は、姿勢の最大誤差を考慮し、位置誤差を考慮しない(すなわち位置誤差がゼロであるとした)場合の、実際の物品251が設置される想定領域である。姿勢誤差がゼロから最大値までのいずれかの値であり、位置誤差がゼロである場合に、物品251は、細い点線の枠1403内のいずれかの位置に存在する可能性があるが、その外側には存在しない。
【0106】
太い点線の枠1404は、姿勢の最大誤差を考慮し、かつ、位置の最大誤差を考慮した場合の、実際の物品251が設置される想定領域である。姿勢誤差及び位置誤差がそれぞれゼロから最大値までのいずれかの値である場合に、物品251は、太い点線の枠1404内のいずれかの位置に存在する可能性があるが、その外側には存在しない。
【0107】
図15は、本発明の実施例の吸着ハンド203bを用いて物品を追加設置する場合の、y方向の最大誤差を含んだ実際の設置位置の第1の説明図である。
【0108】
この例では、
図9の例と同様に、仕分箱105の認識に誤差が生じており、太い実線で示す実際の仕分箱105の壁面の位置は、太い破線で示す認識結果に対して、x方向に+ΔA、y方向に+ΔBだけずれているものとする。
【0109】
図15(a)に示すように、仕分箱105には既に物品251iが設置されている。この物品251iについては、姿勢誤差が最大、かつ、+y方向の位置誤差が最大となっている。このため、物品251iは、その+y方向の端が理想的な位置から+y方向にΔP+ΔVだけずれて設置されている。
【0110】
一方、物品251jは、姿勢誤差が最大、かつ、-y方向の位置誤差が最大となっている。すなわち、吸着パッド210aによる吸着位置(
図15の二重丸の位置)が理想的な位置からy方向に+ΔPだけずれている。このため、物品251jの仕分箱105への挿入位置は、その-y方向の端が理想的な位置から-y方向にΔP+ΔVだけずれた位置となる。すなわち、実際の物品251iの位置との距離が最も小さくなる位置に物品251jが挿入される。
【0111】
しかし、このとき物品251jは、その理想的な位置の領域と物品251iの理想的な位置の領域との間に2(ΔP+ΔV)+eだけの空間が確保されるように挿入される。すなわち、物品251iと物品251jの姿勢の最大誤差及び位置の最大誤差を考慮した想定領域は、y方向にマージンeの分だけ離れている。このため、上記のような誤差があっても、物品251jの物品251iへの接触が回避される。
【0112】
物品251iは、仕分箱105の壁面と物品251jとに挟まれることによってその姿勢が修正されることを仮定し、仮想的に姿勢誤差をゼロと考えることができる(
図15(b))。すると、仮想的に姿勢誤差がゼロとなった物品251iのy方向の両方の側面には、ΔVの余裕が生まれる。
【0113】
その後、ロボット101は、吸着ハンド203bを動かして、物品251jを-y方向に2(ΔP+ΔV)+eだけ移動させる。その結果、物品251iは物品251jによって押されて-y方向に移動する。最終的に、物品251iとx方向に平行な壁面との間にマージンe分の空間が残る(
図15(c))。その結果、物品251iが押しつぶされることはない。
【0114】
一方、
図15(c)に示すように、物品251jの位置誤差は理想位置に対して-y方向にΔPである。さらに姿勢誤差もあるため、実際の物品251jは、理想位置の物品251jが占有する領域よりy方向に2×ΔV分だけ多くの領域を占有している。
【0115】
図16は、本発明の実施例の吸着ハンド203bを用いて物品を追加設置する場合の、y方向の最大誤差を含んだ実際の設置位置の第2の説明図である。
【0116】
具体的には、
図16は、
図15の続きの状態を示している。すなわち、
図16(a)は、
図15(c)に示したように物品251i及び251jが設置された後に、物品251jの+y側に隣接する位置に、物品251nが新たに挿入された状態を示す。
【0117】
この例において、物品251nは、物品251jとは反対方向に最大の姿勢誤差を持ち、さらに、吸着パッド210aによる吸着位置が理想的な位置からy方向に+ΔPだけずれている。その結果、物品251nの実際の位置は、想定される誤差の範囲内で物品251jと最も近い位置となっている。
【0118】
しかし、このとき物品251nは、その理想的な位置の領域と物品251jの理想的な位置の領域との間に2(ΔP+ΔV)+eだけの空間が確保されるように挿入される。すなわち、物品251jと物品251nの姿勢の最大誤差及び位置の最大誤差を考慮した想定領域は、y方向にe+ΔPだけ離れている。このため、上記のような誤差があっても、物品251nの物品251jへの接触が回避される。
【0119】
物品251jは、物品251iと物品251nとに挟まれることによってその姿勢が修正されることを仮定し、仮想的に姿勢誤差をゼロと考えることができる。その位置は、理想位置に対して、y方向に-ΔPの位置となる(
図16(b))。
【0120】
その後、ロボット101は、吸着ハンド203bを動かして、物品251nを-y方向に2(ΔP+ΔV)+eだけ移動させる。その結果、物品251jは物品251nによって押されてその姿勢の誤差が修正される。最終的に、物品251jと物品251iとがちょうど接触することとなり、物品251j及び物品251iのいずれも押しつぶされることはない(
図16(c))。
【0121】
一方、
図16(c)に示すように、物品251nの位置誤差は理想位置に対して-y方向にΔPである。さらに姿勢誤差もあるため、実際の物品251nは、理想位置の物品251nが占有する領域よりy方向に2×ΔV分だけ多くの領域を占有している。
【0122】
上記の
図15、
図16では、新たに挿入した物品251をy方向に移動させることによって、y方向の空間の余剰を削減したり、y方向に隣接する物品の姿勢を修正したりする動作を説明した。それと同様の動作をx方向についても行うことで、新たに挿入した物品251とそのx方向に隣接する物品251との間の空間の余剰を削減したり、隣接する物品251の姿勢を修正したりすることもできる。また、x方向の動作とy方向の動作とを同時に行うこともできる。これについて、
図17を参照して説明する。
【0123】
図17は、本発明の実施例の吸着ハンド203bを用いて物品を追加設置する場合の最大誤差を含んだ実際の設置位置の説明図である。
【0124】
この例では、
図9、
図15、
図16の例と同様に、仕分箱105の認識に誤差が生じており、太い実線で示す実際の仕分箱105の壁面の位置は、太い破線で示す認識結果に対して、x方向に+ΔA、y方向に+ΔBだけずれているものとする。
【0125】
また、この例において、物品251iの+y方向に隣接して設置されている物品251j、及び、物品251iの+x方向に隣接して設置されている物品251kは、いずれも、姿勢誤差及び位置誤差が最大となっている。その結果、両者はいずれも、+x方向の端が理想的な位置から+x方向にΔP+ΔU、+y方向の端が理想的な位置から+y方向にΔP+ΔVだけずれて設置されている。
【0126】
一方、物品251jのx方向に隣接し、かつ、物品251kのy方向に隣接する位置を目標として新たに挿入される物品251mは、物品251j及び物品251kとは反対方向に最大の姿勢誤差を持つ。さらに、吸着パッド210aによる物品251mの把持位置が理想的な位置からx方向及びy方向にそれぞれ+ΔPだけずれている。
【0127】
このため、挿入される物品251mの位置は、理想的な位置からx方向及びy方向にそれぞれ-ΔPだけずれる。すなわち、物品251mが挿入される実際の位置は、想定される誤差の範囲内で物品251j及び物品251kに最も近い位置となる。
【0128】
しかし、このとき物品251mは、その理想的な位置の領域と物品251jの理想的な位置の領域との間に2(ΔP+ΔU)+e、物品251kの理想的な位置の領域との間に2(ΔP+ΔV)+eの空間がそれぞれ確保されるように挿入される。すなわち、物品251mと物品251j及び物品251kの姿勢の最大誤差及び位置の最大誤差を考慮した想定領域は、それぞれ、x方向及びy方向にマージンeの分だけ離れている。このため、上記のような誤差があっても、物品251mの物品251j及び物品251kへの接触が回避される(
図17(a))。
【0129】
その後、ロボット101は、吸着ハンド203bを動かして、物品251mを-x方向に2(ΔP+ΔU)+eだけ移動させる。すると、そのうちのマージンeの分だけ移動したところで、物品251jと物品251mの姿勢最大誤差想定領域(
図17(a)の太い点線)同士が接触する。
【0130】
さらに、物品251mを物品251jごと-x方向に2(ΔP+ΔU)だけ移動させると、物品251j及び物品251mはいずれも理想的な位置から-x方向にΔPだけずれた位置に設置される。このとき、物品251jが仕分箱105の壁面と物品251mとの間に挟まれていれば、それによって物品251jの姿勢の誤差が修正される(
図17(b)の物品251j)。
【0131】
最終的に、位置誤差がゼロの物品251jと仕分箱105の壁面との間にはマージンe分の空間が残る。
【0132】
同様に、ロボット101は、吸着ハンド203bを動かして、物品251mを-y方向に2(ΔP+ΔV)+eだけ移動させる。すると、そのうちのマージンeの分だけ移動したところで、物品251kと物品251mの姿勢最大誤差想定領域(
図17(a)の太い点線)同士が接触する。
【0133】
さらに、物品251mを物品251kごと-y方向に2(ΔP+ΔV)だけ移動させると、物品251k及び物品251mはいずれも理想的な位置から-y方向にΔPだけずれた位置に設置される。このとき、物品251kが仕分箱105の壁面と物品251mとの間に挟まれていれば、それによって物品251kの姿勢の誤差が修正される(
図17(b)の物品251k)。
【0134】
最終的に、位置誤差がゼロの物品251jと仕分箱105の壁面との間にはマージンe分の空間が残る。
【0135】
次に、2連吸着ハンド203cを有するロボット101による物品の格納について、
図18を参照して説明する。
【0136】
図18は、本発明の実施例の2連吸着ハンド203cによる物品の把持の説明図である。
【0137】
図18(a)は、吸着パッド210b及び210cが吸着することによってそれぞれ物品251g及び251hを把持している2連吸着ハンド203cの斜視図である。
【0138】
図18(b)は、吸着パッド210bと、物品251gと、物品251gの認識結果252gと、の関係の一例を示す平面図である。
図18(c)は、吸着パッド210cと、物品251hと、物品251hの認識結果252hと、の関係の一例を示す平面図である。
図4で示した吸着ハンド203bの場合と同様、2連吸着ハンド203cを使用した場合も、位置の誤差Δx、Δy及び姿勢の誤差Δθが発生する。
図18には物品251gの姿勢の誤差をΔθg、物品251hの姿勢の誤差をΔθhと記載する。
【0139】
図18(d)は、それぞれ吸着パッド210b及び210cによって理想的な位置を理想的な姿勢で(すなわち位置誤差も姿勢誤差もない状態で)把持された物品251g及び251hの平面図である。この例では、物品251g及び251hの中心がそれぞれ吸着パッド210b及び210cによって吸着把持され、それらの姿勢はロボット101が認識しているものと一致している。
【0140】
図18(e)及び
図18(f)は、2連吸着ハンド203cを用いて二つの物品251g及び251hを把持する手順を説明する平面図である。初期状態では2連吸着ハンド203cはいずれの物品も把持しておらず、物品251g及び251hはそれぞれ格納箱103内の任意の場所に置かれている。
【0141】
ロボット101は、最初に、吸着パッド210bで物品251gを吸着して把持する。このとき、
図18(b)に示すように実際の吸着位置及び物品251gの姿勢には理想位置及び理想姿勢からの誤差がある。その後、ロボット101は、2連吸着ハンド203cを物品251hに近づける。
【0142】
このとき、ロボット101は、吸着パッド210cを物品251hの認識結果252hの吸着位置(例えば認識結果252hの中心)に合わせるが、そこからさらに-y方向に2(ΔP+ΔV)+eだけ移動させる。その結果、物品251hは物品251gによって-y方向に押されて、その姿勢が物品251gと略同一になる(
図18(e))。略同一とは厳密に同一を意味するものではなく、吸着した物品251gと251hの対向する面同士が接触または倣う状態を含む概念である。
【0143】
その状態で、ロボット101は、吸着パッド210cの先端が物品251hの上面と同じ高さになるまで2連吸着ハンド203cを下ろし、物品251hを吸着して把持する。
【0144】
まとめると、吸着パッド210bと210cについての説明は、既に仕分箱105内に第1の物品を配置する工程(第1の工程)が実行された後に実行される第2、第3の工程についての変形例である。
【0145】
第2の工程として、ロボット101は物品251gと物品251hを格納箱103から取出し、仕分箱105内の第1の物品付近へと移動させる。まず、ロボット101は第1の吸着パッド210bで格納箱103内の物品251gの上面を吸着する。次に、ロボット101が移動することで、物品251gを物品251hにスペースを空けて並列させる。そこから、物品251gを物品251hに近づけるようにロボット101が移動することで、物品251gと物品251hの対向する面が接触する。接触した後にさらにロボット101が移動することで、物品251gが物品251hの姿勢を変更させる。このとき、物品251gと251hの姿勢は略同一となる。
【0146】
次に、第2の吸着パッド210cが物品251cの上面を吸着することで、物品251gと物品251hは略同一の姿勢の状態のまま第1の吸着パッド210bと第2の吸着パッド210cに吸着される。この状態でロボット101が移動した場合であっても、2つの物品251gと物品251hは略同一の姿勢を保持したまま搬送が可能となる。その状態で、2つの物品251gと物品251hを仕分箱105へと収納すれば、これらの物品同士の隙間は小さくなり、仕分箱105内の収容効率を向上させることができる。この第2の吸着パッド210cでの吸着の後、ロボット101は、これら2つの物品251gと物品251hを仕分箱105内の第1の物品の付近へと移動する。
【0147】
第3の工程として、ロボット101は2つの物品251gと物品251hを把持したまま、仕分箱105内の第1の物品に近づき、接触した後に他の物品の姿勢や位置を変更させる。その後、他の物品を所定位置へ移動または所定の姿勢へ変更させたロボット101は、2つの吸着パッド210bと210cを開放することで2つの物品251gと物品251hを仕分箱105の底面に配置させ、2つの物品を箱内に格納することができる。これにより、既に仕分箱105内に配置される第1の物品と2つの物品251gあるいは物品251hとの隙間を小さくすることができる。なお、第1の物品はひとつに限定されず、複数であってもよい。
【0148】
また、吸着パッドの吸着を開放する順番は、第1の物品と接触する物品を先に開放し、第1の物品と接触しない物品を後に開放するとよい。この場合は、第1の物品と第1の物品に接触しない物品とに挟まれた物品が先に配置されるため、姿勢がずれにくくなるからである。これにより、さらに、物品間の隙間が小さくなるため、箱内の収容効率を向上させることができる。
【0149】
上記の説明は、仕分箱105内に物品が格納された場合の例について説明したが、仕分箱105内に物品が配置されていない状態であっても本実施例を実施することができる。すなわち、第2の工程から実施することが可能である。この場合は、物品251gと251hとの距離(スペース)を小さくすることができるため、仕分箱105内に2つの物品を省スペースで格納でき、ひいては箱内の収容効率を向上させることができる。
【0150】
また、第2の工程のみを実施する場合であっても、物品251gと251hとの距離を小さくできるため、ロボット101が物品を搬送する効率を向上させることができる。物品間の距離を小さくしたこの状態で、仕分箱105に当該物品を収納することができるため、ひいては仕分箱105内の収容効率を向上させることに寄与する。
【0151】
次に、上記のような物品の格納を実現するためのシステムの構成について、
図19から
図32を参照して説明する。
【0152】
図19は、本発明の実施例のロボットシステムのハードウェア構成の説明図である。
【0153】
全体管理コンピュータ109、上位システム110、指示端末107、格納箱搬送コンベア102、仕分箱搬送コンベア104、自動ラック108及びロボット101は、ネットワーク301を介して接続される。ネットワーク301は、それを介してデータの通信が可能である限り、有線ネットワーク、無線ネットワーク又はそれらの組合せのいずれであってもよい。
【0154】
全体管理コンピュータ109は、中央制御装置311、主記憶装置312、通信装置314、入力装置315、出力装置316及び補助記憶装置313を有する計算機である。
【0155】
中央制御装置311は、主記憶装置312に記憶されたプログラムを実行することによって種々の処理を実行するプロセッサである。入力装置315は、全体管理コンピュータ109の使用者から情報の入力を受け付ける装置であり、例えばキーボード及びマウス等であってもよい。出力装置316は、全体管理コンピュータ109の使用者に情報を出力する装置であり、例えば文字及び画像等を表示する表示装置であってもよい。通信装置314は、ネットワーク301を介して当該ネットワーク301に接続された上位システム110及びロボット101等の各機器と通信する装置である。
【0156】
主記憶装置312は、例えばDRAM(Dynamic Random Access Memory)などの記憶装置であり、中央制御装置311によって実行されるプログラム等を保持する。
図19に示す主記憶装置312は、オーダ処理部331を保持する。これは、中央制御装置311によって実行されるプログラムである。したがって、以下の説明においてオーダ処理部331が実行する処理は、実際には、中央制御装置311が主記憶装置312に保持されたプログラムに従って実行する。プログラムに従って実行される処理の詳細については後述する。
【0157】
補助記憶装置313は、例えばハードディスクドライブ又はフラッシュメモリなどの記憶装置であり、中央制御装置311が実行する処理のために必要となる情報等を保持する。
図19に示す補助記憶装置313は、倉庫状態管理情報341、倉庫定義情報342、オーダ情報343及び作業計画情報344を保持する。これらの情報の詳細については後述する(
図20~
図28参照)。なお、これらの情報の少なくとも一部が必要に応じて主記憶装置312にコピーされ、中央制御装置311によって参照されてもよい。また、中央制御装置311が実行するプログラムも補助記憶装置313に格納され、それらの少なくとも一部が必要に応じて主記憶装置312にコピーされてもよい。
【0158】
指示端末107は、相互に接続された中央制御装置391、主記憶装置392、補助記憶装置393、通信装置394、入力装置395及び出力装置396を有する計算機である。
【0159】
中央制御装置391は、主記憶装置392に記憶されたプログラム(図示省略)を実行することによって種々の処理を実行するプロセッサである。入力装置395は、作業員106から情報の入力を受け付ける装置であり、例えばキーボード、マウス及びタッチセンサ等であってもよい。出力装置396は、作業員106に情報を出力する装置であり、例えば文字及び画像等を表示する表示装置であってもよい。入力装置395及び出力装置396は、例えばいわゆるタッチパネルのように一体化されてもよい。通信装置394は、ネットワーク301を介して全体管理コンピュータ109と通信する装置である。
【0160】
主記憶装置392は、例えばDRAMなどの記憶装置であり、中央制御装置391によって実行されるプログラム等を保持する。補助記憶装置393は、例えばハードディスクドライブ又はフラッシュメモリなどの記憶装置であり、中央制御装置391が実行する処理のために必要となる情報等を保持する。
【0161】
上位システム110は、各配送先(例えば倉庫に格納されている物品を入荷して販売する店舗等)からのオーダを受信してオーダ情報を生成し、全体管理コンピュータ109に送信する計算機である。上位システム110のハードウェア構成は全体管理コンピュータ109と同様であってよいため、図示及び説明を省略する。
【0162】
ロボット101は、アーム201、物品認識センサ202、ハンド203、格納箱認識センサ204及び仕分箱認識センサ205に加えて、中央制御装置351、主記憶装置352、補助記憶装置353及び通信装置354を有する。
【0163】
中央制御装置351は、主記憶装置352に記憶されたプログラムを実行することによって種々の処理を実行するプロセッサである。通信装置354は、ネットワーク301を介して当該ネットワーク301に接続された全体管理コンピュータ109等の各機器と通信する装置である。
【0164】
主記憶装置352は、例えばDRAMなどの記憶装置であり、中央制御装置351によって実行されるプログラム等を保持する。
図19に示す主記憶装置352は、ロボット管理部361、機構制御部362、センサ制御部363、箱認識部364、物品認識部365及び動作計画部366を保持する。これらは、中央制御装置311によって実行されるプログラムである。したがって、以下の説明において上記の各部が実行する処理は、実際には、中央制御装置311が主記憶装置312に保持されたプログラムに従って、必要に応じてアーム201、物品認識センサ202、ハンド203、格納箱認識センサ204及び仕分箱認識センサ205を制御することによって実行する。
【0165】
補助記憶装置353は、例えばハードディスクドライブ又はフラッシュメモリなどの記憶装置であり、中央制御装置351が実行する処理のために必要となる情報等を保持する。
図19に示す補助記憶装置353は、倉庫定義情報342及び箱内物品配置情報381を保持する。倉庫定義情報342は、全体管理コンピュータ109が保持するものと同様である。箱内物品配置情報381の詳細は後述する(
図29参照)。なお、これらの情報の少なくとも一部が必要に応じて主記憶装置352にコピーされ、中央制御装置351によって参照されてもよい。また、中央制御装置351が実行するプログラムも補助記憶装置353に格納され、それらの少なくとも一部が必要に応じて主記憶装置352にコピーされてもよい。
【0166】
ここで、主記憶装置352に保持されたプログラムによって実現される機能の概要を説明する。
【0167】
ロボット管理部361は、ロボット101のメインプログラムである。具体的には、ロボット管理部361は、通信装置354を使って全体管理コンピュータ109から作業計画情報を受け取り、各機器及び機能を使ってその作業を遂行する。その時の作業手順(例えば、仕分箱105の認識、格納箱103の認識、物品251の認識、物品251の取り出し、及び物品251の箱詰めといった一連の作業の流れ)がプログラミングされている。
【0168】
ロボット管理部361は、上記の作業が完了したら、通信装置354を使って全体管理コンピュータ109に作業完了を通知する。また、ロボット管理部361は、物品251の格納箱103からの取り出し及び仕分箱105への格納といった動作の後、箱内物品配置情報381を更新する。
【0169】
機構制御部362は、アーム201及びハンド203を制御する。具体的には、機構制御部362は、動作計画部366によって作成されたアーム姿勢及びハンド状態の時系列データを受け取り、その通りにアーム201及びハンド203を動作させる。
【0170】
センサ制御部363は、物品認識センサ202、格納箱認識センサ204及び仕分箱認識センサ205を制御する。例えば、センサ制御部363は、これらのセンサがカメラ又は距離画像センサである場合、これらのセンサに撮影を指示し、画像又は距離画像のデータを受け取る。
【0171】
箱認識部364は、格納箱認識センサ204及び仕分箱認識センサ205から取得したデータを処理し、格納箱103及び仕分箱105のID(識別情報)を確認し、その位置及び向きを認識する。識別は、例えば、箱に貼られたラベルの文字やバーコードなどを読み取ることで行う。位置姿勢の認識は、例えば、箱の前面を計測し箱の形状データと照合することで行う。例えば箱に二次元バーコードが貼られ、貼られている位置及び向きを箱認識データとして保持している場合は、それを計測して読み取ることで認識することもできる。
【0172】
物品認識部365は、物品認識センサ202から取得したデータを処理し、格納箱103内に入っている物品251の位置及び向きを認識する。例えば、物品認識データとして物品表面の模様を保持しておき、撮影した画像の模様を物品認識データから探索することで物品251の位置及び向きを認識することができる。同一の格納箱103から複数個の物品251を取り出す場合、物品認識部365は、その個数分の物品251を同時に認識しても良い。
【0173】
動作計画部366は、物品認識、物品取出し及び物品箱詰め(すなわち箱への格納)の作業時に、アーム201及びハンド203の動作の計画を行う。
【0174】
物品認識においては、動作計画部366は、物品認識センサ202の視野が格納箱103全体とほぼ一致するようなアーム姿勢を認識時の姿勢として予め定義しておき、現在の姿勢から認識時の姿勢へと推移するアーム姿勢の時系列データを作成する。
【0175】
二つの姿勢間の時系列データを作成する単純な方法としては、アーム201の各関節角を線形に変化させる方法がある。
【0176】
物品取り出しにおいては、動作計画部366は、物品認識部365で得られた物品251の配置から取り出す物品251を選択し、把持時の相対的な手先位置及び向きから把持時のアーム姿勢を算出する。動作計画部366は、予め、取出し前と取出し後のアーム姿勢を定義しておき、取出し前の姿勢から把持時の姿勢へと推移させ、ハンドを把持状態にし、把持時の姿勢から取出し後の姿勢へと推移させる一連のアーム姿勢及びハンド状態の時系列データを作成する。
【0177】
物品箱詰めにおいては、動作計画部366は、取り出した物品251、現在の仕分箱105の物品配置、及び箱詰め誤差情報に基づき、理想的な物品251の挿入位置及び設置位置を決定する。そして、動作計画部366は、把持時の相対的な手先位置及び向きから挿入時及び設置時のアーム姿勢を算出する。動作計画部366は、予め、箱詰め前と箱詰め後のアーム姿勢を定義しておき、箱詰め前の姿勢から挿入時の姿勢を経由し設置時の姿勢へと推移させ、ハンドを解放状態にし、設置時の姿勢から箱詰め後の姿勢へと推移させる一連のアーム姿勢及びハンド状態の時系列データを作成する。
【0178】
次に、全体管理コンピュータ109及びロボット101が保持する情報について説明する。
【0179】
図20は、本発明の実施例の全体管理コンピュータ109が保持する倉庫状態管理情報341の説明図である。
【0180】
倉庫状態管理情報341は、倉庫の状態、例えば倉庫内の各自動ラック108及び各仕分箱105の状態を管理するための情報であり、自動ラック間口数401、間口情報402、仕分箱数403及び仕分箱情報404を含む。
【0181】
自動ラック間口数401は、倉庫内にある自動ラック108の間口の総数である。間口情報402は、各間口の状態を示す情報である。
図20には間口情報402として倉庫内のある間口に関する間口情報A、及び、別の間口に関する間口情報Bの二つを示している。
図20では省略されているが、実際には倉庫内の全ての自動ラック108の全ての間口の各々について間口情報402が保持されてもよい。間口情報402の詳細については後述する(
図25参照)。
【0182】
仕分箱数403は、仕分作業の対象となる仕分箱105の総数である。仕分箱情報404は、各仕分箱105の状態を示す情報である。
図20には仕分箱情報404として倉庫内の一つの仕分箱105に関する仕分箱情報C、及び、それとは別の仕分箱105に関する仕分箱情報Dの二つを示している。
図20では省略されているが、実際には仕分作業の対象となる全ての仕分箱105の各々について仕分箱情報404が保持されてもよい。仕分箱情報404の詳細については後述する(
図26参照)。
【0183】
図21は、本発明の実施例の全体管理コンピュータ109及びロボット101が保持する倉庫定義情報342の説明図である。
【0184】
倉庫定義情報342は、物品種別数501、物品種別情報502、仕分箱形状データ1302、仕分箱認識データ1303、ロボット運動学モデル2102及びロボット把持誤差モデル2103を含む。
【0185】
物品種別数501は、倉庫に格納されている物品の種別の数である。物品種別情報502は、それぞれの物品の種別に関する情報である。
図21には、物品種別情報502として物品種別情報G及び物品種別情報Hを示している。これらは、倉庫内に格納されている全ての物品の種別のうち二つに関する物品種別情報502を例示したものであり、実際には倉庫内に格納されている全ての物品の種別に関する物品種別情報502が保持される。物品種別情報502の詳細については後述する(
図27参照)。
【0186】
仕分箱形状データ1302は、仕分箱105の形状(例えば各部の寸法等)の情報である。仕分箱認識データ1303は、例えば、仕分箱105の所定の位置に二次元バーコード等が貼付されている場合に、その貼付位置及び向きを示す情報を含んでもよい。仕分箱認識センサ205が二次元バーコードを読み取ったときに、その読み取りの結果と、仕分箱認識データ1303と、仕分箱形状データ1302と、に基づいて、箱認識部364が仕分箱105の位置及び姿勢を特定することができる。
【0187】
ロボット運動学モデル2102は、ロボット101のアーム201等の関節の状態と、ハンド203の先端の位置とを対応付ける情報であり、所望の位置にハンド203を移動させるためのアーム201の動作を動作計画部366が計画する際に参照される。
【0188】
ロボット把持誤差モデル2103は、ロボット101による物品の位置及び姿勢等の認識の際に想定される誤差の最大値等の情報を含む。ロボット把持誤差モデル2103の詳細については後述する(
図28参照)。
【0189】
図22は、本発明の実施例の全体管理コンピュータ109が保持するオーダ情報343の説明図である。
【0190】
オーダ情報343は、各配送先から受けた物品のオーダ、すなわち、各配送先に配送すべき物品の種別及び数量を示す情報である。具体的には、オーダ情報343は、オーダID601、配送先情報602、オーダ物品種別数603、物品種別ID604及び物品種別オーダ数605を含む。ロボット101の作業エリアにおける仕分作業は、ロボット101が、オーダ情報343に従ってオーダされた種別の物品をオーダされた数量だけ格納箱103から取り出して、当該オーダを行った配送先に対応する仕分箱105に格納する作業を含む。
【0191】
オーダID601は、各オーダを識別する情報である。例えば一つの配送先から受けた1回のオーダに関する情報が一つのオーダIDによって識別される。
図22には例として一つの配送先から受けた1回のオーダに関する情報のみを示しているが、複数の配送先からそれぞれ1回または複数回のオーダを受けてもよい。その場合の対応方法の一例として、オーダ情報343は配送先ごとに作成され、同一の配送先のオーダは一つに纏められ、それぞれのオーダ情報343に固有のオーダIDが割り振られてもよい。
【0192】
配送先情報602は、オーダを行った配送先を示す情報、すなわち、オーダされた物品の配送先を示す情報である。オーダ物品種別数603は、オーダされた物品の種別の数、すなわち、配送先に配送されるべき物品の種別の数である。
【0193】
物品種別ID604及び物品種別オーダ数605は、オーダされた物品の種別及びオーダされた当該種別の物品の数量である。複数の種別の物品がオーダされた場合、物品種別ID604及び物品種別オーダ数605の複数の組がオーダ情報343に含まれる。
【0194】
図22には、物品種別ID604及び物品種別オーダ数605の組として、物品種別MID及び物品種別Mオーダ数の組と、物品種別NID及び物品種別Nオーダ数の組とを例示しているが、実際にはオーダ情報343がさらに他の種別の物品に関する物品種別ID604及び物品種別オーダ数605の組を含んでもよい。
【0195】
図23は、本発明の実施例の全体管理コンピュータ109が保持する作業計画情報344の説明図である。
【0196】
作業計画情報344は、倉庫内でこれから行われる仕分作業の計画に関する情報であり、オーダID701、搬送格納箱数704及び個別作業情報706を含む。
【0197】
オーダID701は、作業計画の対象となるオーダの識別情報である。搬送格納箱数704は、当該作業計画において搬送される格納箱103の数である。個別作業情報706は、各格納箱103に対する作業に関する情報である。
【0198】
図23には個別作業情報706として個別作業情報Q及び個別作業情報Rを例示しているが、実際には作業する必要がある全ての格納箱103について個別作業情報706が保持される。個別作業情報706の詳細については後述する(
図24参照)。
【0199】
図24は、本発明の実施例の全体管理コンピュータ109が保持する個別作業情報706の説明図である。
【0200】
個別作業情報706は、各格納箱103に対する作業に関する情報であり、格納箱保管間口ID801、物品種別ID803及び物品種別オーダ数804を含む。格納箱保管間口ID801は、作業対象の格納箱103が保管されている自動ラック108の間口を識別する情報である。物品種別ID803は、オーダされた物品の種別を識別する情報である。物品種別オーダ数804は、オーダされた物品の個数を示す。
【0201】
図25は、本発明の実施例の全体管理コンピュータ109が保持する間口情報402の説明図である。
【0202】
間口情報402は、各間口の状態を示す情報であり、間口ID901、格納箱搬送予約数902、保管物品種別ID903及び保管物品数904を含む。間口ID901は、各間口を識別する情報である。格納箱搬送予約数902は、各間口に保管される格納箱103を仕分作業のために作業エリアに搬送することが予約されているか否か、及び、予約されている場合には、予約の数を示す。保管物品種別ID903は、各間口に保管される格納箱103に格納される物品の種別を識別する情報である。保管物品数904は、各間口に保管される格納箱103に格納される物品の数を示す。
【0203】
図26は、本発明の実施例の全体管理コンピュータ109が保持する仕分箱情報404の説明図である。
【0204】
仕分箱情報404は、各仕分箱105の状態を示す情報であり、仕分箱ID905、対応オーダID906及び仕分箱状態ID907を含む。仕分箱ID905は、各仕分箱105を識別する情報である。
【0205】
対応オーダID906は、各仕分箱105に対応するオーダを識別する情報である。例えば、ある仕分箱105の仕分箱情報404の対応オーダID906として、ある配送先からのオーダを識別する情報が保持されている場合、仕分作業において、当該オーダに従って当該配送先に配送される物品251が当該仕分箱105に格納される。
【0206】
仕分箱状態ID907は、仕分箱105の状態を識別する情報である。仕分箱105の状態としては、例えば、ロボット101の作業エリアに向けて搬送中、ロボット101による作業中、又は、ロボット101による作業が終了して後工程に搬送中、などがある。
【0207】
図27は、本発明の実施例の全体管理コンピュータ109及びロボット101が保持する物品種別情報502の説明図である。
【0208】
物品種別情報502は、物品種別ID1201、物品形状データ1202、物品認識データ1203、格納箱形状データ1204、格納箱認識データ1205及び把持時手先位置・向き1207を含む。
【0209】
物品種別ID1201は、物品251の種別を識別する情報である。物品形状データ1202は、当該種別の物品251の形状を示すデータである。物品認識データ1203は、当該種別の物品251の認識に使用されるデータである。例えば、当該種別の物品251の表面に、当該種別に特有の模様又は文字等が表示されている場合には、物品認識データ1203はその模様又は文字等の情報を含んでもよい。
【0210】
格納箱形状データ1204は、物品251を格納している格納箱103の形状を示すデータである。格納箱認識データ1205は、格納箱103の認識に使用されるデータであり、各格納箱103を特定可能な情報を持つ。例えば、格納箱103に、格納箱認識センサ204によって読み取られる二次元バーコード等が貼付されている場合には、格納箱認識データ1205は、その二次元バーコードの内容、それが貼付されている位置及び向き等の情報を含んでもよい。
【0211】
把持時手先位置・向き1207は、ロボット101がハンド203を用いて当該種別の物品251を把持するときの、把持位置及び向きを示す。例えば、指型ハンド203aを使用する場合には、指209が物品251のどの位置をどの向きに挟むかを示す情報を含んでもよい。また、吸着ハンド203bを使用する場合には、吸着パッド210aが物品251のどの位置を吸着するか、及び、吸着するときの吸着ハンド203bの向きを示す情報を含んでもよい。
【0212】
図28は、本発明の実施例の全体管理コンピュータ109及びロボット101が保持するロボット把持誤差モデル2103の説明図である。
【0213】
ロボット把持誤差モデル2103は、物品位置認識最大誤差2801、物品姿勢認識最大誤差2802、物品高さ認識最大誤差2803、仕分箱x方向位置認識最大誤差2804、仕分箱y方向位置認識最大誤差2805、仕分箱姿勢認識最大誤差2806、マージン2807、指型ハンドサイズ2851及び最小把持量2852を含む。
【0214】
物品位置認識最大誤差2801、物品姿勢認識最大誤差2802及び物品高さ認識最大誤差2803は、それぞれ、物品認識センサ202の認識結果に基づいて物品認識部365が物品251の位置、姿勢及び高さを認識するときの、認識結果に想定される誤差の最大値であり、
図5を参照して説明したΔP、ΔΩ及びΔQに相当する。これらは、物品認識センサ202のセンシング方法及びセンシングの結果に基づく位置、姿勢及び高さの算出方法等に基づいて予め設定される値である。
【0215】
仕分箱x方向位置認識最大誤差2804、仕分箱y方向位置認識最大誤差2805及び仕分箱姿勢認識最大誤差2806は、それぞれ、仕分箱認識センサ205の認識結果に基づいて箱認識部364が仕分箱105の位置及び姿勢を認識するときの、認識結果に想定される誤差の最大値であり、
図6を参照して説明したΔX、ΔY及びΔΓに相当する。これらは、仕分箱認識センサ205のセンシング方法及びセンシングの結果に基づく位置及び姿勢の算出方法等に基づいて予め設定される値である。
【0216】
マージン2807は、物品251を仕分箱105に格納するときに仕分箱105の壁面又は他の物品251との接触による損傷を防ぐための余裕として設定される値であり、
図6等を参照して説明したマージンeに相当する。マージン2807として0以上の任意の値を設定することができる。この値が大きいほど物品251が損傷する危険は低下するが、大き過ぎるとそのスペースを確保して物品251を仕分箱105に挿入することが難しくなる場合がある。また、仕分箱105の容積の利用効率も低下する場合もある。
【0217】
指型ハンドサイズ2851は、ロボット101が指型ハンド203aを有している場合に、そのサイズを示している。これは、
図5を参照して説明した、指209を挿入するために仕分箱105の内側の壁面と物品251の側面との間に確保する必要がある空間のサイズ(距離W)を算出するために用いられる。
【0218】
最小把持量2852は、物品251を安定して把持するために確保する必要がある物品251の上面から指209の先端までの距離の最小値であり、
図5を参照して説明した最小把持量Lminに相当する。
【0219】
図29は、本発明の実施例のロボット101が保持する箱内物品配置情報381の説明図である。
【0220】
箱内物品配置情報381は、ロボット101が物品251を取り出す格納箱103及び物品251を格納する仕分箱105のそれぞれについて、箱に格納されている物品251に関する情報を含む。具体的には、箱内物品配置情報381は、箱種別ID1501、箱ID1502、箱形状データ1503、物品数1504、物品種別ID1505、形状データ1506及び箱内位置・向き1507を含む。
【0221】
箱種別ID1501は、各箱が格納箱103又は仕分箱105のいずれであるかを識別する情報である。箱ID1502は、各箱を識別する情報である。箱形状データ1503は、各箱の形状(例えば長さ、幅、高さ等の寸法)を示す情報である。物品数1504は、各箱に格納されている物品251の数を示す。
【0222】
物品種別ID1505、形状データ1506及び箱内位置・向き1507は、箱に格納されている物品251の種別、形状、並びに、それが置かれている箱内の位置及び向き(姿勢)を示す。一つの箱内に複数の物品251が格納されている場合、その物品ごとに、物品種別ID1505、形状データ1506及び箱内位置・向き1507の組が箱内物品配置情報381に格納される。
【0223】
図29の例では物品種別ID1505、形状データ1506及び箱内位置・向き1507の組として、物品S物品種別ID、物品S形状データ及び物品S箱内位置・向きの組と、物品T物品種別ID、物品T形状データ及び物品T箱内位置・向きの組が登録されているが、箱内に三つ以上の物品251が格納されている場合には残りの物品251についても同様の情報が登録される。
【0224】
次に、全体管理コンピュータ109及びロボット101の動作について説明する。
【0225】
図30は、本発明の実施例の全体管理コンピュータ109が各オーダに対して実行する処理を示すフローチャートである。
【0226】
最初に、全体管理コンピュータ109のオーダ処理部331は、上位システム110からオーダ情報343(
図22)を受信して、補助記憶装置313に格納する(ステップ3001)。
【0227】
次に、オーダ処理部331は、受信したオーダ情報343に対する作業を計画する(ステップ3002)。具体的には、オーダ処理部331は、オーダ情報343に加えて、倉庫状態管理情報341(
図20)及び倉庫定義情報342(
図21)を参照して、作業計画情報344(
図23)を作成して補助記憶装置313に格納する。この処理の詳細は後述する(
図31参照)。
【0228】
このとき、オーダ処理部331は、作成した作業計画情報344に従ってロボット101の作業エリアに搬送する必要がある格納箱103に対応する自動ラック108の間口を対象として、間口情報402(
図25)の格納箱搬送予約数902を1増やし、保管物品数904をオーダされた数だけ減らす。
【0229】
次に、オーダ処理部331は、指示端末107に対して、仕分箱105の準備の指示を送信する(ステップ3003)。指示端末107は、受信した指示を作業員106に対して出力する。作業員106は、指示された種別の仕分箱105を一つ準備して、固有のIDが記載されたラベルを仕分箱IDとして当該仕分箱105に貼付し、仕分箱搬送コンベア104に当該仕分箱105を設置する。その後、作業員106は、指示端末107を経由して、準備完了の通知を仕分箱搬送コンベア104に送信する。
【0230】
次に、作業員106は、仕分箱105の準備が完了したことを示す情報と、設置した仕分箱105を識別するIDとを指示端末107に入力する。指示端末107は、入力された情報を全体管理コンピュータ109に送信する。オーダ処理部331は、それらの情報を受信すると(ステップ3004)、倉庫状態管理情報341(
図20)の仕分箱数403を1増やし、当該仕分箱105に対応する仕分箱情報404を作成する。作成した仕分箱情報404の仕分箱状態ID907(
図26)は、「ロボットへ搬送中」とする。
【0231】
次に、オーダ処理部331は、ロボット101に対して作業の指示を送信する(ステップ3005)。このとき、オーダ処理部331は、当該ロボットが対応する全ての個別作業情報706(
図24)と、作業の対象の仕分箱105を識別する仕分箱IDと、を併せて送信する。
【0232】
次に、オーダ処理部331は、仕分箱搬送コンベア104に、設置された仕分箱105をロボット101の作業エリアに搬送する指示を送信する(ステップ3006)。この指示を受けた仕分箱搬送コンベア104は、仕分箱105をロボット101の作業エリアに搬送する。この搬送が終了すると、当該仕分箱105に対応する仕分箱情報404の仕分箱状態ID907(
図26)は、「ロボット作業中」となる。
【0233】
ロボット101の箱認識部364は、仕分箱認識センサ205のセンシング結果に基づいて仕分箱105のIDを認識する。仮に、複数のオーダに対応する作業が並行して行われる場合、ロボット101は、到着した仕分箱105のIDに基づいて、それぞれの仕分箱105がどのオーダに対応するかを把握する。
【0234】
また、ある仕分箱105がロボット101の作業エリアに向けて搬送されているときに、別のオーダに対応する仕分箱105が先に作業エリアに到着しており、ロボット101による作業が行われている場合は、仕分箱搬送コンベア104は搬送中の仕分箱105を作業エリアの手前で待機させ、先の仕分箱105の作業が終了して当該先の仕分箱105が作業エリアの外に移動したら、待機していた仕分箱105を作業エリアに移動させてもよい。
【0235】
次に、オーダ処理部331は、当該ロボット101が作業を行う個別作業情報706のうち、対応する格納箱103がまだ作業エリアに搬送されていないものがあるかを判定する(ステップ3007)。まだ搬送されていない格納箱103がある場合は、それに対応する個別作業情報706の一つを選択して、ステップ3008に進む。一方、まだ搬送されていない格納箱103がない場合には、ステップ3008を省略してステップ3009に進む。
【0236】
ステップ3008において、オーダ処理部331は、自動ラック108及び格納箱搬送コンベア102に、選択された個別作業情報706に対応する格納箱103を搬送する指示を送信する。この指示に基づいて、自動ラック108及び格納箱搬送コンベア102は、該当する格納箱103を作業エリアに搬送する(ステップ3008)。
【0237】
このとき、別のオーダに対応する格納箱103が先に作業エリアに到着しており、ロボット101による作業が行われている場合は、格納箱搬送コンベア102は搬送中の格納箱103を作業エリアの手前で待機させ、処理はステップ3009に進む。その後、格納箱搬送コンベア102は、作業エリアの格納箱103を自動ラック108に返却するときに(ステップ3012)、待機していた格納箱103を作業エリア内に搬送する。
【0238】
格納箱103が作業エリアに搬送されると、ロボット101の箱認識部364は、格納箱認識センサ204のセンシング結果に基づいて格納箱103のIDを認識し、それに格納されている物品251の種別を認識する。続いて、ロボット101は、認識した物品251の種別に対応する個別作業情報706を検索して、格納箱103から取り出して仕分箱105に箱詰めする作業の対象となる物品251の個数を確認し、その作業を実行する。実行される作業の詳細な手順は後述する(
図32参照)。
【0239】
次に、オーダ処理部331は、搬送した格納箱103のうち、作業エリアから自動ラック108へまだ返却されていないものがあるかを判定する(ステップ3009)。まだ返却されていないものがある場合、オーダ処理部331は、ロボット101から個別作業の完了通知を受信したかを確認し、受信していなければ所定の時間だけ受信を待つ(ステップ3010)。所定の時間が経過しても個別作業の完了通知を受信しない場合は(ステップ3011:No)、ステップ3007に戻り、ステップ3007以降の処理が繰り返し実行される。ロボット101から個別作業の完了通知を受信した場合には(ステップ3011:Yes)、オーダ処理部331は、格納箱搬送コンベア102に当該格納箱103の搬送を指示して当該格納箱103を自動ラック108の保管間口に返却し、当該間口に対応する間口情報402の格納箱搬送予約数902を1減らす(ステップ3012)。
【0240】
その後、処理はステップ3007に戻り、ステップ3007以降の処理が繰り返し実行される。
【0241】
ステップ3009において、まだ返却されていない格納箱103がないと判定された場合、オーダに対応する全ての物品251の仕分箱105への箱詰め作業が終了している。このため、オーダ処理部331は、ロボット101から箱詰め作業の完了報告を受信し(ステップ3013)、仕分箱搬送コンベア104に、仕分箱105の後工程エリア(図示省略)への搬送の指示を送信する(ステップ3014)。このとき、オーダ処理部331は、当該仕分箱105に対応する仕分箱情報404の仕分箱状態ID907を「後工程へ移送中」に変更する。
【0242】
仕分箱105の後工程エリアへの搬送が終了したら、オーダ処理部331は、上位システム110に、搬送した仕分箱105を識別する仕分箱IDとともに、オーダの完了報告を送信する(ステップ3015)。さらに、オーダ処理部331は、倉庫状態管理情報341から当該仕分箱105に対応する仕分箱情報404を削除し、仕分箱数403を1減らす。
【0243】
以上で、ステップ3001で受信したオーダに対する作業が終了する。
【0244】
図31は、本発明の実施例の全体管理コンピュータ109が各オーダに対して作業計画を作成する処理を示すフローチャートである。
【0245】
オーダ処理部331は、
図30のステップ3001において上位システム110からオーダ情報343を受信すると、ステップ3002において
図31の処理を開始する。
【0246】
最初に、オーダ処理部331は、受信したオーダ情報343に対応する作業計画情報344の作成を開始する(ステップ3101)。具体的には、オーダ処理部331は、一つの格納箱103に一つの種別の物品が格納されている場合、オーダ情報343のオーダ物品種別数603をそのまま作業計画情報344の搬送格納箱数704として設定し、その数の個別作業情報706を作成する。そして、オーダ処理部331は、オーダ情報343に基づいて、各個別作業情報706の物品種別ID803及び物品種別オーダ数804を登録する。
【0247】
次に、オーダ処理部331は、オーダ情報343に含まれる各物品種別について、対応する格納箱103を取り出す自動ラック108の間口を決定する(ステップ3102)。具体的には、オーダ処理部331は、オーダ情報343に含まれる各種別の物品を格納している間口を倉庫状態管理情報341の間口情報402から検索する。そして、オーダ処理部331は、検索した間口のIDを個別作業情報706の格納箱保管間口801として登録し、その間口に対応する間口情報402の格納箱搬送予約数902を1増やす。
【0248】
このとき、同一の種別の物品が複数の間口に保管されている場合には、ステップ3102の検索によって複数の間口が得られる。この場合、オーダ処理部331は、得られた複数の間口から格納箱搬送予約数902が少ないものを選択してもよい。それによって、格納箱103の搬送の待ち時間を減らすことができ、仕分作業を効率化することができる。
【0249】
以上で作業計画情報344の作成が終了する。
【0250】
図32は、本発明の実施例のロボット101が各オーダに対して実行する動作を示すフローチャートである。
【0251】
最初に、ロボット101のロボット管理部361は、全体管理コンピュータ109から仕分箱IDと作業計画情報344とを受信する(ステップ3201)。これらは、
図30のステップ3005において送信されたものである。
【0252】
次に、ロボット管理部361は、箱認識部364の認識結果に基づいて、ステップ3201で受信した仕分箱IDを持つ仕分箱105が作業エリアへ到着したことを確認し、その仕分箱105の位置及び姿勢の認識結果を取得する(ステップ3202)。
【0253】
次に、ロボット管理部361は、受信した作業計画情報344に含まれる個別作業情報706のうち、未対応のものがあるかを判定する(ステップ3203)。未対応の個別作業情報706がある場合には、そのうちの一つを対象として、ステップ3204以降の処理が実行される。
【0254】
次に、ロボット管理部361は、箱認識部364の認識結果に基づいて、対象の個別作業情報706に対応する格納箱103が作業エリアへ到着したことを確認し、その格納箱103の位置及び姿勢の認識結果を取得する(ステップ3204)。
【0255】
物品認識部365は、物品認識センサ202を用いて格納箱103内を計測し、格納されている物品251の位置及び姿勢を認識する。ロボット管理部361は、その認識結果を取得すると(ステップ3205)、その中から、取り出す物品251を特定する(ステップ3206)。
【0256】
次に、ロボット管理部361は、箱内物品配置情報381とロボット把持誤差モデル2103を参照しつつ、特定した物品251を仕分箱105内に設置するときの理想位置姿勢を決定する(ステップ3207)。例えばロボット101が指型ハンド203aを有している場合において、特定した物品251が仕分箱105に最初に設置される場合は、
図6に示すようにその理想位置姿勢を、仕分け箱の隅から想定した位置誤差や指サイズの分だけスペースを空けた位置に決定してもよい。あるいは、既に別の物品251が設置されている場合には、
図8(e)及び
図8(f)の物品251mのようにその理想位置姿勢を、別の物品251の理想位置姿勢で形成される隅に決定してもよい。
【0257】
一方、ロボット101が吸着ハンド203bを有している場合において、特定した物品251が仕分箱105に最初に設置される場合は、
図11に示すようにその理想位置姿勢を、仕分け箱の隅から想定した位置姿勢誤差の分だけスペースを空けた位置に決定してもよい。あるいは、既に別の物品251が設置されている場合には、
図13(e)及び
図13(f)の物品251mのようにその理想位置姿勢を、別の物品251の理想位置姿勢で形成される隅に決定してもよい。
【0258】
次に、ロボット管理部361は、決定した理想位置姿勢に基づいて、仕分箱105内に物品251を挿入するときの挿入位置姿勢を決定する(ステップ3208)。例えば、特定した物品251が仕分箱105に最初に設置される場合は、ステップ3207で決定した理想位置姿勢をそのまま挿入位置姿勢として決定してもよい。既に別の物品251が設置されている場合において、ロボット101が指型ハンド203aを有している場合には、
図8(a)及び
図8(b)の物品251mのようにその挿入位置姿勢を、理想位置姿勢から想定した位置誤差の2倍のスペースを空けた位置に決定してもよい。あるいは、ロボット101が吸着ハンド203bを有している場合には、
図13(a)及び
図13(b)の物品251mのようにその挿入位置姿勢を、理想位置姿勢から想定した位置姿勢誤差の2倍のスペースを空けた位置に決定してもよい。
【0259】
次に、ロボット管理部361は、格納箱103から特定した物品251を取り出す(ステップ3209)。例えば、ロボット管理部361からの指示に従って機構制御部362がアーム201及びハンド203を操作して特定した物品251を取り出してもよい。以下の説明におけるハンド203の操作も同様である。
【0260】
次に、ロボット管理部361は、取り出した物品251の仕分箱105内の位置姿勢がステップ3208において決定した挿入位置姿勢となるように、ハンド203を移動させる(ステップ3210)。
【0261】
次に、ロボット管理部361は、物品251の水平方向の位置姿勢が理想位置姿勢と同一になるようにハンド203を水平に移動させる(ステップ3211)。例えば、ロボット101が指型ハンド203aを有している場合には、
図8(c)及び
図8(d)のように指型ハンド203aを移動させてもよい。このとき、実際の各物品251の位置は、例えば
図9(c)及び
図9(d)のようになる。また、ロボット101が吸着ハンド203bを有している場合には、
図13(c)及び
図13(d)のように吸着ハンド203bを移動させてもよい。このとき、実際の各物品251の位置は、例えば
図15(c)、
図16(c)又は
図17(b)のようになる。
【0262】
次に、ロボット管理部361は、物品251をハンド203から解放して仕分箱105内に設置し、ハンド203を仕分箱105から引き上げる(ステップ3212)。
【0263】
次に、ロボット管理部361は、格納箱103内の物品251を、オーダされた数だけピッキングしたかを判定する(ステップ3213)。オーダされた数の物品251のピッキングが終了していない場合は、ステップ3206に戻り、残りの物品251の格納箱103からの取り出し及び仕分箱105への格納が実行される。
【0264】
ステップ3213において、オーダされた数の物品251のピッキングが終了したと判定された場合、ロボット管理部361は、個別作業情報706に基づく作業の完了の通知を全体管理コンピュータ109に送信し、ピッキングが終了した格納箱103を自動ラック108に返却するための移動が開始されたことを確認する(ステップ3214)。その後、処理はステップ3203に戻る。
【0265】
ステップ3203において、未対応の個別作業情報706がないと判定された場合、ステップ3202で到着した仕分箱105についてオーダされた全ての物品251の格納が終了したため、ロボット管理部361は、ステップ3201で受信した作業計画情報344に基づく作業の完了の通知を全体管理コンピュータ109に送信し、物品251の格納が終了した仕分箱105の後工程に向けた移動が開始されたことを確認する(ステップ3215)。
【0266】
以上で、ロボット101の各オーダに対する処理が終了する。
【0267】
以上のように、本発明の実施例のロボットシステムは、底面と、底面に接続された壁面と、を有する搬送先(例えば仕分箱105)に搬送対象物(例えば物品251)を搬送するマニピュレータ(例えばアーム201及びハンド203)を有し、マニピュレータが、第1の搬送対象物(例えば
図9の物品251j又は
図15の物品251i等)を前記搬送先の底面に置く第1の工程と、前記マニピュレータが、第2の搬送対象物(例えば
図9の物品251m又は
図15の物品251j等)を、搬送先の底面上の、第1の搬送対象物と接触しない位置(例えば
図9(a)における物品251mの位置、又は、
図15(a)における物品251jの位置)に搬送する第2の工程と、マニピュレータが、第2の搬送対象物を、第1の搬送対象物と接触しない位置から第1の搬送対象物の方向に移動させ、第1の搬送対象物に接触した後にさらに移動させることによって、前記第1の搬送対象物を移動させる第3の工程(例えば、
図9(a)に示す状態から
図9(c)に示す状態に至る工程、又は、
図15(a)に示す状態から
図15(c)に示す状態に至る工程)と、を実行してもよい。
【0268】
これによって、異なる形状の複数の物品を箱に格納する際に、物品間の隙間をより小さくすることで箱内の収容効率を向上させることができる。
【0269】
ここで、第3の工程において、マニピュレータは、第2の搬送対象物を第1の搬送対象物に接触した後にさらに移動させることによって、第1の搬送対象物の姿勢を変更してもよい。これは、例えば、
図15(a)の物品251iの姿勢が
図15(c)において変更されていることに相当する。
【0270】
これによって、姿勢の認識誤差に起因する物品251の姿勢のずれが修正されるため、箱の容積の利用効率が向上する。
【0271】
また、第2の工程における第2の搬送対象物の移動方向と、第3の工程における第2の搬送対象物の移動方向と、が異なる。これは、上記の実施例において、物品251を仕分箱に挿入するときの移動方向と、挿入した物品251をずらし移動するときの移動方向とが異なることに相当する。
【0272】
これによって、他の物品251との距離を十分に確保した位置に搬送対象の物品251が挿入され、その後、他の物品251との距離が縮小することとなる。このため、挿入時に物品251に損傷を与えず、かつ、挿入後に箱の容積の利用効率を高めることができる。
【0273】
また、第3の工程において、マニピュレータは、第2の搬送対象物の底面が、第1の搬送対象物の底面より高く、かつ、第1の搬送対象物の上面より低い位置にあるように、第2の搬送対象物を移動させる。これは、
図5及び
図12に示す物品251pに対する物品251iの位置に相当する。
【0274】
これによって、搬送対象の物品251を底面に接触させることなく、隣接する物品251に接触させて、当該隣接する物品251を移動させることができる。
【0275】
また、第1の工程において、第1の搬送対象物は壁面と接触しない位置に置かれる。
【0276】
これによって、物品251が壁面に衝突して損傷することが避けられる。
【0277】
また、第2の工程が終了した時点で、第1の搬送対象物は、搬送先の壁面と、第2の搬送対象物との間に置かれており、第3の工程において、マニピュレータは、第2の搬送対象物を、第1の搬送対象物に接触した後に、壁面の方向に移動させることによって、第1の搬送対象物を壁面の方向に移動させてもよい。これは、
図9(a)~
図9(d)に示すように、物品251mが物品251jに接触してそれを壁面の方向に移動させること、及び、
図15(a)~
図15(c)に示すように、物品251jが物品251iに接触してそれを壁面の方向に移動させることに相当する。
【0278】
これによって、先に置かれた物品251と壁面との距離が縮小するため、箱の容積の利用効率が向上する。
【0279】
また、第3の工程において第1の搬送対象物が壁面の方向に移動する距離は、第1の工程において置かれた第1の搬送対象物と壁面との距離より小さい。このとき、ロボットシステムは、搬送先の壁面の位置の認識誤差(その最大値は、例えば
図28の仕分箱x方向位置認識最大誤差2804及び仕分箱y方向位置認識最大誤差2805)、搬送先の壁面の姿勢の認識誤差(その最大値は、例えば仕分箱姿勢認識最大誤差2806)、搬送対象物の位置の認識誤差(その最大値は、例えば物品位置認識最大誤差2801)、及び、搬送対象物の姿勢の認識誤差(その最大値は、例えば物品姿勢認識最大誤差2802)のうちの少なくとも一つを考慮して設計され、考慮した認識誤差の最大値を保持し、考慮した認識誤差のいずれも最大であっても、壁面に接触しないように、第1の搬送対象物を置いてもよい。
【0280】
つまり、搬送先の壁面の認識結果と搬送対象の認識結果から算出される「搬送先の壁面と搬送対象との相対位置関係」に対し、そのばらつきを考慮する、ということである。第1の工程では、これら上述したパラメータのうち1つ以上の情報に基づいて、そのばらつきの最大値を決定し、そのばらつきの最大値よりも大きく搬送先の壁面から離して第1の搬送対象物を設置する。そして、第3の工程では、そのばらつきの最大値の分だけ搬送先の壁面の方向に移動させる。
【0281】
これは、例えば、
図9(a)に示した移動前の物品251jから壁面までの距離がe+ΔDであるのに対して、
図9(c)における物品251jの移動量がΔDであること、及び、
図15(a)に示した移動前の物品251iから壁面までの距離がe+2ΔPであるのに対して、
図15(c)における物品251iの移動量が2ΔPであることに相当する。
【0282】
これらの考慮すべき認識誤差の最大値は、このロボットシステムを稼働する前に予め定めておくパラメータである。搬送先の壁面の位置の認識誤差の最大値(例えば、
図28の仕分箱x方向位置認識最大誤差2804及び仕分箱y方向位置認識最大誤差2805)と搬送先の壁面の姿勢の認識誤差の最大値(例えば、仕分箱姿勢認識最大誤差2806)については、以下の方法で同定する。まず、設計図面に基づき仕分箱105をロボット101前の停止位置に手作業で正確に設置し、ロボット101の仕分箱認識センサ205と箱認識部364を動作させて仕分箱105の位置姿勢を認識させる。その認識結果と設計図面とのずれを認識誤差とし、この仕分箱105の設置と認識を複数回繰り返し、最も大きかった認識誤差を認識誤差の最大値としてロボット101に設定する。同様に、搬送対象物の位置の認識誤差の最大値(例えば、物品位置認識最大誤差2801)と搬送対象物の姿勢の認識誤差の最大値(例えば、物品姿勢認識最大誤差2802)については、以下の方法で同定する。まず、設計図面に基づき格納箱103をロボット101前の停止位置に手作業で正確に設置し、格納箱103内に物品251を手作業で設置し、格納箱103と物品251との相対位置姿勢関係を定規や分度器で正確に測定した上で、ロボット101のアーム201と物品認識センサ202と物品認識部365を動作させて物品251の位置姿勢を認識させる。その認識結果と、設計図面及び格納箱103と物品251との相対位置姿勢関係から求めた物品251の位置姿勢とのずれを認識誤差とし、この物品251の設置と測定と認識を複数回繰り返し、最も大きかった認識誤差を認識誤差の最大値としてロボット101に設定する。
【0283】
第1の搬送対象物と接触しない位置とは、特定されたロボットシステムの認識誤差の範囲外を、第2の搬送対象物が第1の搬送対象物に接触しない位置として用いることということである。つまり、第2の搬送対象はロボットシステムが認識誤差として設定した第1の搬送対象物から所定の距離を有するエリアには挿入されず、そのエリア外の領域に挿入される。これにより、当該工程において、搬送対象物同士の接触を防止できるため、箱詰め作業の成功率を高めることができる。
【0284】
また、これによって、物品251が壁面に衝突して損傷することが避けられる。
【0285】
また、マニピュレータは、搬送対象物を把持する把持部(例えば指型ハンド203a、吸着ハンド203b又は2連吸着ハンド203c)を有し、把持部は、搬送対象物を挟むことによって搬送対象物を把持する複数の指(例えば指209)を有してもよい。あるいは、把持部は、搬送対象物を吸着することによって搬送対象物を把持する吸着部(例えば吸着パッド210a、210b又は210c)を有してもよい。
【0286】
これによって、多様な形状の物体を対象とした仕分け作業に本発明を適用することができる。
【0287】
また、把持部(例えば2連吸着ハンド203c)は、二つの吸着部(例えば吸着パッド210b及び210c)を有し、第2の工程において、第1の吸着部(例えば吸着パッド210b)が第2の搬送対象物(例えば物品251g)を吸着し、マニピュレータが第3の搬送対象物(例えば物品251h)に向かって移動し、第2の搬送対象物と第3の搬送対象物が接触し第3の搬送対象物が第2の搬送対象物に対応する姿勢となった後、第2の吸着部(例えば吸着パッド210c)が第3の搬送対象物を吸着し、第3の工程において、マニピュレータは、第2の搬送対象物または第3の搬送対象物を第1の搬送対象物に接触させながら移動させてもよい。
【0288】
あるいは、本発明の実施例のロボットシステムは、底面と、底面に接続された壁面と、を有する搬送先に搬送対象物を搬送するマニピュレータを有し、マニピュレータは、搬送対象物を吸着することによって搬送対象物を把持する吸着部(例えば吸着パッド210b及び210c)を少なくとも二つ有しており、第1の吸着部は、第1の搬送対象物(例えば物品251g)を把持し、把持された前記第1の搬送対象物を第2の搬送対象物(例えば物品251h)の方向へ搬送し、第1の吸着部は第1の搬送対象物を第2の搬送対象物へ接触させることにより第1の搬送対象物と第2の搬送対象物とが対応する姿勢(例えば
図18(f)に示す姿勢)となった後に、第2の吸着部は第2の搬送対象物を吸着してもよい。
【0289】
これによって、二つの物品251が同時に搬送されるため、ピッキングの効率が向上するとともに、当該二つの物品251の間の隙間を埋めた状態で箱に入れることができるため、箱の容積の利用効率が向上する。隙間を埋めるとは、物品間の隙間を小さくすることや密着させることを意味する。
【0290】
また、ロボットシステムは、搬送対象物の位置の認識誤差の最大値(例えば
図28の物品位置認識最大誤差2801)、及び、搬送対象物の姿勢の認識誤差の最大値(例えば物品姿勢認識最大誤差2802)を保持し、第2の工程において、第1の搬送対象物と接触しない位置は、第1の搬送対象物の位置の認識誤差、第1の搬送対象物の姿勢の認識誤差、第2の搬送対象物の位置の認識誤差及び第2の搬送対象物の姿勢の認識誤差がいずれも最大であっても、第2の搬送対象物が第
1の搬送対象物に接触しない位置(例えば、
図9(a)の物品251mの位置、又は、
図15(a)の物品251jの位置)である。
【0291】
これによって、新たに搬送された物品251が既に置かれている物品251と衝突して損傷することが避けられる。
【0292】
あるいは、本発明の実施例のロボットシステムは、搬送先に対して搬送対象物を搬送するマニピュレータを有し、既に第1の搬送対象物が前記搬送先に置かれている場合に、前記マニピュレータは、第2の搬送対象物を把持して、第2の搬送対象物を第1の搬送対象物に接触するまで移動させた後、さらに移動させることによって、前記第1の搬送対象物を移動させてもよい。これは、例えば、
図9(a)に示す状態から
図9(c)に示す状態に至る工程、又は、
図15(a)に示す状態から
図15(c)に示す状態に至る工程に相当する。
【0293】
これによって、異なる形状の複数の物品を箱に格納する際に、物品間の隙間をより小さくすることで箱内の収容効率を向上させることができる。
【0294】
また、第1の搬送対象物に接触するまでの第2の搬送対象物の移動は、第1の搬送対象物に接触しない目標位置までの第1の移動(例えば挿入のための移動)と、目標位置から第1の搬送対象物に接触するまでの第2の移動(例えばずらし移動)と、を含む。さらに、このとき、第1の移動の方向と、第2の移動の方向とが異なってもよい。
【0295】
これによって、他の物品251との距離を十分に確保した位置に搬送対象の物品251が挿入され、その後、他の物品251との距離が縮小することとなる。このため、挿入時に物品251に損傷を与えず、かつ、挿入後に箱の容積の利用効率を高めることができる。
【0296】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。
【0297】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0298】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0299】
101 ロボット
102 格納箱搬送コンベア
103 格納箱
104 仕分箱搬送コンベア
105 仕分箱
106 作業員
107 指示端末
108 自動ラック
109 全体管理コンピュータ
110 上位システム
201 アーム
202 物品認識センサ
203 ハンド
203a 指型ハンド
203b 吸着ハンド
203c 2連吸着ハンド
204 格納箱認識センサ
205 仕分箱認識センサ
209 指
210 吸着パッド