(57)【要約】【課題】倉庫作業での作業時間の短縮化を図ること。【解決手段】ピッキングロボットは、収納領域の最新の撮像画像に基づく前記収納領域内における最新の認識結果の保存先から前記最新の認識結果を取得する取得処理と、前記取得処理によって取得された最新の認識結果に基づいて、前記ロボットアームを制御して、前記収納領域にアクセスして前記収納領域内を変更する変更処理と、前記撮像装置を制御して、前記変更処理による前記収納領域内の変更後に前記収納領域を撮像する撮像処理と、前記撮像処理によって撮像された撮像画像に基づく前記収納領域内における残存物品を認識する認識処理と、前記認識処理による認識結果を前記保存先に伝送する伝送処理と、を実行する。【選択図】図２
2019025566.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、被写体を撮像する撮像装置と、物品の収納領域にアクセスするロボットアームと、を有するピッキングロボットであって、
前記プロセッサは、
前記収納領域の最新の撮像画像に基づく前記収納領域内における最新の認識結果の保存先から前記最新の認識結果を取得する取得処理と、
前記取得処理によって取得された最新の認識結果に基づいて、前記ロボットアームを制御して、前記収納領域にアクセスして前記収納領域内を変更する変更処理と、
前記撮像装置を制御して、前記変更処理による前記収納領域内の変更後に前記収納領域を撮像する撮像処理と、
前記撮像処理によって撮像された撮像画像に基づく前記収納領域内における残存物品を認識する認識処理と、
前記認識処理による認識結果を前記保存先に伝送する伝送処理と、
を実行することを特徴とするピッキングロボット。
【請求項２】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、被写体を撮像する撮像装置と、物品の収納領域にアクセスするロボットアームと、を有するピッキングロボットであって、
前記プロセッサは、
前記収納領域の最新の撮像画像に基づく前記収納領域内における前記物品を認識する認識処理を実行するサーバから、前記認識処理による最新の認識結果を取得する取得処理と、
前記取得処理によって取得された最新の認識結果にしたがって、前記ロボットアームを制御して、前記収納領域にアクセスして前記収納領域内を変更する変更処理と、
前記撮像装置を制御して、前記変更処理による前記収納領域内の変更後に前記収納領域を撮像する撮像処理と、
前記撮像処理によって撮像された撮像画像を前記サーバに伝送する伝送処理と、
を実行することを特徴とするピッキングロボット。
【請求項３】
請求項１に記載のピッキングロボットであって、
前記伝送処理では、前記プロセッサは、前記認識結果を、前記保存先として、前記収納領域を保管する棚に設けられた通信可能な記録媒体に伝送し、
前記取得処理では、前記プロセッサは、前記記録媒体から、当該記録媒体に記録された最新の認識結果を取得することを特徴とするピッキングロボット。
【請求項４】
請求項１に記載のピッキングロボットであって、
前記伝送処理では、前記プロセッサは、前記認識結果を、前記保存先として、前記ピッキングロボットと通信可能なサーバに伝送し、
前記取得処理では、前記プロセッサは、前記サーバから、当該サーバに保存された最新の認識結果を取得することを特徴とするピッキングロボット。
【請求項５】
請求項１または２に記載のピッキングロボットであって、
前記プロセッサは、
前記撮像装置を制御して、前記変更処理による前記収納領域内の変更前に前記収納領域を撮像する予備撮像処理と、
前記取得処理によって取得された最新の認識結果と、前記予備撮像処理によって撮像された予備撮像画像と、に基づいて、前記ロボットアームがアクセスすべき前記収納領域内の位置を推定する推定処理と、を実行し、
前記変更処理では、前記プロセッサは、前記推定処理による推定結果に基づいて、前記ロボットアームを制御して、前記収納領域にアクセスして前記収納領域内を変更することを特徴とするピッキングロボット。
【請求項６】
請求項１または２に記載のピッキングロボットであって、
前記変更処理では、前記プロセッサは、前記取得処理によって取得された最新の認識結果に基づいて、前記ロボットアームを制御して、前記収納領域から前記物品を取り出すことを特徴とするピッキングロボット。
【請求項７】
請求項１または２に記載のピッキングロボットであって、
前記変更処理では、前記プロセッサは、前記取得処理によって取得された最新の認識結果に基づいて、前記ロボットアームを制御して、前記物品を前記収納領域に収納することを特徴とするピッキングロボット。
【請求項８】
ピッキングロボットと、物品の収納領域を有する棚と、を有するピッキングシステムであって、
前記ピッキングロボットは、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、被写体を撮像する撮像装置と、前記収納領域にアクセスするロボットアームと、を有し、
前記棚は、前記収納領域の最新の撮像画像に基づく前記収納領域内における最新の認識結果を保存し、かつ、前記ピッキングロボットと通信可能な記録媒体を有し、
前記プロセッサは、
前記記録媒体から前記最新の認識結果を取得する取得処理と、
前記取得処理によって取得された最新の認識結果に基づいて、前記ロボットアームを制御して、前記収納領域にアクセスして前記収納領域内を変更する変更処理と、
前記撮像装置を制御して、前記変更処理による前記収納領域内の変更後に前記収納領域を撮像する撮像処理と、
前記撮像処理によって撮像された撮像画像に基づく前記収納領域内における残存物品を認識する認識処理と、
前記認識処理による認識結果を前記記録媒体に伝送する伝送処理と、
を実行することを特徴とするピッキングシステム。
【請求項９】
ピッキングロボットと、前記ピッキングロボットと通信可能なサーバと、を有するピッキングシステムであって、
前記ピッキングロボットは、被写体を撮像する撮像装置と、物品の収納領域にアクセスするロボットアームと、を有し、前記撮像装置および前記ロボットアームを制御し、
前記サーバは、前記収納領域の最新の撮像画像に基づく前記収納領域内における前記物品を認識する認識処理を実行し、
前記ピッキングロボットは、
前記サーバから、前記認識処理による最新の認識結果を取得する取得処理と、
前記取得処理によって取得された最新の認識結果にしたがって、前記ロボットアームを制御して、前記収納領域にアクセスして前記収納領域内を変更する変更処理と、
前記撮像装置を制御して、前記変更処理による前記収納領域内の変更後に前記収納領域を撮像する撮像処理と、
前記撮像処理によって撮像された撮像画像を前記サーバに伝送する伝送処理と、
を実行することを特徴とするピッキングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物品を取り出しまたは収納するピッキングロボットおよびピッキングシステムに関する。
【背景技術】
【０００２】
自動倉庫では、棚を運ぶ無人搬送車（Ａｕｔｏｍａｔｅｄ  Ｇｕｉｄｅｄ  Ｖｅｈｉｃｌｅ：ＡＧＶ）が到着、停止した後、アームロボットで物品を撮影し、認識処理を行った後に、棚の中に手先を挿入し、物品を取り出すという作業が行われている。下記特許文献１は、上述したような物品の認識処理を実行する物体認識装置を開示する。
【０００３】
この物体認識装置は、ロボットの作業環境内に設定された各領域の物体カテゴリと、該物体カテゴリに属する物体の識別情報と、該物体の形状情報と、を夫々対応付けて記憶する記憶手段と、認識対象の物体の距離情報を取得する距離情報取得手段と、物体が存在する領域を特定する領域特定手段と、距離情報取得手段により取得された物体の距離情報に基づいて、領域内の物体を物体候補として検出する候補検出手段と、候補検出手段により検出された物体候補を、記憶手段により記憶された情報を用いて、領域特定手段により特定された領域の物体カテゴリに属する物体の形状情報と比較することにより認識する認識手段と、を備える。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−２０６０６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、倉庫作業において、対象物品の認識後に当該対象物品を取り出したり収納したりする作業では、取出しまたは収納までの待機時間に、対象物品の認識処理時間が含まれるため、対象物品の取出しまたは収納が完了するまでに時間がかかるという問題がある。
【０００６】
本発明は、倉庫作業における作業時間の短縮化を図ることを目的とする。
【課題を解決するための手段】
【０００７】
本願において開示される発明の一側面となるピッキングロボットは、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、被写体を撮像する撮像装置と、物品の収納領域から前記物品を取り出すロボットアームと、を有するピッキングロボットであって、前記プロセッサは、前記収納領域からの最新の撮像画像に基づく前記収納領域内における最新の認識結果の保存先から前記最新の認識結果を取得する取得処理と、前記取得処理によって取得された最新の認識結果に基づいて、前記ロボットアームを制御して、前記収納領域から前記物品を取り出す取出処理と、前記撮像装置を制御して、前記取出処理による前記物品の取出後に前記収納領域から撮像する撮像処理と、前記撮像処理によって撮像された撮像画像に基づく前記収納領域内における残存物品を認識する認識処理と、前記認識処理による認識結果を前記保存先に伝送する伝送処理と、を実行することを特徴とする。
【０００８】
また、本願において開示される発明の他の側面となるピッキングロボットは、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、被写体を撮像する撮像装置と、物品を収納領域に収納するロボットアームと、を有するピッキングロボットであって、前記プロセッサは、前記収納領域からの最新の撮像画像に基づく前記収納領域内における最新の認識結果の保存先から前記最新の認識結果を取得する取得処理と、前記取得処理によって取得された最新の認識結果に基づいて、前記ロボットアームを制御して、前記物品を前記収納領域に収納する収納処理と、前記撮像装置を制御して、前記収納処理による前記物品の収納後に前記収納領域から撮像する撮像処理と、前記撮像処理によって撮像された撮像画像に基づく前記収納領域内における残存物品を認識する認識処理と、前記認識処理による認識結果を前記保存先に伝送する伝送処理と、を実行することを特徴とする。
【発明の効果】
【０００９】
本発明の代表的な実施の形態によれば、倉庫作業における作業時間の短縮化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】図１は、倉庫作業とピッキングロボットのロボットアーム動作との関係を示す図表である。
【図２】図２は、実施例１にかかる出庫作業例１を示す説明図である。
【図３】図３は、認識結果の伝送例１を示す説明図である。
【図４】図４は、認識結果の伝送例２を示す説明図である。
【図５】図５は、ピッキングロボットのハードウェア構成例を示すブロック図である。
【図６】図６は、実施例１にかかるピッキングロボットの詳細なピッキング処理手順例１を示すフローチャートである。
【図７】図７は、実施例１にかかるピッキングロボットの詳細なピッキング処理手順例２を示すフローチャートである。
【図８】図８は、実施例１にかかる出庫作業例２を示す説明図である。
【図９】図９は、実施例１にかかるピッキングロボットの詳細なピッキング処理手順例３を示すフローチャートである。
【図１０】図１０は、実施例１にかかるピッキングロボットの詳細なピッキング処理手順例４を示すフローチャートである。
【図１１】図１１は、実施例２にかかる入庫作業例１を示す説明図である。
【図１２】図１２は、実施例１にかかるピッキングロボットの詳細な収納処理手順例１を示すフローチャートである。
【図１３】図１３は、実施例２にかかるピッキングロボットの詳細な収納処理手順例２を示すフローチャートである。
【図１４】図１４は、実施例２にかかる入庫作業例２を示す説明図である。
【図１５】図１５は、実施例１にかかるピッキングロボットの詳細な収納処理手順例３を示すフローチャートである。
【図１６】図１６は、実施例２にかかるピッキングロボットの詳細な収納処理手順例４を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に示す実施例では、無人搬送車により棚を作業ステーションに搬送して、作業ステーションに載置されたピッキングロボットが、当該棚に保管されている物品を出庫または入庫されてきた物品を保管するピッキングシステムでもよく、ピッキングロボットが棚の位置まで自動走行により移動して、棚に保管されている物品を出庫または入庫されてきた物品を保管するピッキングシステムでもよい。ピッキングロボットは、たとえば、３次元カメラ付きの双腕ロボットである。
【００１２】
図１は、倉庫作業とピッキングロボットのロボットアーム動作との関係を示す図表である。倉庫作業が出庫である場合、物品を取り出すロボットアーム動作は、棚が保管する収納領域の一例である収納箱から物品を取り出す動作となり、物品を収納するロボットアーム動作は、収納箱から取り出された物品を搬出箱に収納する動作となる。なお、ロボットアーム動作に先立って、あらかじめ取り出すべき物品とその保管場所とを有するピッキング情報が、ピッキングロボットに与えられている。
【００１３】
倉庫作業が入庫である場合、物品を取り出すロボットアーム動作は、搬入箱２１５から物品を取り出す動作となり、物品を収納するロボットアーム動作は、搬入箱２１５から取り出された物品を棚の収納箱に収納する動作となる。なお、ロボットアーム動作に先立って、あらかじめ収納すべき物品とその保管先とを有する収納情報が、ピッキングロボットに与えられている。以降、倉庫作業が出庫の例を実施例１として説明し、倉庫作業が入庫の例を実施例２として説明する。
【実施例１】
【００１４】
＜出庫作業例１＞
図２は、実施例１にかかる出庫作業例１を示す説明図である。棚２００は、１以上の収納箱２０１を保管する。収納箱２０１には、１以上の物品２０３が収納されている。１つの収納箱２０１には、１種類または複数種類の物品２０３が保管される。棚２００および作業台２０４は、たとえば、無人搬送車２０２により搬送される。
【００１５】
ピッキングロボット２１０は、双腕ロボットであり、一方の、たとえば左のロボットアーム２１１Ｌで収納箱２０１を保持して棚２００から引き出し、他方の、たとえば右のロボットアーム２１１Ｒで収納箱２０１から物品２０３を取り出す。
【００１６】
各ロボットアーム２１１は、多軸多関節型で構成されたアームであり、その先端にハンド２１３を有する。ロボットアーム２１１の各関節部の駆動軸は、ピッキングロボット２１０内のプロセッサによって制御される。右のロボットアーム２１１Ｒは、収納箱２０１から物品２０３を１つずつ取り出して、作業台２０４上の搬出箱２０５に収納する。
【００１７】
具体的には、たとえば、右のロボットアーム２１１Ｒは、その先端に３次元カメラ２１４を有する。（Ａ）物品取出で右のロボットアーム２１１Ｒが物品２０３を取り出した後、（Ｂ）右のロボットアーム２１１Ｒは、物品２０３をハンド２１３で保持したまま、３次元カメラ２１４のレンズを収納箱２０１の開口に向けて、開口から収納箱２０１を撮像する。
【００１８】
また、各ロボットアーム２１１は、その先端とハンド２１３との間に６軸の力覚センサ（不図示）を有する。力覚センサは、ハンド２１３にかかる過負荷を検出する。ロボットアームが、バラ積みされた物品２０３を収納箱２０１から取り出す場合に、ハンド２１３またはハンド２１３に把持された物品２０３が、収納箱２０１の壁面や他の物品２０３と干渉（衝突または接触）による過負荷を検出すると、プロセッサは、検出された過負荷を逃がすようにロボットアーム２１１の駆動軸を制御する。
【００１９】
また、力覚センサは、ハンド２１３に作用する力を検出する。これにより、ハンド２１３が物品２０３を把持した場合、ハンド２１３に物品２０３の重さが作用するため、物品２０３のピッキング動作を実行した後、力覚センサの検出値が所定の閾値を超えていれば、プロセッサは、ハンド２１３が物品２０３を把持していると判断する。なお、ハンド２１３による物品２０３の把持については、力覚センサのほか、触覚センサを用いてもよい。また、ハンド２１３による物品２０３の把持については、３次元カメラ２１４の撮像画像により判断することもできる。
【００２０】
また、ハンド２１３が吸着式ハンドである場合、ハンド２１３による物品２０３の把持をその圧力計の計測結果から判断してもよい。なお、ハンド２１３は、物品２０３を保持可能であれば様々な形態を採用することができる。たとえば、ハンド２１３は、複数の指を開閉することによって物品２０３を把持してもよく、物品２０３を吸引することにより把持する構成でもよい。
【００２１】
ここで、ピッキングロボット２１０の処理を、プロセッサによる画像処理とロボットアーム動作とに分けて時間軸で説明する。図２の（Ｃ）において、まず、プロセッサがピッキングリクエストを受け付けると、左のロボットアーム２１１Ｌが収納箱２０１を棚２００から引き出す。ピッキングリクエストには、ピッキング対象商品の識別情報、ピッキング個数、保管されている棚の識別情報、収納されている収納箱２０１の識別情報が含まれる。
【００２２】
具体的には、たとえば、プロセッサは、棚２００における収納箱２０１の保管位置とピッキングロボット２１０に対向する収納箱２０１の側面から把持位置を特定し、左のロボットアーム２１１Ｌの初期位置から当該把持位置までの軌道を計算し、当該軌道に到達できるよう左のロボットアーム２１１Ｌの各関節部の駆動軸を制御することにより、左のロボットアーム２１１Ｌにより収納箱２０１を棚２００から引き出す。
【００２３】
そして、プロセッサは、画像処理において、収納箱２０１の開口からの画像の認識結果を当該認識結果の保存先から取得する。当該認識結果は、今回の収納箱２０１の引き出し前に処理された認識結果である。認識結果により、プロセッサは、どの物品２０３が収納箱２０１のどの位置に保管されているかを認識することができる。保存先とは、たとえば、棚２００に取り付けられた通信可能な記録媒体の一例であるＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｅｒ）タグや、ピッキングロボット２１０と通信可能なサーバである。
【００２４】
プロセッサが認識結果を取得した場合、右のロボットアーム２１１Ｒは、認識結果を用いて収納箱２０１から物品２０３を１つ取り出して（物品取出）、搬出箱２０５に収納する（物品収納）。具体的には、たとえば、プロセッサは、認識結果からピッキング対象物品２０３の把持位置を特定し、右のロボットアーム２１１Ｒの初期位置から当該把持位置までの軌道を計算し、当該軌道に到達できるよう右のロボットアーム２１１Ｒの各関節部の駆動軸を制御することにより、右のロボットアーム２１１Ｒにより収納箱２０１から物品２０３を取り出し、右のロボットアーム２１１Ｒを初期位置に戻す。そして、プロセッサは、搬出箱２０５の位置を特定し、右のロボットアーム２１１Ｒの初期位置から当該搬出箱２０５の位置までの軌道を計算し、当該軌道に到達できるよう右のロボットアーム２１１Ｒの各関節部の駆動軸を制御することにより、右のロボットアーム２１１Ｒにより把持している物品２０３を搬出箱２０５に収納する。
【００２５】
右のロボットアーム２１１Ｒは、この物品取出と物品収納とを、ピッキングリクエストで指定された個数分繰り返し実行する。右のロボットアーム２１１Ｒは、当該個数のうち最後に指定された物品２０３について収納箱２０１から物品取出を行った場合、次のピッキングリクエストによるピッキングまたは収納リクエストによる収納が行われるまで、当該収納箱２０１の中身、すなわち、残存物品２０３とその配置に変更はない。
【００２６】
したがって、画像処理では、プロセッサは、（Ｂ）に示したように３次元カメラ２１４で収納箱２０１の開口から撮像し、撮像した画像の認識処理を実行し、認識結果を保存先に伝送する。なお、認識処理は、具体的には、たとえば、既知の認識処理でよく、たとえば、プロセッサは、物品２０３の形状やテクスチャ、物品名などの文字情報を保存しておき、撮像画像とのマッチングにより物品２０３とその配置位置を認識する。
【００２７】
また、右のロボットアーム２１１Ｒは、取り出した物品２０３を搬出箱２０５に収納し、左のロボットアーム２１１Ｌは、収納箱２０１を棚２００に収納する。このあと、ピッキングロボット２１０は、画像認識を実行しながら別の場所に移動する。このあと、図２の（Ｄ）において、別のピッキングロボット２１０のプロセッサが、（Ｃ）と同一の棚２００でかつ同一の収納箱２０１に対するピッキングリクエストを受け付けると、左のロボットアーム２１１Ｌが収納箱２０１を棚２００から引き出すとともに、プロセッサは、（Ｃ）の画像認識で得られた認識結果を当該認識結果の保存先から取得する。以降の処理は、（Ｃ）と同様である。
【００２８】
このように、ピッキングロボット２１０が、ピッキングをする場合、前回のピッキングまたは収納における認識結果を読み出して収納箱２０１内の物品２０３とその位置を検出するため、今回のピッキングでの物品取出前の画像認識の実行が不要となり、作業効率の向上を図ることができる。
【００２９】
＜認識結果の伝送例＞
図３は、認識結果の伝送例１を示す説明図である。図３では、ピッキングロボット２１０は、通信デバイス３０１を有し、棚２００は、認識結果の保存先であるＲＦＩＤタグ３０２を有する。これにより、図２の（Ｃ）において、ピッキングロボット２１０は、収納箱２０１の開口からの画像の認識結果をＲＦＩＤタグ３０２に送信し、ＲＦＩＤタグ３０２は、受信した認識結果を保持する。また、図２の（Ｄ）において、ピッキングロボット２１０は、ＲＦＩＤタグ３０２から認識結果を受信する。なお、ＲＦＩＤタグ３０２は、容量不足を回避するため収納箱２０１ごとに認識結果を上書きする。
【００３０】
図４は、認識結果の伝送例２を示す説明図である。図４では、ピッキングロボット２１０は、通信デバイス３０１を有し、認識結果の保存先であるサーバ４００と通信可能である。これにより、図２の（Ｃ）において、ピッキングロボット２１０は、収納箱２０１の開口からの画像の認識結果をサーバ４００に送信し、サーバ４００は、受信した認識結果を保持する。また、図２の（Ｄ）において、ピッキングロボット２１０は、サーバ４００から認識結果を受信する。なお、ピッキングロボット２１０ではなく、サーバ４００が認識処理を実行してもよい。この場合、ピッキングロボット２１０は、収納箱２０１の開口からの撮像画像をサーバ４００に送信し、サーバ４００は、受信した撮像画像から物品２０３およびその位置を認識して、認識結果を保存する。
【００３１】
＜ピッキングロボット２１０のハードウェア構成例＞
図５は、ピッキングロボット２１０のハードウェア構成例を示すブロック図である。ピッキングロボット２１０は、プロセッサ５０１と、記憶デバイス５０２と、３次元カメラ２１４と、駆動回路５０４と、通信インターフェース（通信ＩＦ）５０５と、を有する。プロセッサ５０１、記憶デバイス５０２、３次元カメラ２１４、駆動回路５０４、および通信ＩＦ５０５は、バス５０６により接続される。プロセッサ５０１は、ピッキングロボット２１０を制御する。記憶デバイス５０２は、プロセッサ５０１の作業エリアとなる。また、記憶デバイス５０２は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス５０２としては、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリがある。
【００３２】
３次元カメラ２１４は、被写体を撮像する。撮像画像は、２次元のＲＧＢの情報と距離の情報である３次元情報となる。通常のカメラを搭載する場合、把持対象物（ピッキング対象物品２０３や収納箱２０１）までの距離を測定するため、別途、距離センサが設けられる。駆動回路５０４は、プロセッサ５０１からの指示によりロボットアーム２１１を駆動制御する。通信ＩＦ５０５は、データを保存先（ＲＦＩＤタグ３０２、サーバ４００）と送受信する。
【００３３】
＜ピッキングロボット２１０のピッキング処理手順例＞
図６は、実施例１にかかるピッキングロボット２１０の詳細なピッキング処理手順例１を示すフローチャートである。ピッキング処理手順例１は、ピッキングロボット２１０が画像認識する例である。なお、認識結果の保存先は、棚２００のＲＦＩＤタグ３０２、サーバ４００のいずれでもよい。左側のフローチャートがプロセッサ５０１による画像処理手順例を示し、右側のフローチャートがプロセッサ５０１によるロボットアーム２１１の動作手順例を示す。なお、当該ピッキング処理手順例は、ピッキングロボット２１０が、ピッキングリクエストを受け付けて、ピッキングリクエストに含まれる物品２０３を収納する収納箱２０１を保管する棚２００の近傍にピッキングロボット２１０が配置された場合に実行される。
【００３４】
まず、プロセッサ５０１は、ピッキングリクエストを受け付けると、認識結果を保存先から受信する（ステップＳ６１１）。また、左のロボットアーム２１１Ｌは、プロセッサ５０１がピッキングリクエストを受け付けると、収納箱２０１を引き出す（ステップＳ６２１）。プロセッサ５０１は、認識結果から、ピッキングすべき個数分の物品２０３の把持位置を検出する（ステップＳ６１２）。把持位置検出（ステップＳ６１２）により、プロセッサ５０１は、把持位置に右のロボットアーム２１１Ｒを動かして物品２０３を１つ把持することで取り出す（ステップＳ６２２）。取り出した物品２０３の個数がピッキングすべき個数に到達していない場合（ステップＳ６２３：Ｎｏ）、プロセッサ５０１は、右のロボットアーム２１１Ｒを動かして把持している物品２０３を搬出箱２０５に収納し（ステップＳ６２４）、ステップＳ６２２に戻る。
【００３５】
一方、ステップＳ６２３において、取り出した物品２０３の個数がピッキングすべき個数に到達した場合（ステップＳ６２３：Ｙｅｓ）、プロセッサ５０１は、画像処理に終了通知を送り（ステップＳ６２５）、プロセッサ５０１は、３次元カメラ２１４により収納箱２０１をその開口から撮像する（ステップＳ６１３）。これにより、収納箱２０１の開口からの撮像画像が得られる。このあと、プロセッサ５０１は、撮像画像を画像認識し（ステップＳ６１４）、認識結果を保存先に送信する（ステップＳ６１５）。
【００３６】
このように、倉庫作業において、ピッキング対象物品２０３の指定前に、当該ピッキング対象物品２０３が保管されている収納箱２０１の画像を認識しておくため、ピッキング対象物品２０３の指定後に認識処理を実行することなく、ピッキング対象物品２０３を取り出すことができる。したがって、作業時間の短縮化を図ることができる。換言すれば、当該収納箱２０１内の次のピッキング対象物品２０３の指定前に、ピッキング対象物品２０３の取出し後に当該収納箱２０１について認識処理を実行しておくことで、作業時間を有効活用することができ、作業効率の向上を図ることができる。
【００３７】
また、認識結果の保存先として、棚２００にＲＦＩＤタグ３０２を設けることで、ピッキング対象物品２０３を収納する収納箱２０１を保管する棚２００に接近したピッキングロボット２１０からの認識結果を保存することができる。なお、近距離通信可能な記録媒体であれば、ＲＦＩＤタグ３０２に限られない。
【００３８】
なお、図６では、ステップＳ６１２において、ピッキングすべき個数分の物品２０３の把持位置を一括検出することとしたが、物品取出（ステップＳ６２２）後に、プロセッサ５０１は、次にピッキングすべき１個の物品２０３について把持位置を検出してもよい（ステップＳ６１２）。この場合、プロセッサ５０１は、画像処理に把持位置検出リクエストを送信し、プロセッサ５０１は、画像処理において、当該把持位置検出リクエストを受けると、認識結果からすでに取り出された物品２０３を除外して、今回ピッキングすべき物品２０３の把持位置を検出する（ステップＳ６１２）。これにより、把持位置検出の高精度化を図ることができる。
【００３９】
図７は、実施例１にかかるピッキングロボット２１０の詳細なピッキング処理手順例２を示すフローチャートである。ピッキング処理手順例２は、画像認識をサーバ４００が実行する例である。なお、図６と同一処理内容には同一ステップ番号を付し、その説明を省略する。図７では、画像処理において、プロセッサ５０１は、撮像（ステップＳ６１３）の後、撮像画像を保存先であるサーバ４００に送信する（ステップＳ７１４）。サーバ４００は、受信した撮像画像を画像認識して、認識結果を保存する。これにより、このあと、ピッキングロボット２１０は、当該収納箱２０１の認識結果をサーバ４００から受信することができる（ステップＳ６１１）。
【００４０】
認識結果の保存先として、ピッキングロボット２１０と通信可能なサーバ４００を設けることで、認識結果を一括管理することができる。また、認識処理をサーバ４００が担うことで、ピッキングロボット２１０の負荷やコストの低減化を図ることができる。
【００４１】
＜出庫作業例２＞
図８は、実施例１にかかる出庫作業例２を示す説明図である。出庫作業例２は、物品取出しの際にロボットアームによる把持位置を推定する出庫作業例である。収納箱２０１の引き出しや棚２００の移動により、収納箱２０１に収納された物品２０３の配置位置がズレる場合がある。これにより、認識結果から得られる把持位置と実際の物品２０３の配置位置とにズレが生じる。したがって、プロセッサ５０１は、画像処理において、認識結果を取得し（認識結果取得）、物品取出前に収納箱２０１をその開口から３次元カメラ２１４で撮像し（予備撮像）、予備撮像画像と認識結果とを用いて物品２０３取り出し中に把持位置を推定する（把持位置推定）。
【００４２】
具体的には、たとえば、プロセッサ５０１は、ピッキングすべき物品２０３について、認識結果から得られた位置と予備撮像画像から得られた位置との差分（ズレ）を求める。プロセッサ５０１は、認識結果から得られるピッキングすべき物品２０３の把持位置を、差分に応じて修正することで、把持位置を推定する。
【００４３】
より具体的には、たとえば、認識結果と予備撮像の撮像画像とを重ね合わせて、認識結果から得られたピッキングすべき物品２０３と重複する物品２０３が複数存在する場合、プロセッサ５０１は、重複面積が最大となる予備撮像画像上の物品２０３をピッキングすべき物品２０３とし、予備撮像画像上の物品２０３の把持位置を算出する。具体的には、たとえば、プロセッサ５０１は、当該物品２０３の面の中心位置を把持位置として算出する。これにより、把持位置が推定される。
【００４４】
図９は、実施例１にかかるピッキングロボット２１０の詳細なピッキング処理手順例３を示すフローチャートである。ピッキング処理手順例３は、図８の出庫作業例２についてのピッキング作業例である。なお、図６、図７と同一処理内容には同一ステップ番号を付し、その説明を省略する。認識結果の受信（ステップＳ６１１）後、プロセッサ５０１は、収納箱２０１をその開口から３次元カメラ２１４で予備撮像し（ステップＳ９１１）、ステップＳ６１１で取得した認識結果とステップＳ９１１で予備撮像した予備撮像画像とを用いて、ピッキングすべき物品２０３の把持位置を推定する（ステップＳ９１２）。この場合、右のロボットアーム２１１Ｒは、ステップＳ９１２の推定結果である推定把持位置に右のロボットアーム２１１Ｒを動かして物品２０３を１つ把持することで取り出す（ステップＳ６２２）。
【００４５】
ピッキング対象物品２０３の取出し直前に収納箱２０１を予備撮像して、当該予備撮像画像と認識結果とを比較して把持位置を推定することにより、収納箱２０１内の物品２０３の位置ズレを修正して、ピッキング対象物品２０３の把持の成功率の向上を図ることができる。
【００４６】
図１０は、実施例１にかかるピッキングロボット２１０の詳細なピッキング処理手順例４を示すフローチャートである。ピッキング処理手順例４は、ピッキング処理手順例３において保存先であるサーバ４００で画像認識を実行する例である。したがって、撮像（ステップＳ６１３）後、プロセッサ５０１は、撮像画像を保存先であるサーバ４００に送信する（ステップＳ７１４）。サーバ４００は、受信した撮像画像を画像認識して、認識結果を保存する。これにより、このあと、ピッキングロボット２１０は、当該収納箱２０１の認識結果をサーバ４００から受信することができる（ステップＳ６１１）。
【００４７】
認識結果の保存先として、ピッキングロボット２１０と通信可能なサーバ４００を設けることで、認識結果を一括管理することができる。また、認識処理をサーバ４００が担うことで、ピッキングロボット２１０の負荷やコストの低減化を図ることができる。
【実施例２】
【００４８】
実施例２は、図１に示したように、倉庫作業が入庫の場合の例である。実施例２では、実施例１との相違点を中心に説明する。したがって、同一構成には同一符号を付し、その説明を省略する。また、図２〜図５の構成例は、実施例２のピッキングロボット２１０において同様の構成である。
【００４９】
図１１は、実施例２にかかる入庫作業例１を示す説明図である。ピッキングロボット２１０は、一方の、たとえば左のロボットアーム２１１Ｌで収納箱２０１を保持して棚２００から引き出し、他方の、たとえば右のロボットアーム２１１Ｒで収納箱２０１に物品２０３を収納する。右のロボットアーム２１１Ｒは、作業台２０４上の搬入箱２１５から物品２０３を１つずつ取り出して、棚２００の収納箱２０１に収納する。
【００５０】
具体的には、たとえば、（Ａ）物品収納で右のロボットアーム２１１Ｒが物品２０３を収納箱２０１に収納した後、（Ｂ）右のロボットアーム２１１Ｒは、３次元カメラ２１４のレンズを収納箱２０１の開口に向けて、開口から収納箱２０１を撮像する。
【００５１】
ここで、ピッキングロボット２１０の処理を、プロセッサ５０１による画像処理とロボットアーム動作とに分けて時間軸で説明する。図１１の（Ｃ）において、まず、プロセッサ５０１が収納リクエストを受け付けると、左のロボットアーム２１１Ｌが収納箱２０１を棚２００から引き出し、右のロボットアーム２１１Ｒが搬入箱２１５から収納対象物品２０３を取り出す。
【００５２】
収納リクエストには、収納対象商品の識別情報、収納すべき個数、保管先すべき棚の識別情報、収納すべき収納箱２０１の識別情報が含まれる。具体的には、たとえば、プロセッサ５０１は、棚２００における収納箱２０１の保管位置とピッキングロボット２１０に対向する収納箱２０１の側面から把持位置を特定し、左のロボットアーム２１１Ｌの初期位置から当該把持位置までの軌道を計算し、当該軌道に到達できるよう左のロボットアーム２１１Ｌの各関節部の駆動軸を制御することにより、左のロボットアーム２１１Ｌにより収納箱２０１を棚２００から引き出す。
【００５３】
また、プロセッサ５０１は、搬入箱２１５の位置を特定し、右のロボットアーム２１１Ｒの初期位置から当該搬入箱２１５の位置までの軌道を計算し、当該軌道に到達できるよう右のロボットアーム２１１Ｒの各関節部の駆動軸を制御することにより、右のロボットアーム２１１Ｒにより搬入箱２１５から物品２０３を取り出す。
【００５４】
そして、プロセッサ５０１は、画像処理において、収納箱２０１の開口からの画像の認識結果を当該認識結果の保存先から取得する。当該認識結果は、今回の収納箱２０１の引き出し前に処理された認識結果である。認識結果により、プロセッサ５０１は、収納箱２０１のどの位置に空き領域があるかを認識することができる。
【００５５】
プロセッサ５０１が認識結果を取得した場合、右のロボットアーム２１１Ｒは、認識結果を用いて収納箱２０１に物品２０３を１つ収納する（物品収納）。具体的には、たとえば、プロセッサ５０１は、認識結果から収納対象物品２０３の収納位置を特定し、右のロボットアーム２１１Ｒの初期位置から当該収納位置までの軌道を計算し、当該軌道に到達できるよう右のロボットアーム２１１Ｒの各関節部の駆動軸を制御することにより、右のロボットアーム２１１Ｒにより把持している物品２０３を収納位置に収納して、右のロボットアーム２１１Ｒを初期位置に戻す。
【００５６】
右のロボットアーム２１１Ｒは、この物品取出と物品収納とを、収納リクエストで指定された個数分繰り返し実行する。右のロボットアーム２１１Ｒは、当該個数のうち最後に指定された物品２０３について収納箱２０１へ物品収納を行った場合、次のピッキングリクエストによるピッキングまたは収納リクエストによる収納が行われるまで、当該収納箱２０１の中身、すなわち、残存物品２０３とその配置に変更はない。
【００５７】
したがって、画像処理では、プロセッサ５０１は、（Ｂ）に示したように３次元カメラ２１４で収納箱２０１の開口から撮像し、撮像した画像の認識処理を実行し、認識結果を保存先に伝送する。なお、認識処理は、具体的には、たとえば、既知の認識処理でよく、たとえば、プロセッサ５０１は、物品２０３の形状やテクスチャ、物品名などの文字情報を保存しておき、撮像画像とのマッチングにより物品２０３とその配置位置を認識する。
【００５８】
また、左のロボットアーム２１１Ｌは、収納箱２０１を棚２００に収納する。このあと、ピッキングロボット２１０は、画像認識を実行しながら別の場所に移動する。このあと、図１１の（Ｄ）において、別のピッキングロボット２１０のプロセッサ５０１が、（Ｃ）と同一の棚２００でかつ同一の収納箱２０１に対する収納リクエストを受け付けると、左のロボットアーム２１１Ｌが収納箱２０１を棚２００から引き出し、右のロボットアーム２１１Ｒが搬入箱２１５から収納対象物品２０３を取り出す。以降の処理は、（Ｃ）と同様である。
【００５９】
このように、ピッキングロボット２１０が、物品２０３を収納する場合、前回のピッキングまたは収納における認識結果を読み出して収納箱２０１内の空き領域を検出するため、今回の収納での物品収納前の画像認識の実行が不要となり、作業効率の向上を図ることができる。
【００６０】
＜ピッキングロボット２１０の収納処理手順例＞
図１２は、実施例１にかかるピッキングロボット２１０の詳細な収納処理手順例１を示すフローチャートである。収納処理手順例１は、ピッキングロボット２１０が画像認識する例である。なお、認識結果の保存先は、棚２００のＲＦＩＤタグ３０２、サーバ４００のいずれでもよい。左側のフローチャートがプロセッサ５０１による画像処理手順例を示し、右側のフローチャートがプロセッサ５０１によるロボットアームの動作手順例を示す。なお、当該収納処理手順例は、ピッキングロボット２１０が、収納リクエストを受け付けて、収納リクエストに含まれる物品２０３が収納される収納箱２０１を保管する棚２００の近傍にピッキングロボット２１０が配置された場合に実行される。
【００６１】
まず、プロセッサ５０１は、収納リクエストを受け付けると、認識結果を保存先から受信する（ステップＳ１２１１）。また、左のロボットアーム２１１Ｌは、プロセッサ５０１が収納リクエストを受け付けると、収納箱２０１を引き出す（ステップＳ１２２１）。プロセッサ５０１は、認識結果から、収納すべき個数分の物品２０３の収納位置（空き領域）を検出する（ステップＳ１２１２）。収納位置が検出（ステップＳ１２１２）された場合、プロセッサ５０１は、右のロボットアーム２１１Ｒを動かして搬入箱２１５から物品２０３を１つ把持することで取り出し（ステップＳ１２２２）、取り出した物品２０３を、ステップＳ１２２１で引き出された収納箱２０１のステップＳ１２１２で検出された収納位置に収納する（ステップＳ１２２３）。収納した物品２０３の個数が収納すべき個数に到達していない場合（ステップＳ１２２４：Ｎｏ）、プロセッサ５０１は、右のロボットアーム２１１Ｒを初期位置に戻して、ステップＳ１２２２に戻る。
【００６２】
一方、ステップＳ１２２４において、収納した物品２０３の個数が収納すべき個数に到達した場合（ステップＳ１２２４：Ｙｅｓ）、プロセッサ５０１は、画像処理に終了通知を送り（ステップＳ１２２５）、プロセッサ５０１は、３次元カメラ２１４により収納箱２０１をその開口から撮像する（ステップＳ１２１３）。これにより、収納箱２０１の開口からの撮像画像が得られる。このあと、プロセッサ５０１は、撮像画像を画像認識し（ステップＳ１２１４）、認識結果を保存先に送信する（ステップＳ１２１５）。
【００６３】
このように、倉庫作業において、収納対象物品２０３の指定前に、当該収納対象物品２０３を収納すべき収納箱２０１の画像を認識しておくため、収納対象物品２０３の指定後に認識処理を実行することなく、収納対象物品２０３を収納することができる。したがって、作業時間の短縮化を図ることができる。換言すれば、次の収納リクエストでの当該収納箱２０１内の収納対象物品２０３の指定前に、収納対象物品２０３の収納後に当該収納箱２０１について認識処理を実行しておくことで、作業時間を有効活用することができ、作業効率の向上を図ることができる。
【００６４】
また、認識結果の保存先として、棚２００にＲＦＩＤタグ３０２を設けることで、収納対象物品２０３を収納すべき収納箱２０１を保管する棚２００に接近したピッキングロボット２１０からの認識結果を保存することができる。なお、近距離通信可能な記録媒体であれば、ＲＦＩＤタグ３０２に限られない。
【００６５】
なお、図１２では、ステップＳ１２１２において、収納すべき個数分の物品２０３の収納位置を一括検出することとしたが、物品収納（ステップＳ１２２３）後に、プロセッサ５０１は、次に収納すべき１個の物品２０３について収納位置を検出してもよい（ステップＳ１２１２）。この場合、プロセッサ５０１は、画像処理に収納位置検出リクエストを送信し、プロセッサ５０１は、画像処理において、当該収納位置検出リクエストを受けると、認識結果からすでに収納された物品２０３の収納位置を除外して、今回収納すべき物品２０３の収納位置を検出する（ステップＳ１２１２）。これにより、収納位置検出の高精度化を図ることができる。
【００６６】
図１３は、実施例２にかかるピッキングロボット２１０の詳細な収納処理手順例２を示すフローチャートである。収納処理手順例２は、画像認識をサーバ４００が実行する例である。なお、図１２と同一処理内容には同一ステップ番号を付し、その説明を省略する。図１３では、画像処理において、プロセッサ５０１は、撮像（ステップＳ１２１３）の後、撮像画像を保存先であるサーバ４００に送信する（ステップＳ１３１４）。サーバ４００は、受信した撮像画像を画像認識して、認識結果を保存する。これにより、このあと、ピッキングロボット２１０は、当該収納箱２０１の認識結果をサーバ４００から受信することができる（ステップＳ１２１１）。
【００６７】
認識結果の保存先として、ピッキングロボット２１０と通信可能なサーバ４００を設けることで、認識結果を一括管理することができる。また、認識処理をサーバ４００が担うことで、ピッキングロボット２１０の負荷やコストの低減化を図ることができる。
【００６８】
＜入庫作業例２＞
図１４は、実施例２にかかる入庫作業例２を示す説明図である。入庫作業例２は、物品収納の際にロボットアームによる収納位置を推定する出庫作業例である。収納箱２０１の引き出しや棚２００の移動により、収納箱２０１に収納された物品２０３の配置位置がズレる場合がある。これにより、認識結果から得られる収納位置と実際の物品２０３の収納位置とにズレが生じる。したがって、プロセッサ５０１は、画像処理において、認識結果を取得し（認識結果取得）、物品収納前に収納箱２０１をその開口から３次元カメラ２１４で予備撮像し（予備撮像）、予備撮像画像と認識結果とを用いて物品２０３取り出し中に収納位置を推定する（収納位置推定）。
【００６９】
具体的には、たとえば、プロセッサ５０１は、収納すべき物品２０３について、認識結果から得られた位置と予備撮像画像から得られた位置との差分（ズレ）を求める。プロセッサ５０１は、認識結果から得られる収納すべき物品２０３の収納位置を、差分に応じて修正することで、収納位置を推定する。
【００７０】
より具体的には、たとえば、認識結果と予備撮像画像とを重ね合わせて、認識結果から得られた収納位置と重複する物品２０３が存在する場合、プロセッサ５０１は、重複する物品２０３が存在しなくなるまで、認識結果から得られる他の収納位置を選択する。これにより、収納位置が推定される。
【００７１】
図１５は、実施例２にかかるピッキングロボット２１０の詳細な収納処理手順例３を示すフローチャートである。収納処理手順例３は、図１４の入庫作業例２についてのピッキング作業例である。なお、図１２、図１３と同一処理内容には同一ステップ番号を付し、その説明を省略する。認識結果の受信（ステップＳ１２１１）後、プロセッサ５０１は、収納箱２０１をその開口から３次元カメラ２１４で予備撮像し（ステップＳ１５１１）、ステップＳ１２１１で取得した認識結果とステップＳ１５１１で撮像した撮像画像とを用いて、収納すべき物品２０３の収納位置を推定する（ステップＳ１５１２）。この場合、右のロボットアーム２１１Ｒは、ステップＳ１５１２の推定結果である推定収納位置に右のロボットアーム２１１Ｒを動かして、ステップＳ１２２２で搬入箱２１５から取り出した物品２０３を推定収納位置に収納する（ステップＳ１２２３）。
【００７２】
収納対象物品２０３の収納直前に収納箱２０１を予備撮像して、当該予備撮像画像と認識結果とを比較して収納位置を推定することにより、収納箱２０１内の物品２０３の位置ズレを修正して、収納対象物品２０３の収納の成功率の向上を図ることができる。
【００７３】
図１６は、実施例２にかかるピッキングロボット２１０の詳細な収納処理手順例４を示すフローチャートである。収納処理手順例４は、収納処理手順例３において保存先であるサーバ４００で画像認識を実行する例である。したがって、撮像（ステップＳ１２１３）後、プロセッサ５０１は、撮像画像を保存先であるサーバ４００に送信する（ステップＳ１６１４）。サーバ４００は、受信した撮像画像を画像認識して、認識結果を保存する。これにより、このあと、ピッキングロボット２１０は、当該収納箱２０１の認識結果をサーバ４００から受信することができる（ステップＳ１２１１）。
【００７４】
認識結果の保存先として、ピッキングロボット２１０と通信可能なサーバ４００を設けることで、認識結果を一括管理することができる。また、認識処理をサーバ４００が担うことで、ピッキングロボット２１０の負荷やコストの低減化を図ることができる。
【００７５】
このように、上述したピッキングロボット２１０は、プログラムを実行するプロセッサ５０１と、プログラムを記憶する記憶デバイス５０２と、被写体を撮像する撮像装置（たとえば、３次元カメラ２１４）と、物品２０３の収納領域（たとえば、収納箱２０１）にアクセスするロボットアーム（２１１Ｌ，２１１Ｒ）と、を有する。プロセッサ５０１は、収納領域の最新の撮像画像に基づく収納領域内における最新の認識結果の保存先から最新の認識結果を取得する取得処理と、取得処理によって取得された最新の認識結果に基づいて、ロボットアームを制御して、収納領域にアクセスして収納領域内を変更する変更処理と、撮像装置を制御して、変更処理による収納領域内の変更後に収納領域を撮像する撮像処理と、撮像処理によって撮像された撮像画像に基づく収納領域内における残存物品を認識する認識処理と、認識処理による認識結果を保存先に伝送する伝送処理と、を実行する。
【００７６】
これにより、出庫または入庫のために棚に最後にアクセスしたピッキングロボットＡの撮像画像に基づく認識結果を、その後、同一の棚に最初にアクセスしたピッキングロボットＢが取得する。そして、出庫または入庫の作業後に、当該作業後の収納箱の撮像画像に基づく認識結果が生成、保存される。したがって、一連の作業において最も時間がかかる画像の認識処理の時間を隠蔽することができ、作業効率の向上を図ることができる。
【００７７】
また、ピッキングロボット２１０は、プログラムを実行するプロセッサ５０１と、プログラムを記憶する記憶デバイス５０２と、被写体を撮像する撮像装置（たとえば、３次元カメラ２１４）と、物品２０３の収納領域（たとえば、収納箱２０１）にアクセスするロボットアーム（２１１Ｌ，２１１Ｒ）と、を有する。プロセッサ５０１は、収納領域の最新の撮像画像に基づく収納領域内における物品を認識する認識処理を実行するサーバ４００から、認識処理による最新の認識結果を取得する取得処理と、取得処理によって取得された最新の認識結果にしたがって、ロボットアームを制御して、収納領域にアクセスして収納領域内を変更する変更処理と、撮像装置を制御して、変更処理による収納領域内の変更後に収納領域を撮像する撮像処理と、撮像処理によって撮像された撮像画像をサーバ４００に伝送する伝送処理と、を実行する。
【００７８】
これにより、出庫または入庫のために棚に最後にアクセスしたピッキングロボットＡの撮像画像に基づく認識結果を、その後、同一の棚に最初にアクセスしたピッキングロボットＢが取得する。そして、出庫または入庫の作業後に、当該作業後の収納箱の撮像画像をサーバ４００に伝送する。この場合、作業後にサーバ４００が、当該撮像画像に基づく認識結果を生成、保存する。したがって、一連の作業において最も時間がかかる画像の認識処理の時間を隠蔽することができ、作業効率の向上を図ることができる。
【００７９】
また、ピッキングロボット２１０は、伝送処理では、プロセッサ５０１が、認識結果を、保存先として、収納領域を保管する棚２００に設けられた通信可能な記録媒体（たとえば、ＲＦＩＤタグ３０２）に伝送し、取得処理では、プロセッサ５０１が、記録媒体から、当該記録媒体に記録された最新の認識結果を取得することとしてもよい。
【００８０】
このように、認識結果の保存先として、棚２００にＲＦＩＤタグ３０２を設けるといった簡素な構成により、ピッキング対象物品２０３を収納する収納箱２０１を保管する棚２００に接近したピッキングロボット２１０からの認識結果を保存することができる。
【００８１】
また、ピッキングロボット２１０は、伝送処理では、プロセッサ５０１が、認識結果を、保存先として、ピッキングロボット２１０と通信可能なサーバ４００に伝送し、取得処理では、プロセッサ５０１が、サーバ４００から、当該サーバ４００に保存された最新の認識結果を取得することとしてもよい。
【００８２】
このように、認識結果の保存先として、ピッキングロボット２１０と通信可能なサーバ４００を設けることで、認識結果を一括管理することができる。また、認識処理をサーバ４００が担うことで、ピッキングロボット２１０の負荷やコストの低減化を図ることができる。
【００８３】
また、ピッキングロボット２１０は、プロセッサ５０１が、撮像装置を制御して、変更処理による収納領域内の変更前に収納領域を撮像する予備撮像処理と、取得処理によって取得された最新の認識結果と、予備撮像処理によって撮像された予備撮像画像と、に基づいて、ロボットアームがアクセスすべき収納領域内の位置（把持すべき物品の位置または把持している物品の収納すべき位置）を推定する推定処理と、を実行し、変更処理では、プロセッサ５０１が、推定処理による推定結果に基づいて、ロボットアームを制御して、収納領域にアクセスして収納領域内を変更することとしてもよい。
【００８４】
このように、収納領域を予備撮像して、当該予備撮像画像と認識結果とを比較して収納位置を推定することにより、収納領域内の物品２０３の位置ズレを修正して、収納領域へのアクセスによる収納領域内の変更についての成功率の向上を図ることができる。
【００８５】
また、変更処理では、実施例１に示したように、プロセッサ５０１は、取得処理によって取得された最新の認識結果に基づいて、ロボットアームを制御して、収納領域から物品を取り出す。これにより、収納領域内についての認識処理を、出庫作業での取出し後（または入庫作業での収納後）、次の出庫作業での取出し前に実行することができ、認識処理を隠蔽化して出庫作業の効率化を図ることができる。
【００８６】
また、変更処理では、実施例２に示したように、プロセッサ５０１は、取得処理によって取得された最新の認識結果に基づいて、ロボットアームを制御して、物品を収納領域に収納する。これにより、収納領域内についての認識処理を、入庫作業での収納後（出庫作業での取出し後）、次の入庫作業での収納前に実行することができ、認識処理を隠蔽化して出庫作業の効率化を図ることができる。
【００８７】
なお、実際の倉庫作業では、出庫作業と入庫作業とが混在する場合があるが、実施例１の出庫作業と実施例２の入庫作業は、同時並行で実現することができる。この場合、ある棚２００のある収納箱２０１について、ピッキングリクエストが与えられた場合、物品取出し後の認識画像が保存先に保存され、その直後に、同一収納箱２０１について収納リクエストが与えられた場合、直前の認識結果を用いて、収納位置が検出または推定されることになる。同様に、ある棚２００のある収納箱２０１について、収納リクエストが与えられた場合、物品収納後の認識画像が保存先に保存され、その直後に、同一収納箱２０１についてピッキングリクエストが与えられた場合、直前の認識結果を用いて、把持位置が検出または推定されることになる。
【００８８】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【００８９】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【００９０】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード、ＳＤカード、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）の記録媒体に格納することができる。
【００９１】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【００９２】
２００  棚
２０１  収納箱
２０２  無人搬送車
２０３  物品
２０４  作業台
２０５  搬出箱
２１０  ピッキングロボット
２１１  ロボットアーム
２１３  ハンド
２１４  ３次元カメラ
２１５  搬入箱
３０１  通信デバイス
３０２  ＲＦＩＤタグ
４００  サーバ
５０１  プロセッサ
５０２  記憶デバイス
【図１】
2019025566.tif 000003
【図２】
2019025566.tif 000004
【図３】
2019025566.tif 000005
【図４】
2019025566.tif 000006
【図５】
2019025566.tif 000007
【図６】
2019025566.tif 000008
【図７】
2019025566.tif 000009
【図８】
2019025566.tif 000010
【図９】
2019025566.tif 000011
【図１０】
2019025566.tif 000012
【図１１】
2019025566.tif 000013
【図１２】
2019025566.tif 000014
【図１３】
2019025566.tif 000015
【図１４】
2019025566.tif 000016
【図１５】
2019025566.tif 000017
【図１６】
2019025566.tif 000018