(57)【特許請求の範囲】
【請求項１】
搬送容器内に配置される予定の商品が入った商品容器内の商品をピッキングし、ピッキングした前記商品を前記搬送容器内に配置するロボットと、
前記ピッキング前後の前記商品容器に関する画像を取得する取得部と、
前記ピッキング前後の前記商品容器に関する画像に基づいて、誤ってピッキングされた商品を特定する特定部と、
前記誤ってピッキングされた商品を前記搬送容器から前記商品容器へと戻す復旧作業を実行するよう前記ロボットに指示する指示部と、
を備えるピッキング装置。
【請求項２】
前記商品容器に関する画像は、距離画像であることを特徴とする請求項１に記載のピッキング装置。
【請求項３】
前記ピッキング前の前記商品容器に関する画像に基づいて、前記誤ってピッキングされた商品の正しくピッキングされた商品に対する相対位置を算出する算出部を備え、
前記指示部は、前記相対位置を前記ロボットに通知することを特徴とする請求項１または２に記載のピッキング装置。
【請求項４】
前記取得部は、前記ロボットが、前記商品容器内の前記商品を前記搬送容器内に配置するたびに、前記商品容器に関する画像を取得することを特徴とする請求項１から３のいずれか１項記載のピッキング装置。
【請求項５】
前記取得部は、前記ロボットが前記復旧作業を行った後の前記商品容器に関する画像を取得し、
前記指示部は、前記ピッキング後または前記ピッキング前の前記商品容器に関する画像と、前記復旧作業後の前記商品容器に関する画像とに基づいて、前記誤ってピッキングされた商品が前記搬送容器から前記商品容器に戻されたか否かを判定することを特徴とする請求項１から４のいずれか１項記載のピッキング装置。
【請求項６】
前記指示部は、前記誤ってピッキングされた商品が前記搬送容器から前記商品容器に戻されていないと判定した場合、前記誤ってピッキングされた商品のピッキング位置を、前回のピッキング位置から所定距離移動させた位置として、再度、前記復旧作業を実行するよう前記ロボットに指示することを特徴とする請求項５に記載のピッキング装置。
【請求項７】
前記誤ってピッキングされた商品が前記搬送容器から前記商品容器へ戻されなかった場合、前記商品が予定よりも多く配置された搬送容器の情報と、誤ったピッキングのために、前記商品が予定よりも少なく配置された搬送容器の情報とを対応付けて出力する出力部を備えることを特徴とする請求項５または６に記載のピッキング装置。
【請求項８】
前記ロボットは、吸着により商品をピッキングすることを特徴とする請求項１から７のいずれか１項記載のピッキング装置。
【請求項９】
前記商品は袋詰めされた商品であることを特徴とする請求項１から８のいずれか１項記載のピッキング装置。
【請求項１０】
前記商品容器がピッキング後に移動した場合、前記指示部は、前記誤ってピッキングされた商品を、移動後の前記商品容器へと戻すよう前記ロボットに指示することを特徴とする請求項１から９のいずれか１項記載のピッキング装置。
【請求項１１】
ロボットが、搬送容器内に配置される予定の商品が入った商品容器内の商品をピッキングし、ピッキングした前記商品を搬送容器内に配置する場合に、前記ピッキング前後の前記商品容器に関する画像を取得し、
前記ピッキング前後の前記商品容器に関する画像に基づいて、誤ってピッキングされた商品を特定し、
前記誤ってピッキングされた商品を前記搬送容器から前記商品容器へと戻す復旧作業を実行するよう前記ロボットに指示する、
処理をコンピュータに実行させることを特徴とする復旧プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピッキング装置及び復旧プログラムに関する。
【背景技術】
【０００２】
箱の中に置かれたピッキング対象物を、ロボットにより取り出すピッキングシステムにおいて、ピッキング対象物をピッキングできなかった場合のリトライ方法について、様々な提案がなされている（例えば、特許文献１及び２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１７９６６９号公報
【特許文献２】特開２０１０−０６９５４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、ピッキング対象物が誤ってピッキングされた場合の復旧方法については、十分に検討されていない。
【０００５】
１つの側面では、本発明は、誤ってピッキングした商品を自動的に元に戻すことができるピッキング装置及び復旧プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの態様では、ピッキング装置は、搬送容器内に配置される予定の商品が入った商品容器内の商品をピッキングし、ピッキングした前記商品を前記搬送容器内に配置するロボットと、前記ピッキング前後の前記商品容器に関する画像を取得する取得部と、前記ピッキング前後の前記商品容器に関する画像に基づいて、誤ってピッキングされた商品を特定する特定部と、前記誤ってピッキングされた商品を前記搬送容器から前記商品容器へと戻す復旧作業を実行するよう前記ロボットに指示する指示部と、を備える。
【発明の効果】
【０００７】
１つの側面として、誤ってピッキングした商品を自動的に元に戻すことができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る商品ピッキング装置の構成を概略的に示す図である。
【図２】図２（ａ）〜図２（ｄ）は、距離画像について説明するための図である。
【図３】制御装置のハードウェア構成の一例を示すブロック図である。
【図４】制御装置の機能ブロック図である。
【図５】図５（ａ）及び図５（ｂ）は、誤ピッキングについて説明するための図である。
【図６】ピッキング時に制御装置によって実行される処理を示すフローチャートである。
【図７】図７（ａ）〜図７（ｅ）は、図６の処理を説明するための図である。
【図８】図６の復旧処理（ステップＳ５０）の詳細を示すフローチャートである。
【図９】図９（ａ）〜図９（ｄ）は、復旧処理について説明するための図（その１）である。
【図１０】相対位置について説明するための図である。
【図１１】図１１（ａ）〜図１１（ｄ）は、復旧処理について説明するための図（その２）である。
【図１２】図１２（ａ）〜図１２（ｄ）は、復旧処理について説明するための図（その３）である。
【図１３】図１３（ａ）及び図１３（ｂ）は、ピッキング実績の出力について説明するための図である。
【発明を実施するための形態】
【０００９】
以下、商品ピッキング装置の一実施形態について、図１〜図１３に基づいて詳細に説明する。
【００１０】
図１は、商品ピッキング装置１００の構成を概略的に示す図である。図１に示すように、商品ピッキング装置１００は、処理装置３０と、商品配置ラインＬ１０と、商品払出ラインＬ２０と、完成容器出庫装置８０と、空容器供給装置２０と、完成容器排出コンベアＣ３と、を備える。また、商品ピッキング装置１００は、商品供給ラインＬ１〜Ｌ４を備える。
【００１１】
処理装置３０は、商品ピッキング装置１００の各構成が協働して効率よくピッキングを行えるように、各構成の動作を制御する。また、商品ピッキング装置１００は、後述する商品供給ラインＬ１〜Ｌ４が備える制御装置４０に、ピッキングすべき商品の数を通知する。
【００１２】
商品配置ラインＬ１０は、搬送方向に沿って複数の容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４と、第１搬送コンベアＣ１と、バッファステーションＢ１、Ｂ２、Ｂ３と、を有する。搬送方向は任意であるが、本実施例においては、図１に示すＪ方向であるものとする。なお、商品配置ラインＬ１０は、直線である必要はなく、曲線を含んでもよい。
【００１３】
容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４は、ピッキングされた商品が配置（収納）される搬送容器が停止する場所である。容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４のそれぞれには、第１搬送コンベアＣ１により搬送容器が供給される。なお、容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４のそれぞれには、対応する商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４から商品容器が移送される場合がある。
【００１４】
第１搬送コンベアＣ１は、例えばベルトコンベアやローラコンベア等である。第１搬送コンベアＣ１は、図１に示すように、商品配置ラインＬ１０内の各ステーション間にそれぞれ設けられる。また、第１搬送コンベアＣ１は、図１に示すように、空容器供給装置２０と最上流の容器停止ステーションＲ１との間に設けられる。
【００１５】
各第１搬送コンベアＣ１は、処理装置３０の制御の下、互いに独立して動作する。各ステーション間の第１搬送コンベアＣ１は、各ステーション上の搬送容器を１つ下流側のステーションへと搬送する。また、空容器供給装置２０と最上流の容器停止ステーションＲ１との間の第１搬送コンベアＣ１は、空容器供給装置２０からの空の搬送容器を容器停止ステーションＲ１に搬送する。搬送容器は、任意の構成であってよく、プラスティックや紙等の任意の材料により形成されてもよい。
【００１６】
なお、各第１搬送コンベアＣ１を、各ステーションを含めて、Ｋ方向に回転軸を持つローラコンベアを複数本Ｊ方向に連続的に並べることで形成してもよい。この場合、各ステーションは、対応する領域のローラコンベアを停止状態とすることにより形成される。
【００１７】
バッファステーションＢ１、Ｂ２、Ｂ３は、例えば、容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４間に１つずつ設けられ、第１搬送コンベアＣ１により搬送容器が供給される。ただし、バッファステーションＢ１、Ｂ２、Ｂ３では、商品の搬送容器への配置は実行されない。
【００１８】
商品払出ラインＬ２０は、商品配置ラインＬ１０に並列して設けられる。すなわち、商品払出ラインＬ２０は、商品配置ラインＬ１０から所定距離離れた位置にＫ方向に並んで配置される。本実施例では、図１に示すように、Ｋ方向は、搬送方向に対して垂直な方向であるものとする。なお、商品払出ラインＬ２０は、商品配置ラインＬ１０に対して平行である必要はなく、また、曲線等を含んだ形状であってもよい。
【００１９】
商品払出ラインＬ２０は、搬送方向に沿って複数の完成容器受ステーションＳ１、Ｓ２、Ｓ３、Ｓ４と、第２搬送コンベアＣ２と、バッファステーションＢ４、Ｂ５、Ｂ６と、を有する。
【００２０】
完成容器受ステーションＳ１、Ｓ２、Ｓ３、Ｓ４は、商品配置ラインＬ１０における容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４のそれぞれに対応付けて設けられている。完成容器受ステーションＳ１、Ｓ２、Ｓ３、Ｓ４には、それぞれ、対応する容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４上の搬送容器が排出される。例えば、完成容器受ステーションＳ１には、完成容器排出コンベアＣ３により、容器停止ステーションＲ１上の搬送容器が排出される。この排出は、搬送容器内に予定の商品がすべて配置された場合、すなわち、搬送容器への最後の商品の配置が完了したときに実行される。したがって、最後の商品が容器停止ステーションＲ１で配置される搬送容器は、容器停止ステーションＲ１から完成容器受ステーションＳ１へ排出される。他方、最後の商品が容器停止ステーションＲ４で配置される搬送容器は、容器停止ステーションＲ４から、完成容器受ステーションＳ４へ排出される。
【００２１】
第２搬送コンベアＣ２は、第１搬送コンベアＣ１と同様、例えばベルトコンベアやローラコンベア等であり、商品払出ラインＬ２０内の各ステーション間にそれぞれ設けられる。また、第２搬送コンベアＣ２は、最下流の完成容器受ステーションＳ４と完成容器出庫装置８０との間に設けられる。
【００２２】
また、第２搬送コンベアＣ２は、第１搬送コンベアＣ１の搬送方向と同一の搬送方向を有する。図１に示す例では、第２搬送コンベアＣ２は、Ｊ方向に搬送容器を搬送する。第２搬送コンベアＣ２は、商品配置ラインＬ１０よりも下流側まで延在してもよい。
【００２３】
各第２搬送コンベアＣ２は、処理装置３０の制御の下、互いに独立して動作する。各ステーション間の第２搬送コンベアＣ２は、各ステーション上の搬送容器を１つ下流側のステーションへと搬送する。最下流の完成容器受ステーションＳ４と完成容器出庫装置８０との間の第２搬送コンベアＣ２は、完成容器受ステーションＳ４上の搬送容器を完成容器出庫装置８０に搬送する。
【００２４】
なお、各第２搬送コンベアＣ２を、各ステーションを含めて、Ｋ方向に回転軸を持つローラコンベアを複数本Ｊ方向に連続的に並べることで形成してもよい。この場合、各ステーションは、対応する領域のローラコンベアを停止状態とすることにより形成される。
【００２５】
完成容器出庫装置８０は、図１に示すように、商品払出ラインＬ２０の下流側に配置される。完成容器出庫装置８０には、商品払出ラインＬ２０上の搬送容器が１つずつ順次払い出される。
【００２６】
空容器供給装置２０は、商品配置ラインＬ１０の上流側に配置される。空容器供給装置２０は、処理装置３０による制御の下、商品配置ラインＬ１０に空の搬送容器を１つずつ供給する。空容器供給装置２０により供給される空の搬送容器は、第１搬送コンベアＣ１により容器停止ステーションＲ１へと移動される。
【００２７】
完成容器排出コンベアＣ３は、容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４のそれぞれに対応付けて設けられる。各完成容器排出コンベアＣ３は、処理装置３０の制御の下、対応する容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４ 上の搬送容器を、対応する完成容器受ステーションＳ１、Ｓ２、Ｓ３、Ｓ４へＫ方向に排出する。
【００２８】
商品供給ラインＬ１〜Ｌ４は、商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４をそれぞれ備える。また、各商品供給ラインＬ１〜Ｌ４は、残数ピッキングコンベアＣ４と、ロボット５１と、距離センサ７１と、距離センサ７２と、制御装置４０と、を備える。
【００２９】
商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４は、容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４のそれぞれに対応付けて設けられる。商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４には、ピッキング対象の商品が入った商品容器が配置される。図１に示す例では、商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４上の各商品容器は、対応するストック商品容器ステーションＰ１、Ｐ２、Ｐ３、Ｐ４からコンベアＣ５により移送されてくる。商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４のそれぞれに配置される商品容器内の商品の種類は、それぞれ異なっていてもよいし、同一でもよい。なお、ストック商品容器ステーションＰ１、Ｐ２、Ｐ３、Ｐ４には、ストック用の商品容器が商品容器供給装置８２からコンベアＣ６により移送されてくる。なお、商品容器内の商品は、任意であるが、本実施形態では、袋詰めされた商品（例えば、パン）であるものとする。
【００３０】
残数ピッキングコンベアＣ４は、容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４（及び商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４）のそれぞれに対応付けて設けられる。残数ピッキングコンベアＣ４は、容器停止ステーションＲ１と商品容器ステーションＯ１との間、及び、容器停止ステーションＲ２と商品容器ステーションＯ２との間にそれぞれ設けられる。また、残数ピッキングコンベアＣ４は、容器停止ステーションＲ３と商品容器ステーションＯ３との間、及び、容器停止ステーションＲ４と商品容器ステーションＯ４との間にそれぞれ設けられる。
【００３１】
残数ピッキングコンベアＣ４は、処理装置３０の制御の下、対応する商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４上の商品容器を、対応する容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４に移送する。以下では、このような残数ピッキングコンベアＣ４による移送を、「残数ピッキング」ともいう。このようにして残数ピッキングコンベアＣ４により容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４上に移送された商品容器は、移送後、搬送容器となる。従って、残数ピッキングコンベアＣ４により容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４上に移送された商品容器は、移送後、搬送容器として、商品払出ラインＬ２０を介して完成容器出庫装置８０へと払い出されることになる。そのため、商品容器は、搬送容器と同一の構成を有する。
【００３２】
なお、残数ピッキングコンベアＣ４を、対応するコンベアＣ５及びコンベアＣ６、並びに、対応する商品容器ステーション及びストック商品容器ステーションを含め、Ｊ方向に回転軸を持つローラコンベアを複数本Ｋ方向に連続的に並べることで形成してもよい。この場合、商品容器ステーション及びストック商品容器ステーションは、対応する領域のローラコンベアを停止状態とすることにより形成される。
【００３３】
距離センサ７１は、商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４のそれぞれに対して設けられる。距離センサ７１は、例えば、図２（ａ）〜図２（ｃ）に示すように、商品容器ＣＡ２０の商品配置範囲の中心付近に設置される。距離センサ７１は、例えば、図２（ａ）に示すように、商品容器ＣＡ２０の上方から、商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４上に配置された商品容器ＣＡ２０の所定の商品配置範囲における距離に関する情報（以下、「距離情報」という）を取得する。距離情報は、商品容器ＣＡ２０の底面をＸＹ平面としたときの、Ｚ軸方向の距離情報である。例えば、距離情報は、商品容器ＣＡ２０の底面（商品Ｇの下面と接触する面）を基準として、商品容器ＣＡ２０の底面からの距離をあらわす。すなわち、商品容器ＣＡ２０の所定の商品配置範囲に商品Ｇが配置されているときには、距離情報は商品Ｇの高さに関する情報となる。なお、距離情報の基準は商品容器ＣＡ２０の底面以外であってもよい。距離センサ７１は、Ｘ軸方向及びＹ軸方向のそれぞれに沿った複数点で距離情報を取得し、当該距離情報に基づいて、例えば、図２（ｄ）に示す距離画像を生成する。図２（ｄ）に示すように、距離画像では、商品容器と、当該商品容器内に配置された各商品とを確認することができる。距離センサ７１は、生成した距離画像を制御装置４０に出力する。
【００３４】
図１に戻り、距離センサ７２は、ストック商品容器ステーションＰ１、Ｐ２、Ｐ３、Ｐ４のそれぞれに対して設けられる。距離センサ７２は、距離センサ７１と同様に、ストック商品容器ステーションＰ１、Ｐ２、Ｐ３、Ｐ４上に配置された商品容器の所定の商品配置範囲における距離情報、すなわち、商品容器内に配置された商品の高さに関する情報を取得する。距離センサ７２は、Ｘ軸方向及びＹ軸方向のそれぞれに沿った複数点で距離情報を取得し、当該距離情報に基づいて距離画像を生成する。距離センサ７２は、生成した距離画像を制御装置４０に出力する。
【００３５】
ロボット５１は、商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４のそれぞれに対応して設けられる。ロボット５１は、制御装置４０の制御の下、動作する。ロボット５１は、対応する商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４上の商品容器内の商品をピッキングする。商品のピッキング方法は任意であるが、本実施形態においては、ロボット５１は、吸着により商品をピッキングするものとする。
【００３６】
また、ロボット５１は、ピッキングした商品を、対応する容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４上の搬送容器内に配置する（入れる）。例えばロボット５１は、商品容器ステーションＯ１上の商品容器内の商品をピッキングし、ピッキングした商品を容器停止ステーションＲ１上の搬送容器内に配置する。以下、このような一連の動作を「通常ピッキング」ともいう。なお、図１には、通常ピッキングが模式的に矢印Ｙ１にて示されている。
【００３７】
なお、ロボット５１による通常ピッキングは、搬送容器内に入れる予定の商品の数（ピッキング数量）に対応する回数実行される。本実施形態では、ロボット５１は、１回の通常ピッキングにより２つの商品を配置することが可能であるものとする。したがって、例えば、容器停止ステーションＲ１にて搬送容器内に５個商品を入れる場合は、ロボット５１は、３回（２個＋２個＋１個）、通常ピッキングを行う。但し、ロボット５１は、１回の通常ピッキングにより１つの商品を配置する構成でもよいし、３つ以上の商品を配置することが可能な構成であってもよい。
【００３８】
また、ロボット５１は、所定の場合に、対応するストック商品容器ステーションＰ１、Ｐ２、Ｐ３、Ｐ４上の商品容器内の商品をピッキングする。そして、ロボット５１は、ピッキングした商品を、対応する容器停止ステーションＲ１、Ｒ２、Ｒ３、Ｒ４上の搬送容器（商品容器）内に配置する。以下、このような一連の動作を「補充ピッキング」ともいう。なお、図１には、補充ピッキングが模式的に矢印Ｙ２にて示されている。補充ピッキングは、残数ピッキングコンベアＣ４による残数ピッキングに伴って実行される。即ち、補充ピッキングは、残数ピッキングコンベアＣ４により容器停止ステーションＲ１、Ｒ２ 、Ｒ３、Ｒ４上に移送された商品容器内に、当該商品容器内の商品と同一種類の商品を、ピッキング数量に対して足りない個数分だけ配置する動作である。補充ピッキングは、残数ピッキングに後続して実行される。補充ピッキングにより商品がピッキングされたストック商品容器ステーションＰ１、Ｐ２、Ｐ３、Ｐ４上の商品容器は、第１回目のピッキング後にコンベアＣ５により商品容器ステーションＯ１、Ｏ２、Ｏ３、Ｏ４上に移送される。
【００３９】
制御装置４０は、処理装置３０からピッキングする商品の数を受信すると、当該数の商品が搬送容器内に配置されるよう、ロボット５１を制御する。制御装置４０は、図３に示すようなハードウェア構成を有する。具体的には、制御装置４０は、図３に示すように、ＣＰＵ（Central Processing Unit）４１１、ＲＯＭ(Read Only Memory)４１２、ＲＡＭ(Random Access Memory)４１３、記憶装置（ＨＤＤ：Hard Disk Drive）４１４、ネットワークインタフェース４１５、及び可搬型記憶媒体４１６に記憶されたデータを読み取り可能な可搬型記憶媒体用ドライブ４１７等を備えている。これら制御装置４０の構成各部は、バス４１８に接続されている。ＣＰＵ４１１は、ＲＯＭ４１２あるいはＨＤＤ４１４に格納されているプログラム（復旧プログラムを含む）、或いは可搬型記憶媒体用ドライブ４１７が可搬型記憶媒体４１６から読み取ったプログラムを実行することで、制御装置４０を図４の各部として機能させる。
【００４０】
具体的には、図４に示すように、ＣＰＵ４１１がプログラムを実行することにより、制御装置４０は、取得部ならびに特定部としての誤ピッキング判定部４１、及び指示部、算出部、ならびに出力部としての復旧処理部４９として機能する。
【００４１】
誤ピッキング判定部４１は、ロボット５１によるピッキング前後の距離画像を距離センサ７１または距離センサ７２から取得する。誤ピッキング判定部４１は、取得したピッキング前後の距離画像に基づいて、誤ってピッキングされた商品（意図せずにピッキングされた商品）が存在するか否か、すなわち、商品の誤ピッキングが発生したか否かを判断する。また、誤ピッキング判定部４１は、誤ピッキングが発生していると判断した場合に、ピッキング前後の距離画像に基づいて、誤ピッキングされた商品を特定する。
【００４２】
ここで、商品の誤ピッキングについて、図５（ａ）及び図５（ｂ）を用いて説明する。図５（ａ）及び図５（ｂ）は、商品容器内に配置された商品を横から見た模式図である。図５（ａ）に示すように、袋ＰＣ１に袋詰めされた商品１と、袋ＰＣ２に袋詰めされた商品２とが、商品容器内に並んで配置されている。ここで、図５（ａ）では、商品２が袋ＰＣ２の片側に偏ったり、商品２に対して袋ＰＣ２が大きすぎるなどの理由によって、商品２の袋ＰＣ２の一部（例えば、袋の端）が商品１の上に重なってしまっている。このような状態で商品１を吸着によりピッキングすると、図５（ｂ）に示すように、ピッキング対象の商品１だけでなく、商品１に重なった袋ＰＣ２も吸着されてしまうため、ピッキング対象の商品１とともに、商品２も合わせてピッキングされてしまう。これが、誤ピッキングである。
【００４３】
誤ピッキングが発生するのは、距離画像において商品が入った袋を認識することが難しいからである。制御装置４０は、距離センサ７１又は７２から取得される距離画像に基づいて商品容器内の商品の配置を認識し、商品のピッキング位置を決定し、ロボット５１に通知する。このとき、商品が入る袋が透明であると、距離センサ７１及び７２からの光が袋を透過してしまうため、当該袋を認識できない。そのため、距離画像において商品が入った袋が認識されず、ピッキング対象の商品に重なった袋を避けてピッキングを行うことが難しい。誤ピッキングが発生すると、誤った数の商品が搬送容器に配置されてしまうため、出荷前に、人手で当該商品の数を修正する作業が必要となってしまう。
【００４４】
そこで、本実施形態では、誤ピッキング判定部４１により誤ピッキングが発生しているか否かを判断し、誤ピッキングが発生している場合には、ロボット５１が、誤ピッキングされた商品を搬送容器から商品容器へと戻す復旧処理を実行する。
【００４５】
具体的には、復旧処理部４９が、誤ピッキング判定部４１により特定された誤ピッキングされた商品を搬送容器内から商品容器へと戻すようロボット５１に指示する。当該復旧処理について、図６及び図８のフローチャートを用いて詳細に説明する。
【００４６】
図６は、商品のピッキング時に制御装置４０において実行される処理を示すフローチャートである。図６の処理は、制御装置４０がロボット５１に商品のピッキングを指示する度に実行される。例えば、処理装置３０から通知されたピッキング数量が５個の場合、制御装置４０は、まず、ロボット５１に２個の商品を商品容器から搬送容器内に配置するようピッキングを指示するので、当該ピッキング指示後に図６の処理が実行される。そして、図６の処理が終了すると、制御装置４０は、また、ロボット５１に２個の商品を商品容器から搬送容器内に配置するようピッキングを指示し、図６の処理を実行する。その後、制御装置４０は、ロボットに１個の商品を商品容器から搬送容器内に配置するピッキングを指示すると、図６の処理を実行する。
【００４７】
図６の処理では、まず、ステップＳ１１において、制御装置４０の誤ピッキング判定部４１は、ロボット５１へ指示されたピッキングが、商品容器ステーション上の商品容器内の商品を搬送容器内に配置する通常ピッキングであるか否かを判断する。例えば、図７（ａ）に示すように、ロボット５１へのピッキング指示が、商品容器ステーションＯ１上の商品容器ＣＡ２０から商品１及び商品２を、容器停止ステーションＲ１上の搬送容器ＣＡ１０に配置するピッキング指示である場合、誤ピッキング判定部４１は、当該ピッキングが通常ピッキングであると判断し、ステップＳ１３に移行する。
【００４８】
ステップＳ１３に移行すると、誤ピッキング判定部４１は、距離センサ７１から商品容器ステーション上の商品容器の距離画像（ピッキング前距離画像）を取得する。例えば、図７（ｂ）に示す距離画像が、ピッキング前距離画像として誤ピッキング判定部４１により取得される。
【００４９】
続くステップＳ１５において、誤ピッキング判定部４１は、ロボット５１によりピッキングが実行されるまで待機する。そして、ロボット５１によりピッキングが実行された段階で、ステップＳ１７に移行する。
【００５０】
ステップＳ１７に移行すると、誤ピッキング判定部４１は、距離センサ７１から商品容器ステーション上の商品容器の距離画像（ピッキング後距離画像）を取得する。ここで、図７（ｃ）に示すように、ロボット５１が、商品１及び商品２のピッキング指示に対して、商品１〜商品３をピッキングし、搬送容器内に配置したとする。この場合、例えば、図７（ｄ）に示す距離画像が、ピッキング後距離画像として誤ピッキング判定部４１により取得される。
【００５１】
続くステップＳ１９において、誤ピッキング判定部４１は、ピッキング前後の距離画像に基づいて、誤った商品がピッキングされているか否か、すなわち、誤ピッキングが発生しているか否かを判断する。誤ピッキング判定部４１は、例えば、ピッキング前距離画像から認識された商品の数からピッキング予定の商品の数（ピッキング予定数）を差し引いた正規残数量と、ピッキング後距離画像から認識された商品の数（実残数量）とが等しいか否かを判断する。例えば、図７（ａ）において、商品１及び商品２のピッキングが指示された場合、ピッキング予定数は２である。このとき、ピッキング前距離画像（図７（ｂ））から認識されるピッキング前の商品の個数は１６個で、ピッキング後距離画像（図７（ｄ））から認識されるピッキング後の商品の個数は１３個である。この場合、正規残数量１４個（１６−２）と、実残数量１３個とが異なるので、誤ピッキング判定部４１は、誤ピッキングが発生していると判断し、ステップＳ５０に移行する。一方、誤ピッキング判定部４１は、正規残数量と実残数量とが等しい場合、誤ピッキングは発生していないと判断し、ステップＳ６０に移行する。また、本ステップにおいて、誤ピッキング判定部４１は、正規残数量から実残数量を差し引いた数、すなわち、誤ピッキングされた商品の数（以後、誤ピッキング数という）を算出する。
【００５２】
ところで、ステップＳ１１において、ロボット５１に指示されたピッキングが、通常ピッキングではない場合、すなわち、ステップＳ１１の判断が否定された場合、ステップＳ３１に移行する。例えば、ロボット５１に指示されたピッキングが、図７（ｅ）に示すように、ストック商品容器ステーションＰ１上の商品容器ＣＡ２０内の商品をピッキングし、ピッキングした商品を、容器停止ステーションＲ１上の搬送容器（商品容器）ＣＡ１０内に配置する補充ピッキングである場合、ステップＳ３１に移行する。
【００５３】
ステップＳ３１に移行すると、誤ピッキング判定部４１は、距離センサ７２からストック商品容器ステーション上の商品容器の距離画像（ピッキング前距離画像）を取得する。
【００５４】
続くステップＳ３３において、誤ピッキング判定部４１は、ロボット５１によりピッキングが実行されるまで待機する。そして、ロボット５１によりピッキングが実行された段階で、ステップＳ３５に移行する。
【００５５】
ステップＳ３５に移行すると、誤ピッキング判定部４１は、距離センサ７２からストック商品容器ステーション上の商品容器の距離画像（ピッキング後距離画像）を取得する。
【００５６】
続くステップＳ３７において、誤ピッキング判定部４１は、ステップＳ１９と同様に、ピッキング前後の距離画像に基づいて、誤った商品がピッキングされているか否か、すなわち、誤ピッキングが発生しているか否かを判断する。ここでの判断が否定された場合、ステップＳ６０に移行するが、肯定された場合、ステップＳ５０に移行する。また、本ステップにおいて、誤ピッキング判定部４１は、正規残数量から実残数量を差し引いた数、すなわち、誤ピッキング数を算出する。
【００５７】
（復旧処理：ステップＳ５０）
ここで、図８のフローチャートを参照して、図６のステップＳ５０の復旧処理の詳細について説明する。
【００５８】
図８の処理では、まず、ステップＳ５０３において、誤ピッキング判定部４１は、ピッキング前後の距離画像に基づいて、誤ってピッキングされた商品を特定する。例えば、図９（ａ）に示すように、商品１及び商品２のピッキング指示に対して、商品３もピッキングされたとする。誤ピッキング判定部４１は、ピッキング前距離画像（図９（ｂ））と、ピッキング後距離画像（図９（ｃ））とを比較した比較画像（図９（ｄ））を用いて、ピッキングされた商品を抽出する。そして、誤ピッキング判定部４１は、ピッキングされた商品のうち、ピッキングの対象であった商品１及び商品２以外の商品３を、誤ピッキングされた商品であると特定する。
【００５９】
続くステップＳ５０５において、復旧処理部４９は、ピッキング前の距離画像に基づいて、誤ってピッキングされた商品の正しくピッキングされた商品に対する相対位置を計算する。例えば、復旧処理部４９は、ピッキング前距離画像に基づいて、誤ってピッキングされた商品３の正しくピッキングされた商品２に対する相対位置を求める。ここで、ピッキング前距離画像における商品２及び商品３の位置関係が、図１０に示すものであったとする。この場合、復旧処理部４９は、まず、ピッキング前距離画像を用いて、商品２及び商品３の中心を求める。そして、復旧処理部４９は、商品２の中心を原点として、当該原点の位置（座標）と商品３の中心の位置（座標）とのＸ方向における差と、Ｙ方向における差とを算出する。図１０の例では、商品３の中心は、商品２の中心からＸ方向に−１００ｍｍ、Ｙ方向に＋１０ｍｍの位置にある。したがって、例えば、復旧処理部４９は、相対位置を（−１００ｍｍ，＋１０ｍｍ）と計算する。
【００６０】
続くステップＳ５０７において、復旧処理部４９は、ロボット５１に、搬送容器内に誤って配置された商品を商品容器に戻す復旧作業を行うよう指示する。このとき、復旧処理部４９は、ステップＳ５０５で算出した相対位置をロボット５１に通知する。ロボット５１は、ピッキングの実行後、搬送容器内に商品を配置した位置にて停留している。したがって、ロボット５１は、現在位置から相対位置分移動した位置をピッキング位置として、搬送容器内の商品をピッキングする。したがって、ピッキング位置を絶対位置で指定する場合と比較して、ロボット５１を原点位置等の所定の位置に戻したり、現在位置とピッキング位置とのＸ方向及びＹ方向の差分を計算したりする必要がないので、復旧作業にかかる時間を短縮することができる。
【００６１】
なお、復旧処理部４９は、通常ピッキングの場合、誤ってピッキングされた商品の戻し先として、商品容器ステーション上の商品容器内の位置をロボット５１に通知する。一方、補充ピッキングの場合、ストック商品容器ステーション上の商品容器は、第１回目のピッキング後に商品容器ステーションに移送されている。このため、復旧処理部４９は、誤ってピッキングされた商品の戻し先として、ストック商品容器ステーション上の商品容器内の位置ではなく、商品容器ステーション上の商品容器内の位置をロボット５１に通知する。
【００６２】
続くステップＳ５０９において、復旧処理部４９は、復旧作業が実行されるまで待機している。そして、ロボット５１が復旧作業を実行した段階で、ステップＳ５１１に移行する。
【００６３】
ステップＳ５１１に移行すると、復旧処理部４９は、商品容器ステーション上の商品容器の距離画像（復旧作業後距離画像）を取得する。
【００６４】
続くステップＳ５１３において、復旧処理部４９は、ピッキング後距離画像と、復旧作業後距離画像とに基づいて、復旧作業が成功したか否かを判断する。本実施形態では、復旧処理部４９は、ピッキング後距離画像から認識される商品容器内の商品の数と、復旧作業後距離画像から認識される商品容器内の商品の数との差が１であれば、復旧作業が成功したと判断する。例えば、図１１（ａ）に示すように、商品１及び商品２のピッキング指示に対して、商品３の誤ピッキングが発生しており、復旧作業により商品３が搬送容器内から商品容器内に戻されたとする（図１１（ｂ））。この場合、復旧処理部４９は、図１１（ｃ）に示すピッキング後距離画像から認識される商品容器内の商品の数（１３個）と、図１１（ｄ）に示す復旧作業後距離画像から認識される商品容器内の商品の数（１４個）との差が１であるため、復旧作業が成功したと判断し、ステップＳ５１５に移行する。
【００６５】
ステップＳ５１５に移行すると、復旧処理部４９は、誤ピッキング数を１減少させ、ステップＳ５２１に移行する。
【００６６】
ステップＳ５２１に移行すると、復旧処理部４９は、誤ピッキング数が０より大きいか否かを判断する。ここでの判断が否定された場合、復旧処理部４９は、復旧処理を終了し、図６のステップＳ６０に移行する。例えば、図１１（ａ）に示した誤ピッキングの例では、復旧処理開始時の誤ピッキング数が１であるため、ステップＳ５１５の処理を実行すると、誤ピッキング数が０となる。したがって、続くステップＳ５２１の判断が否定され、復旧処理部４９は、復旧処理を終了し、図６のステップＳ６０に移行する。
【００６７】
一方、誤ピッキング数が０よりも大きい場合、すなわち、ステップＳ５２１の判断が肯定された場合、復旧処理部４９は、ステップＳ５０３に戻る。例えば、ロボット５１へのピッキング指示が、図１２（ａ）に示す商品容器ステーションＯ１上の商品容器ＣＡ２０から商品１及び商品２を、容器停止ステーションＲ１上の搬送容器ＣＡ１０に配置するピッキング指示であったとする。このとき、図１２（ｂ）に示すように、商品５及び商品６が誤ってピッキングされ、商品１及び商品２とともに搬送容器ＣＡ１０に配置されると、誤ピッキング数は２となる。この場合、復旧処理部４９は、まず、誤ピッキングされた商品として商品５を特定し（ステップＳ５０３）、ステップＳ５０５〜ステップＳ５１１の処理を実行する。ここで、図１２（ｃ）に示すように、商品５を搬送容器ＣＡ１０から商品容器ＣＡ２０へと戻すのに成功した場合（ステップＳ５１３／ＹＥＳ）、ステップＳ５１５において、誤ピッキング数は２から１へと変更されるが、０よりも大きい。したがって、続くステップＳ５２１の判断が肯定され、復旧処理部４９は、ステップＳ５０３に戻り、今度は、誤ピッキングされた商品として商品６を特定する。その後、復旧処理部４９は、ステップＳ５０５〜ステップＳ５１１の処理を実行する。そして、図１２（ｄ）に示すように、商品６を搬送容器ＣＡ１０から商品容器ＣＡ２０へと戻すのに成功すると（ステップＳ５１３／ＹＥＳ）、ステップＳ５１５において、誤ピッキング数は１から０へ変更される。この場合、続くステップＳ５２１の判断が否定されるため、復旧処理部４９は、図８の復旧処理を終了し、図６のステップＳ６０に移行する。
【００６８】
ところで、ステップＳ５１３の判断が否定された場合、すなわち、復旧作業に失敗した場合、復旧処理部４９は、ステップＳ５１７に移行する。
【００６９】
ステップＳ５１７に移行すると、復旧処理部４９は、復旧作業の実行回数が所定回数（例えば、５回）を超えたか否かを判断する。ここでの判断が否定された場合、ステップＳ５１９に移行する。
【００７０】
ステップＳ５１９に移行すると、復旧処理部４９は、ロボット５１に新たなピッキング位置で搬送容器内の商品をピッキングし、再度復旧作業（リトライ）を行うよう指示し、ステップＳ５０９に移行する。例えば、復旧処理部４９は、現在位置からＸ方向及びＹ方向に所定距離（例えば、―１０ｍｍ等）ずれた位置で、搬送容器内の商品をピッキングするように指示する。新たなピッキング位置は、現在位置からＸ方向とＹ方向に同距離ずれた位置であってもよいし、異なる距離ずれた位置であってもよい。なお、新たなピッキング位置がロボット５１の移動可能範囲を超える場合には、その移動可能範囲の限界値を指定すればよい。
【００７１】
一方、ステップＳ５１７の判断が肯定された場合、すなわち、復旧作業の実行回数が所定回数（例えば、５回）を超えた場合には、復旧処理部４９は、図８の復旧処理を終了し、図６のステップＳ６０に移行する。
【００７２】
図６のステップＳ６０に戻ると、復旧処理部４９は、ピッキング指示に対して実際にピッキングされた商品の数（実ピッキング数）を、例えば、ＨＤＤ４１４やＲＡＭ４１３等の記憶媒体に記録し、図６の全処理を終了する。例えば、復旧処理部４９は、ＨＤＤ４１４やＲＡＭ４１３等の記憶媒体に記憶されている、図１３（ａ）に示すピッキング実績管理テーブルに実ピッキング数を記録する。
【００７３】
ピッキング実績管理テーブルは、図１３（ａ）に示すように、例えば、店舗、受注数、容器ＩＤ、実ピック数、ピッキング後商品容器内予定残数、及びピッキング後商品容器内実残数のフィールドを備える。店舗のフィールドには、ピッキング対象の商品を発注した店舗の名称が格納される。受注数のフィールドには、店舗から受注した商品の数が格納される。容器ＩＤのフィールドには、ピッキングされた商品が配置された搬送容器を一意に識別する識別番号が格納される。実ピック数のフィールドには、実際にピッキングされた商品の数が格納される。ピッキング後商品容器内予定残数のフィールドには、ピッキング後に商品容器内に残っているはずの商品の数が格納される。ピッキング後商品容器内実残数のフィールドには、ピッキング後に商品容器内の実際に残っている商品の数が格納される。
【００７４】
例えば、ピッキング前の商品容器内の商品の数が１６個であったとする。この場合において、図１３（ａ）のピッキング実績管理テーブルによれば、店舗ＡＡからの受注（受注数：４個）に対して、実ピック数は４個であるため、ピッキング後の商品容器内の予定残数と実残数とは１２個で一致する。続く店舗ＢＢからの受注（受注数：３個）に対しては、誤ピッキングが発生し、復旧作業及びリトライも成功しなかったため、実ピック数が４個となっており、ピッキング後の商品容器内の予定残数９に対し、実残数は８となっている。ここで、店舗ＣＣの受注に対してピッキングするはずの商品は、既に店舗ＢＢからの受注に対するピッキングで誤ってピッキングされてしまっている。したがって、店舗ＣＣの発注（受注数：２個）に対しては、受注数よりも少ない１個がピッキングされる。
【００７５】
復旧処理部４９は、図１３（ａ）のピッキング実績管理テーブルに基づいて、例えば、図１３（ｂ）に示すように、商品が受注数よりも過剰に配置された搬送容器（過剰容器ＩＤ）と、誤ピッキングにより、商品が受注よりも過小に配置された搬送容器（欠品容器ＩＤ）とを対応付けて出力する。復旧処理部４９は、例えば、図１３（ｂ）の帳票を、印刷により出力してもよいし、ディスプレイ等の表示装置への表示により出力してもよい。復旧処理部４９は、図１３（ｂ）の帳票を、所定時間ごと（例えば、１時間毎）に出力してもよいし、ユーザからの出力指示に応じて出力してもよい。搬送容器内の商品を確認する作業者は、当該帳票を用いることによって、搬送容器内に配置された商品の数が、受注数と一致するように、搬送容器内から商品を取り除いたり、搬送容器内に商品を足したりする復旧作業を迅速に行うことができる。
【００７６】
以上詳細に説明したように、本実施形態によれば、商品ピッキング装置１００は、搬送容器内に配置される予定の商品が入った商品容器内の商品をピッキングし、ピッキングした商品を搬送容器内に配置するロボット５１と、ピッキング前後の商品容器の距離画像を取得し、ピッキング前後の距離画像に基づいて、誤ってピッキングされた商品を特定する誤ピッキング判定部４１と、当該誤ってピッキングされた商品を搬送容器から商品容器へと戻すようロボット５１に指示する復旧処理部４９と、を備えている。これにより、誤ってピッキングされた商品を自動的に元の商品容器に戻すことができる。すなわち、誤ってピッキングされた商品が搬送容器内に配置されても、ロボット５１が、当該誤ってピッキングされた商品を搬送容器から商品容器に戻す復旧作業を行うので、搬送容器内に正しい数の商品が配置される確率が高まる。したがって、誤ピッキングにより過剰または過小に配置された商品を、取り除いたり追加したりする作業を行う作業員の数を減らすことができる。また、誤ピッキング判定部４１は、商品容器の距離画像を取得するので、搬送容器側に距離センサを設置する必要がない。これにより、商品ピッキング装置１００のコストを低減することができる。
【００７７】
また、本実施形態によれば、復旧処理部４９は、ピッキング前の距離画像に基づいて、誤ってピッキングされた商品の正しくピッキングされた商品に対する相対位置を算出し（Ｓ５０５）、当該相対位置をロボット５１に通知する（Ｓ５０７）。これにより、ロボット５１は、搬送容器内の誤ってピッキングされた商品をピッキングするために、現在位置から当該相対位置分移動すればよいので、移動距離が短くてすみ、復旧作業にかかる時間を短縮することができる。さらに、ピッキング位置を絶対位置で指定する場合と比較して、ロボット５１を原点位置等の所定の位置に戻したり、現在位置とピッキング位置とのＸ方向及びＹ方向の差分を計算したりする必要がないので、復旧作業にかかる時間を短縮することができる。
【００７８】
また、本実施形態によれば、誤ピッキング判定部４１は、ロボット５１が、商品容器内の商品を搬送容器内に配置するたびに、商品容器に関する画像を取得するので（Ｓ１７，Ｓ３５）、毎回、正しい数の商品が搬送容器内に配置されているか否かを確認することができる。
【００７９】
また、本実施形態によれば、復旧処理部４９は、ロボット５１が搬送容器から商品容器に誤ってピッキングされた商品を戻す復旧作業を行った後の距離画像を取得し（Ｓ５１１）、ピッキング後の距離画像と、復旧作業後の距離画像とに基づいて、誤ってピッキングされた商品が搬送容器から商品容器に戻されたか否かを判断する（Ｓ５１３）。具体的には、復旧処理部４９は、ピッキング後距離画像から認識される商品容器内の商品の数と、復旧作業後距離画像から認識される商品容器内の商品の数との差が１であれば、復旧作業が成功したと判断する。これにより、簡易な構成で、復旧作業の成否を判断することができる。
【００８０】
また、本実施形態によれば、復旧処理部４９は、誤ってピッキングされた商品が搬送容器から商品容器に戻されていないと判断された場合、誤ってピッキングされた商品のピッキング位置を、前回のピッキング位置から所定距離移動させた位置として、再度、復旧作業を実行するようロボット５１に指示する（Ｓ５１９）。これにより、復旧作業が成功しなかった場合には、ピッキング位置を変えて、再度、復旧作業が実行されるので、誤ってピッキングされた商品が商品容器へと戻される確率が高まる。
【００８１】
また、本実施形態によれば、復旧処理部４９は、誤ってピッキングされた商品が搬送容器から商品容器へ戻されなかった場合、商品が予定よりも多く配置された搬送容器の情報と、誤ったピッキングのために、商品が予定よりも少なく配置された搬送容器の情報とを対応付けて出力する（図１３（ｂ））。これにより、搬送容器内の商品を確認する作業者は、搬送容器内に配置された商品の数が、受注数と一致するように、搬送容器内から商品を取り除いたり、搬送容器内に商品を足したりする復旧作業を迅速に行うことができる。
【００８２】
また、本実施形態によれば、ロボット５１は、吸着により商品をピッキングする。吸着によるピッキングは、把持等によるピッキングよりも、ピッキングの失敗が少ないため、ピッキング作業を効率よく行うことができる。
【００８３】
また、本実施形態によれば、商品は袋詰めされた商品である。商品が入る袋は、特に、透明な場合、距離センサでは認識できず、また、カメラ等を用いて撮像した画像においても認識が困難である。そのため、ピッキング対象の商品の上に他の商品の袋の一部が重なっていても、当該袋を認識することが難しく、誤ピッキングが生じやすい。本実施形態の商品ピッキング装置１００によれば、袋詰めされた商品でも、ピッキング前後の距離画像によって誤ピッキングが発生したか否かを判断し、誤ピッキングが発生していた場合には、商品を搬送容器から商品容器に戻す復旧作業を行うので、搬送容器内に正しい数の商品が配置される確率が高まる。
【００８４】
また、本実施形態によれば、商品ピッキング装置１００は、補充ピッキングにおいて、第１回目のピッキング後に商品容器がストック商品容器ステーションＰ１〜Ｐ４から商品容器ステーションＯ１〜Ｏ４へと移送されると、復旧処理部４９は、誤ってピッキングされた商品を、搬送容器から、商品容器ステーションＯ１〜Ｏ４へ移送された商品容器へと戻すようロボット５１に指示する。これにより、誤ってピッキングされた商品を搬送容器から商品容器に運ぶまでの距離が短くなるため、復旧作業に要する時間を短縮することができる。
【００８５】
なお、上記実施形態では、距離画像を用いて誤ピッキングの発生有無の判断や、誤ピッキングされた商品の特定を行っていたが、これに限られるものではなく、例えば、カメラにより撮像した画像を用いてもよい。この場合、カメラにより撮像した画像に対し、パターンマッチングを行うことにより、商品容器内の商品を認識することができる。しかしながら、カメラにより撮像した画像を用いる場合、パターンマッチング用に商品のサンプル画像が必要となる。商品の入れ替わりが頻繁に起こる場合、商品のサンプル画像の登録業務は煩雑であり、システムの運用負荷が高くなってしまう。したがって、上記実施形態のように、距離画像を用いるのが好ましい。パターンマッチング用のサンプル画像が不要であり、システムの運用負荷を低減することができるからである。
【００８６】
なお、上記実施形態において、誤ピッキング判定部４１は、ピッキング前距離画像から認識された商品の数からピッキング予定の商品の数を差し引いた正規残数量と、ピッキング後距離画像から認識された商品の数（実残数量）とが等しいか否かを判断することで、誤ピッキングが発生したか否かを判断していたが、これに限られるものではない。例えば、誤ピッキング判定部４１は、ピッキング前距離画像から認識された商品の数から、ピッキング後距離画像から認識された商品の数を差し引いた数（ピッキング前後の商品数の差分）が、ピッキング予定数と一致するか否かに基づいて誤ピッキングの発生を判断してもよい。例えば、ピッキング予定数が２であった場合、ピッキング前後の商品数の差分が３であれば、誤ピッキングが発生したと判断してもよい。あるいは、誤ピッキング判定部４１は、ピッキング前距離画像とピッキング後距離画像との比較により得られる比較画像（図９（ｄ））から、ピッキングされた商品の数を特定し、当該数がピッキング予定数と一致するか否かに基づいて誤ピッキングの発生を判断してもよい。
【００８７】
また、上記実施形態において、復旧処理部４９は、ピッキング後距離画像から認識される商品容器内の商品の数と、復旧作業後距離画像から認識される商品容器内の商品の数とに基づいて、復旧作業が成功したか否かを判断していたが、これに限られるものではない。復旧処理部４９は、例えば、復旧作業後距離画像から認識される商品容器内の商品の数（実残数量）が、ピッキング前距離画像から認識される商品容器内の商品の数からピッキング予定数を差し引いた商品の数
（正規残数量）と一致するか否かにより、復旧作業が成功したか否かを判断してもよい。すなわち、復旧処理部４９は、復旧作業後の商品容器内の商品の実残数量が正規残数量と一致する場合、復旧作業が成功したと判断してもよい。
【００８８】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【００８９】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００９０】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００９１】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００９２】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  搬送容器内に配置される予定の商品が入った商品容器内の商品をピッキングし、ピッキングした前記商品を前記搬送容器内に配置するロボットと、
前記ピッキング前後の前記商品容器に関する画像を取得する取得部と、
前記ピッキング前後の前記商品容器に関する画像に基づいて、誤ってピッキングされた商品を特定する特定部と、
前記誤ってピッキングされた商品を前記搬送容器から前記商品容器へと戻す復旧作業を実行するよう前記ロボットに指示する指示部と、
を備えるピッキング装置。
（付記２）  前記商品容器に関する画像は、距離画像であることを特徴とする付記１に記載のピッキング装置。
（付記３）  前記ピッキング前の前記商品容器に関する画像に基づいて、前記誤ってピッキングされた商品の正しくピッキングされた商品に対する相対位置を算出する算出部を備え、
前記指示部は、前記相対位置を前記ロボットに通知することを特徴とする付記１または２に記載のピッキング装置。
（付記４）  前記取得部は、前記ロボットが、前記商品容器内の前記商品を前記搬送容器内に配置するたびに、前記商品容器に関する画像を取得することを特徴とする付記１から３のいずれかに記載のピッキング装置。
（付記５）  前記取得部は、前記ロボットが前記復旧作業を行った後の前記商品容器に関する画像を取得し、
前記指示部は、前記ピッキング後または前記ピッキング前の前記商品容器に関する画像と、前記復旧作業後の前記商品容器に関する画像とに基づいて、前記誤ってピッキングされた商品が前記搬送容器から前記商品容器に戻されたか否かを判定することを特徴とする付記１から４のいずれかに記載のピッキング装置。
（付記６）  前記指示部は、前記誤ってピッキングされた商品が前記搬送容器から前記商品容器に戻されていないと判定した場合、前記誤ってピッキングされた商品のピッキング位置を、前回のピッキング位置から所定距離移動させた位置として、再度、前記復旧作業を実行するよう前記ロボットに指示することを特徴とする付記５に記載のピッキング装置。
（付記７）  前記誤ってピッキングされた商品が前記搬送容器から前記商品容器へ戻されなかった場合、前記商品が予定よりも多く配置された搬送容器の情報と、誤ったピッキングのために、前記商品が予定よりも少なく配置された搬送容器の情報とを対応付けて出力する出力部を備えることを特徴とする付記５または６に記載のピッキング装置。
（付記８）  前記ロボットは、吸着により商品をピッキングすることを特徴とする付記１から７のいずれかに記載のピッキング装置。
（付記９）  前記商品は袋詰めされた商品であることを特徴とする付記１から８のいずれかに記載のピッキング装置。
（付記１０）  前記商品容器がピッキング後に移動した場合、前記指示部は、前記誤ってピッキングされた商品を、移動後の前記商品容器へと戻すよう前記ロボットに指示することを特徴とする付記１から９のいずれかに記載のピッキング装置。
（付記１１）  ロボットが、搬送容器内に配置される予定の商品が入った商品容器内の商品をピッキングし、ピッキングした前記商品を搬送容器内に配置する場合に、前記ピッキング前後の前記商品容器に関する画像を取得し、
前記ピッキング前後の前記商品容器に関する画像に基づいて、誤ってピッキングされた商品を特定し、
前記誤ってピッキングされた商品を前記搬送容器から前記商品容器へと戻す復旧作業を実行するよう前記ロボットに指示する、
処理をコンピュータに実行させることを特徴とする復旧プログラム。
（付記１２）  前記商品容器に関する画像は、距離画像であることを特徴とする請求項１１に記載の復旧プログラム。
（付記１３）  前記ピッキング前の前記商品容器に関する画像に基づいて、前記誤ってピッキングされた商品の正しくピッキングされた商品に対する相対位置を算出する処理をコンピュータに実行させ、
前記指示する処理では、前記相対位置を前記ロボットに通知することを特徴とする付記１１または１２に記載の復旧プログラム。
（付記１４）  前記取得する処理では、前記ロボットが、前記商品容器内の前記商品を前記搬送容器内に配置するたびに、前記商品容器に関する画像を取得することを特徴とする付記１１から１３のいずれかに記載の復旧プログラム。
（付記１５）  前記取得する処理では、前記ロボットが前記復旧作業を行った後の前記商品容器に関する画像を取得し、
前記指示する処理では、前記ピッキング後または前記ピッキング前の前記商品容器に関する画像と、前記復旧作業後の前記商品容器に関する画像とに基づいて、前記誤ってピッキングされた商品が前記搬送容器から前記商品容器に戻されたか否かを判定することを特徴とする付記１１から１４のいずれかに記載の復旧プログラム。
（付記１６）  前記指示する処理では、前記誤ってピッキングされた商品が前記搬送容器から前記商品容器に戻されていないと判定した場合、前記誤ってピッキングされた商品のピッキング位置を、前回のピッキング位置から所定距離移動させた位置として、再度、前記復旧作業を実行するよう前記ロボットに指示することを特徴とする付記１５に記載の復旧プログラム。
（付記１７）  前記誤ってピッキングされた商品が前記搬送容器から前記商品容器へ戻されなかった場合、前記商品が予定よりも多く配置された搬送容器の情報と、誤ったピッキングのために、前記商品が予定よりも少なく配置された搬送容器の情報とを対応付けて出力する処理をコンピュータが実行することを特徴とする付記１５または１６に記載の復旧プログラム。
（付記１８）  前記ロボットは、吸着により商品をピッキングすることを特徴とする付記１１から１７のいずれかに記載の復旧プログラム。
（付記１９）  前記商品は袋詰めされた商品であることを特徴とする付記１１から１８のいずれかに記載の復旧プログラム。
（付記２０）  前記商品容器がピッキング後に移動した場合、前記指示する処理では、前記誤ってピッキングされた商品を、移動後の前記商品容器へと戻すよう前記ロボットに指示することを特徴とする付記１１から１９のいずれかに記載の復旧プログラム。
【符号の説明】
【００９３】
４０  処理装置
４１  誤ピッキング判定部
４９  復旧処理部
５１  ロボット
７１  距離センサ
７２  距離センサ
１００  商品ピッキング装置
ＣＡ１０  搬送容器
ＣＡ２０  商品容器
【図１】
0006570395.tif 000002
【図２】
0006570395.tif 000003
【図３】
0006570395.tif 000004
【図４】
0006570395.tif 000005
【図５】
0006570395.tif 000006
【図６】
0006570395.tif 000007
【図７】
0006570395.tif 000008
【図８】
0006570395.tif 000009
【図９】
0006570395.tif 000010
【図１０】
0006570395.tif 000011
【図１１】
0006570395.tif 000012
【図１２】
0006570395.tif 000013
【図１３】
0006570395.tif 000014