(57)【要約】【課題】  容易に学習用データを収集可能な情報処理装置及びピッキングシステムを提供する。【解決手段】  一実施形態に係る情報処理装置は、所定範囲に置かれた物品を把持するロボットアームに、ピッキング位置を供給する情報処理装置であって、通信インタフェースと、プロセッサとを具備する。通信インタフェースは、前記所定範囲に置かれた前記物品の画像である物品画像と、前記ロボットアームにより把持され持ち上げられた前記物品との距離を示す距離情報と、を取得する。プロセッサは、前記距離情報に基づいて、前記物品画像上における前記物品の位置を示すマスク画像を生成する。【選択図】図１
2020040193.tif 000002
【特許請求の範囲】
【請求項１】
所定範囲に置かれた物品を把持するロボットアームに、ピッキング位置を供給する情報処理装置であって、
前記所定範囲に置かれた前記物品の画像である物品画像と、前記ロボットアームにより把持され持ち上げられた前記物品との距離を示す距離情報と、を取得する通信インタフェースと、
前記距離情報に基づいて、前記物品画像上における前記物品の位置を示すマスク画像を生成するプロセッサと、
を具備する情報処理装置。
【請求項２】
前記プロセッサは、
前記物品画像と、予め設定された画像認識パラメータとに基づいて、前記物品画像上において、前記物品が存在する物品領域を認識し、前記物品領域に基づいて、前記ピッキング位置を生成し、
前記物品画像と前記マスク画像とを対応付けて、前記画像認識パラメータを更新する為の学習用データを生成する請求項１に記載の情報処理装置。
【請求項３】
前記プロセッサは、前記物品画像と、前記マスク画像とを表示させた確認画面を出力し、前記確認画面に対するオペレータの操作入力に基づいて、前記マスク画像を用いた前記学習用データの生成を行うか否か判断する請求項２に記載の情報処理装置。
【請求項４】
前記距離情報は、前記物品画像を取得したカメラのレンズの光軸と交差する方向における、前記距離情報を取得する距離センサと、前記物品との距離を示す情報である請求項１に記載の情報処理装置。
【請求項５】
前記距離情報は、前記ロボットアームにより、前記物品が、前記光軸と略平行な方向に移動した際の、前記距離センサと前記物品との距離を示す情報である請求項４に記載の情報処理装置。
【請求項６】
前記プロセッサは、前記距離情報に基づいて、前記物品の外形寸法を算出し、算出した前記外形寸法に基づいて、前記マスク画像を生成する請求項１に記載の情報処理装置。
【請求項７】
ロボットアームと、前記ロボットアームにピッキング位置を供給する情報処理装置とを有するピッキングシステムであって、
前記ロボットアームは、
所定範囲に置かれた物品を把持する把持機構と、
前記把持機構を前記ピッキング位置から仕分先に移動させるアーム機構と、
を具備し、
前記情報処理装置は、
前記所定範囲に置かれた前記物品の画像である物品画像と、前記ロボットアームにより把持され持ち上げられた前記物品との距離を示す距離情報と、を取得する通信インタフェースと、
前記距離情報に基づいて、前記物品画像上における前記物品の位置を示すマスク画像を生成するプロセッサと、
を具備するピッキングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置及びピッキングシステムに関する。
【背景技術】
【０００２】
物品（荷物）を仕分するロボットアームを有するピッキングシステムが実用化されている。ピッキングシステムは、ロボットアーム、ロボットアーム制御装置、情報処理装置などを備える。情報処理装置は、物品の画像（物品画像）に基づいて、動作計画を生成する。ロボットアーム制御装置は、情報処理装置から供給される動作計画に基づいて、ロボットアームを制御する。ロボットアームは、ロボットアーム制御装置の制御に基づいて、物品を把持し、移動させる。
【０００３】
情報処理装置は、物品画像に対して画像認識を行い、画像中の物品が存在する領域（物品領域）を認識する。情報処理装置は、物品領域に基づき、ロボットアームにより物品を把持させる位置（ピッキング位置）を決定する。情報処理装置は、ピッキング位置に基づき、ピッキング位置と把持機構の移動経路とを示す動作計画を生成する。
【０００４】
ピッキングシステムで仕分される物品は、寸法及び外観などが一様ではない。情報処理装置による画像認識の精度を向上させる為に、機械学習を行い、画像認識パラメータを調整することが有効である。しかしながら、機械学習には、物品領域が特定されている物品画像が大量に必要になるという課題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−６４９１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、容易に学習用データを収集可能な情報処理装置及びピッキングシステムを提供することである。
【課題を解決するための手段】
【０００７】
一実施形態に係る情報処理装置は、所定範囲に置かれた物品を把持するロボットアームに、ピッキング位置を供給する情報処理装置であって、通信インタフェースと、プロセッサとを具備する。通信インタフェースは、前記所定範囲に置かれた前記物品の画像である物品画像と、前記ロボットアームにより把持され持ち上げられた前記物品との距離を示す距離情報と、を取得する。プロセッサは、前記距離情報に基づいて、前記物品画像上における前記物品の位置を示すマスク画像を生成する。
【図面の簡単な説明】
【０００８】
【図１】図１は、一実施形態に係るピッキングシステムの概略的な構成例について説明する為の説明図である。
【図２】図２は、一実施形態に係る距離センサの構成例について説明する為の説明図である。
【図３】図３は、一実施形態に係る情報処理装置及び操作端末について説明する為の説明図である。
【図４】図４は、一実施形態に係る情報処理装置の動作の例について説明する為の説明図である。
【図５】図５は、一実施形態に係る物品画像の例について説明する為の説明図である。
【図６】図６は、一実施形態に係る物品画像の例について説明する為の説明図である。
【図７】図７は、一実施形態に係るロボットアームの動作の例について説明する為の説明図である。
【図８】図８は、一実施形態に係る情報処理装置の動作の例について説明する為の説明図である。
【図９】図９は、一実施形態に係る情報処理装置の動作の例について説明する為の説明図である。
【図１０】図１０は、一実施形態に係る情報処理装置の動作の例について説明する為の説明図である。
【図１１】図１１は、一実施形態に係るマスク画像の例について説明する為の説明図である。
【図１２】図１２は、一実施形態に係る情報処理装置の動作の他の例について説明する為の説明図である。
【図１３】図１３は、一実施形態に係る確認画面の例について説明する為の説明図である。
【発明を実施するための形態】
【０００９】
以下、実施形態について、図面を参照して説明する。  
図１は、第１の実施形態に係るピッキングシステム１の概略的な構成例について説明する為の説明図である。
【００１０】
ピッキングシステム１は、かご車２に積載された仕分対象である物品３を所定の仕分先に仕分けるシステムである。
【００１１】
かご車２は、物品３を収容する収容部とキャスターとが組み合わされた容器である。なお、かご車２は、仕分対象の物品３が積載される容器の一例であり、荷台、またはパレットなど、物品３を積載することができるものであれば如何なるものであってもよい。
【００１２】
物品３の仕分先は、例えばベルトコンベア、他のカゴ車、仕分用のカゴ、作業台など、如何なるものであってもよい。
【００１３】
ピッキングシステム１は、ロボットアーム１１、情報処理装置１２、及び操作端末１３を備える。また、ピッキングシステム１は、第１の距離センサ１４及び第２の距離センサ１５をさらに備える。また、ピッキングシステム１は、ストレージ装置１６及び学習装置１７をさらに備える。ロボットアーム１１、情報処理装置１２、操作端末１３、第１の距離センサ１４、第２の距離センサ１５、ストレージ装置１６、及び学習装置１７は、ネットワーク１８を介して互いに通信可能に構成されている。
【００１４】
まず、ロボットアーム１１の構成について説明する。  
ロボットアーム１１は、かご車２に積載された物品３を把持し、把持した物品３を持ち上げ、物品３を仕分先に供給する装置である。ロボットアーム１１は、把持機構２１、アーム機構２２、力覚センサ２３、及びコントローラ２４を備える。
【００１５】
把持機構２１は、物品３を把持する機構である。把持機構２１は、例えば、物品３に吸着する吸着パッドを備える。吸着パッドは、物品３の表面に接し、且つコントローラ２４の制御によりパッド内が負圧になることにより、物品３の表面に吸着し、物品３を把持する。また、把持機構２１は、２点以上の接点で物品３を挟むことにより物品３を把持する複数の指部を備えるグリッパとして構成されていてもよい。
【００１６】
アーム機構２２は、把持機構２１を移動させる機構である。アーム機構２２は、複数のアームと、複数のアームを連結する関節機構とを備える。関節機構は、コントローラ２４により制御されるアクチュエータ（図示せず）により可動することにより、アームを駆動する。
【００１７】
力覚センサ２３は、把持機構２１に対して加えられる応力を検知するセンサである。力覚センサ２３は、例えば、把持機構２１に対して鉛直方向に加わる応力を検知する。力覚センサ２３は、検知結果をコントローラ２４に送信する。なお、力覚センサ２３は、アーム機構２２に対して加えられる応力も検知する構成であってもよい。
【００１８】
コントローラ２４は、情報処理装置１２から供給される動作計画に基づいて、把持機構２１及びアーム機構２２の動作を制御する。コントローラ２４は、例えば、メモリ（図示せず）と、メモリに記憶されたプログラムを実行することにより把持機構２１及びアーム機構２２の動作を制御する演算素子（図示せず）とを備える。また、コントローラ２４は、シーケンサとして構成されていてもよい。
【００１９】
動作計画は、ピッキング位置を示すピッキング位置データと、軌跡とを含む情報である。コントローラ２４は、動作計画が示す軌跡を通り、動作計画のピッキング位置データが示すピッキング位置まで把持機構２１が移動するように、アーム機構２２を制御する。
【００２０】
ピッキング位置データは、把持機構２１により物品３を把持させる位置を示す情報である。例えば、ピッキング位置データは、把持機構２１により物品３を把持させる場合に把持機構２１を移動させる位置を示す。より具体的には、ピッキング位置データは、把持機構２１の基準点の移動先の３次元空間上の座標である。なお、以下ピッキング位置データが示すピッキング位置を、単にピッキング位置と称する。
【００２１】
軌跡は、ロボットアーム１１の把持機構２１をピッキング位置まで移動させる際の経路を示す。より具体的には、軌跡は、把持機構２１の基準点の移動経路を示す３次元空間上の複数の座標である。また、軌跡は、把持機構２１の基準点の移動経路を示す３次元空間上の複数の座標とベクトルとの組み合わせであってもよい。なお、ピッキング位置は、軌跡に含まれていてもよい。
【００２２】
把持機構２１が吸着パッドとして構成されている場合、把持機構２１の基準点は、例えば、吸着パッドの中心（重心）であってもよいし、吸着パッドにおける任意の点であってもよい。また、把持機構２１がグリッパとして構成されている場合、把持機構２１の基準点は、例えば、グリッパを構成する複数の指部の中心であってもよい。
【００２３】
次に、第１の距離センサ１４及び第２の距離センサ１５の構成について説明する。  
第１の距離センサ１４及び第２の距離センサ１５は、対象物までの距離を計測するセンサである。第１の距離センサ１４及び第２の距離センサ１５は、対象物との距離を示す距離情報を取得する。第１の距離センサ１４及び第２の距離センサ１５は、距離情報を、ネットワーク１８を介して情報処理装置１２に供給する。
【００２４】
第１の距離センサ１４は、対象物との距離を示す点が、三次元空間に配列された第１の距離情報を取得する。即ち、第１の距離情報は、互いに直交するｘ方向、ｙ方向、ｚ方向からなる空間における点の集合（点群）を有する距離画像である。第１の距離情報は、二次元状に配列された複数の点毎に、第１の距離センサ１４との距離を示す距離値を有するデータであると、言い換えることもできる。
【００２５】
第１の距離センサ１４は、例えば異なる２点（瞳位置）から対象物を撮像した際の視差に基づいて対象物までの距離を計測するステレオカメラとして構成される。即ち、第１の距離センサ１４は、レンズと、レンズにより結像された光を画像に変換する撮像素子とが組み合わされたカメラを２つ以上備える。このような構成によると、第１の距離センサ１４は、第１の距離情報と同時に、色情報を有する座標（画素）が二次元的に配列されたラスタ画像を取得することができる。なお、ラスタ画像は、カラー画像であっても単色画像であってもよい。
【００２６】
第１の距離センサ１４のレンズは、ロボットアーム１１により持ち上げられる物品３が積載されたかご車２を含む領域を撮影することができるように画角及び光軸の向きが調整されている。例えば、第１の距離センサ１４のレンズは、光軸がかご車２の底面に対向するように調整される。例えば、第１の距離センサ１４のレンズは、第１の距離センサ１４のレンズの光軸と、上記のｚ方向（鉛直方向）とが平行になるように調整される。即ち、第１の距離センサ１４は、かご車２の底面に対向する方向から、かご車２を含む所定範囲を撮像し、第１の距離情報及びラスタ画像を取得する。
【００２７】
第１の距離センサ１４は、第１の距離情報及びラスタ画像を、ネットワーク１８を介して情報処理装置１２に供給する。なお、物品３を含む所定範囲の画像を物品画像と称する。物品画像は、第１の距離情報とラスタ画像とのいずれであってもよいが、本実施形態では、物品画像は第１の距離情報であると仮定して説明する。
【００２８】
図２は、第２の距離センサ１５の構成について説明する為の説明図である。第２の距離センサ１５は、対象物との距離を示す点が、２次元空間に配列された第２の距離情報を取得する。例えば、第２の距離情報は、互いに直交するｘ方向、ｙ方向からなる空間における点の集合（点群）を有する距離画像である。第２の距離情報は、１次元状に配列された複数の点毎に、第２の距離センサ１５との距離を示す距離値を有するデータであると、言い換えることもできる。
【００２９】
第２の距離センサ１５は、ある一点と測定対象との距離、即ち２点間の距離を測定する装置である。具体的には、第２の距離センサ１５は、自身と、測定対象である点（測距点）とを結ぶ測距方向における距離を測定する装置である。第２の距離センサ１５の測距方向は、ｘ方向及びｙ方向と平行に調整される。即ち、第２の距離センサ１５の測距方向は、水平方向と平行である。言い換えると、第２の距離センサ１５の測距方向は、第１の距離センサ１４のレンズの光軸と交差する方向である。即ち、第２の距離センサ１５の測距方向は、第１の距離センサ１４のレンズの光軸と角度を成す方向である。例えば、第２の距離センサ１５の測距方向は、第１の距離センサ１４のレンズの光軸と直交する方向である。第２の距離センサ１５は、測距点（または測距方向）を水平方向に走査させつつ距離を測定する。
【００３０】
第２の距離センサ１５は、例えばレーザーレンジファインダーである。第２の距離センサ１５は、測定対象にレーザを照射し、反射光が入射するまでの時間に基づいて、測定対象までの距離を測定する。この場合、第２の距離センサ１５は、レーザが照射された点を測距点として、レーザの反射光を受光するセンサと測距点との距離を測定する。第２の距離センサ１５は、ロボットアーム１１により、物品３が持ち上げられる高さで測定を行う。
【００３１】
上記の構成により、第２の距離センサ１５は、ロボットアーム１１により持ち上げられた物品３と、自身との距離を示す情報を、第２の距離情報として取得する。即ち、第２の距離センサ１５は、測距点を水平方向に走査させつつ、ロボットアーム１１により持ち上げられた物品３との距離を測定し、第２の距離情報を取得する。第２の距離センサ１５は、取得した第２の距離情報を、ネットワーク１８を介して情報処理装置１２に供給する。
【００３２】
次に、操作端末１３について説明する。  
図３は、操作端末１３及び情報処理装置の構成例について説明する為の説明図である。
【００３３】
操作端末１３は、オペレータによる操作入力に基づいて、処理を行い、処理結果を情報処理装置１２に供給する装置である。即ち、操作端末１３は、情報処理装置１２の操作インタフェースとして機能する。操作端末１３は、通信インタフェース３１、制御部３２、及びタッチパネル３３を備える。
【００３４】
通信インタフェース３１は、他の機器と通信する為のインタフェースである。通信インタフェース３１は、ネットワーク１８を介してロボットアーム１１、情報処理装置１２、第１の距離センサ１４、第２の距離センサ１５、ストレージ装置１６、及び学習装置１７と通信する。
【００３５】
制御部３２は、種々の処理を実行する処理部である。制御部３２は、プロセッサ３４及びメモリ３５を備える。
【００３６】
プロセッサ３４は、演算処理を実行する演算素子である。プロセッサ３４は、例えばＣＰＵとして構成される。プロセッサ３４は、メモリ３５に記憶されているプログラムに基づいて種々の処理を行う。
【００３７】
メモリ３５は、プログラム及びデータを記憶する記憶装置である。メモリ３５は、例えば、読み出し専用の不揮発性メモリであるＲＯＭ、データを一時的に記憶するＲＡＭ、及びデータを記憶するストレージのいずれか、または複数を備える。
【００３８】
タッチパネル３３は、画面の表示と、操作に基づく操作信号の生成とを行う装置である。タッチパネル３３は、一体に構成されたディスプレイ３６及びタッチセンサ３７を備える。操作端末１３は、タッチパネル３３の代わりに画面を表示するディスプレイと、操作に基づき操作信号を生成する操作部とを備える構成であってもよい。操作部は、マウス、トラックボール、キーボード、トラックパッドなど如何なるものであってもよい。
【００３９】
ディスプレイ３６は、制御部３２または図示されないグラフィックコントローラから供給される表示用のデータ（画面データ）に基づいて画面を表示する。
【００４０】
タッチセンサ３７は、ディスプレイ３６に表示された画面上において操作端末１３を操作するオペレータがタッチした位置を示す操作信号を生成する。
【００４１】
次に、情報処理装置１２の構成について説明する。  
情報処理装置１２は、ロボットアーム１１に動作計画を供給する装置である。情報処理装置１２は、かご車２に搭載された物品３の画像である物品画像を取得する。情報処理装置１２は、物品画像に写った物品３を認識する為のパラメータである画像認識パラメータを用いて、物品画像に対して画像認識を行い、物品画像において物品３が写った領域である物品領域を認識する。情報処理装置１２は、物品領域の認識結果に基づき、ロボットアーム１１により物品３を把持させる位置であるピッキング位置を決定する。情報処理装置１２は、ピッキング位置と把持機構２１の移動経路である軌跡とを示す動作計画を生成し、ロボットアーム１１に動作計画を供給する。
【００４２】
また、情報処理装置１２は、後述する方法によって、学習装置１７に機械学習を行わせる為の学習用データを生成する。情報処理装置１２は、生成した学習用データをストレージ装置１６に供給する。
【００４３】
情報処理装置１２は、パーソナルコンピュータ（ＰＣ）などの、データの処理及びデータの保存を行うことができる装置により構成される。情報処理装置１２は、通信インタフェース４１及び制御部４２を備える。
【００４４】
通信インタフェース４１は、情報処理装置１２以外の他の機器と通信する為のインタフェースである。通信インタフェース４１は、ネットワーク１８を介してロボットアーム１１、第１の距離センサ１４、第２の距離センサ１５、操作端末１３、ストレージ装置１６、及び学習装置１７と通信する。
【００４５】
制御部４２は、種々の処理を実行する処理部である。制御部４２は、プロセッサ４３及びメモリ４４を備える。
【００４６】
プロセッサ４３は、演算処理を実行する演算素子である。プロセッサ４３は、例えばＣＰＵとして構成される。プロセッサ４３は、メモリ４４に記憶されているプログラムに基づいて種々の処理を行う。
【００４７】
メモリ４４は、プログラム及びデータを記憶する記憶装置である。メモリ４４は、例えば、読み出し専用の不揮発性メモリであるＲＯＭ、データを一時的に記憶するＲＡＭ、及びデータを記憶するストレージのいずれか、または複数を備える。例えば、メモリ４４は、学習装置１７から供給された画像認識パラメータを記憶する。
【００４８】
次に、ストレージ装置１６及び学習装置１７について説明する。  
ストレージ装置１６は、学習用データを記憶する記憶装置である。ストレージ装置１６は、情報処理装置１２から供給された学習用データを記憶する。ストレージ装置１６は、学習装置１７からの要求に応じて、学習用データを学習装置１７に供給する。
【００４９】
学習装置１７は、ストレージ装置１６から学習用データを取得し、学習用データに基づいて機械学習を行うことにより画像認識パラメータを生成し、情報処理装置１２に画像認識パラメータを供給する。学習装置１７は、学習装置１７以外の機器と通信する為の通信インタフェース、種々の処理を実行する制御部、及びメモリなどを備える。
【００５０】
学習装置１７で用いられる学習用データは、問題と答えとを有するデータである。例えば、学習用データは、仕分対象の物品３が写った物品画像と、この物品画像において仕分対象の物品が存在する領域である物品領域を示す情報とを有する。この例では、物品画像が問題に相当し、物品画像における物品領域が答えに相当する。学習装置１７は、このような学習用データに基づいて、例えばセグメーテーション用のニューラルネットワークなどにより機械学習を行うことにより、情報処理装置１２が物品画像から物体領域を認識する際に用いられる画像認識パラメータを生成する。画像認識パラメータは、セグメーテーション用のニューラルネットワークにおける重み計数である。なお、学習装置１７は、学習用データを取得する毎に画像認識パラメータを生成する構成であってもよいし、取得した学習用データに基づいて生成された画像認識パラメータを用いて、既に生成した画像認識パラメータを調整（更新）する構成であってもよい。また、学習装置１７は、既に生成した画像認識パラメータを調整（変更）する場合、一度に調整することができる値を制限する構成であってもよい。
【００５１】
次に、ピッキングシステム１における各構成の動作について説明する。  
まず情報処理装置１２による動作計画の供給について説明する。  
図４は、動作計画の生成に関する情報処理装置１２の動作について説明する為のフローチャートである。
【００５２】
制御部４２のプロセッサ４３は、まず第１の距離センサ１４から、図５に示される物品画像を取得する（ステップＳ１１）。上記したように、第１の距離センサ１４は、ロボットアーム１１により持ち上げられる物品３が搭載されたかご車２内を、ステレオカメラにより撮像して１対の画像データを取得する。さらに、第１の距離センサ１４は、１対の画像データに基づき、画像データ上の所定の領域（点）毎に第１の距離センサ１４との距離を算出し、点群データとしての物品画像を生成する。第１の距離センサ１４は、生成した物品画像を情報処理装置１２に供給する。
【００５３】
図５は、物品画像５１の例について説明する為の説明図である。上記したように、第１の距離センサ１４は、かご車２が設置される領域を含む所定範囲が画角として設定されている。この為、物品画像５１には、かご車２及び複数の物品３が写り込んでいる。物品画像５１は、第１の距離センサ１４との距離を示す情報を含む。即ち、第１の距離センサ１４が設置されている位置、第１の距離センサ１４に用いられているレンズの焦点距離、及び第１の距離センサ１４に用いられている撮像素子の寸法が既知である場合、物品画像５１に基づき、物品３の位置及び物品３の寸法などを算出することができる。
【００５４】
情報処理装置１２のプロセッサ４３は、物品画像５１と、メモリ４４に記憶された画像認識パラメータとに基づいて、画像認識を行う。これにより、プロセッサ４３は、物品画像５１内において物品３が存在する領域である物品領域を認識する（ステップＳ１２）。具体的には、プロセッサ４３は、物品画像５１に対して、メモリ４４に記憶された画像認識パラメータを用いて、物体検出またはセグメンテーション用のニューラルネットワークなどの手法を用いることにより、物品領域を認識する。例えば、プロセッサ４３は、物品画像５１において最も高い位置に存在する面に対応する領域を、物品領域として認識する。
【００５５】
図６は、物品画像５１内の物品領域の認識結果の例について説明する為の説明図である。図６に示されるように、物品画像５１において、最も高い位置に存在する物品３の面が物品領域５２として認識されている。
【００５６】
プロセッサ４３は、物品画像５１における物品領域５２の認識結果に基づいて、ピッキング位置を決定する（ステップＳ１３）。例えば、プロセッサ４３は、物品領域５２の重心（若しくは中心）の座標をピッキング位置として決定する。
【００５７】
プロセッサ４３は、決定したピッキング位置に基づいて、動作計画を生成する（ステップＳ１４）。例えば、プロセッサ４３は、ロボットアーム１１の把持機構２１を、初期位置からピッキング位置まで移動させる場合の把持機構２１の軌跡を生成する。プロセッサ４３は、生成した軌跡と、ピッキング位置とを示す動作計画を生成する。さらに、プロセッサ４３は、生成した動作計画をロボットアーム１１のコントローラ２４に送信し（ステップＳ１５）、処理を終了する。
【００５８】
次に、ロボットアーム１１の動作について説明する。  
図７は、ロボットアーム１１の動作について説明する為のフローチャートである。
【００５９】
ロボットアーム１１のコントローラ２４は、アーム機構２２及び把持機構２１を第１の距離センサ１４の画角外の初期位置に移動させる（ステップＳ２１）。例えば、コントローラ２４は、アーム機構２２の関節機構をアクチュエータにより可動させることにより、アーム機構２２を駆動し、アーム機構２２及び把持機構２１を撮影範囲外に移動させる。なお、第１の距離センサ１４は、アーム機構２２及び把持機構２１を撮影範囲外に移動したタイミングで物品画像５１を取得し、情報処理装置１２に送信する。
【００６０】
コントローラ２４は、アーム機構２２及び把持機構２１を撮影範囲外に移動させると、情報処理装置１２から動作計画が供給されるのを待つ（ステップＳ２２）。
【００６１】
コントローラ２４は、情報処理装置１２から動作計画が供給された場合（ステップＳ２２、ＹＥＳ）、動作計画に基づき把持機構２１を移動させる（ステップＳ２３）。例えば、コントローラ２４は、動作計画が示す軌跡に基づき、動作計画が示すピッキング位置まで把持機構２１を移動させるように、アーム機構２２を制御する。
【００６２】
コントローラ２４は、把持機構２１の位置を逐次確認し、動作計画が示すピッキング位置に到達したか否か判断する。コントローラ２４は、把持機構２１がピッキング位置に到達した場合、次のステップＳ２４の処理に移行する。また、コントローラ２４は、力覚センサ２３の検知結果を逐次確認し、把持機構２１がピッキング位置に到達し、且つ物品３に接触したことを検知結果が示す場合に、次のステップＳ２４の処理に移行する構成であってもよい。
【００６３】
コントローラ２４は、把持機構２１がピッキング位置に到達したと判断した場合、把持機構２１により物品３を把持させる（ステップＳ２４）。例えば把持機構２１が吸着パッドとして構成されている場合、コントローラ２４は、吸着パッド内を図示されない真空ポンプなどにより負圧にさせることにより、把持機構２１に物品を把持させる。また例えば、把持機構２１がグリッパとして構成されている場合、コントローラ２４は、グリッパの指部により物品３を挟ませることにより、把持機構２１に物品３を把持させる。
【００６４】
コントローラ２４は、把持機構２１により物品３を把持させる動作を行わせた後、物品３の把持が正常に行われたか否か判断する（ステップＳ２５）。即ち、コントローラ２４は、把持機構２１により物品３を把持することができたか否か判断する。例えば、把持機構２１が吸着パッドとして構成されている場合、コントローラ２４は、吸着パッド内が負圧にならない場合、把持機構２１により物品３を把持できていないと判断する。また、例えば、把持機構２１がグリッパとして構成されている場合、コントローラ２４は、グリッパにより物品３を挟むことにより、グリッパの指部に加わることが推定される応力が生じない場合、把持機構２１により物品３を把持できていないと判断する。
【００６５】
コントローラ２４は、把持機構２１による物品３の把持が正常に行われたと判断した場合（ステップＳ２５、ＹＥＳ）、物品３を把持した把持機構２１を、所定距離上昇させるように、アーム機構２２を制御する（ステップＳ２６）。コントローラ２４は、第２の距離センサ１５の走査位置に到達するように、物品３を把持した把持機構２１を上昇させる。これにより、第２の距離センサ１５は、第２の距離情報を取得することができる。第２の距離センサ１５は、取得した第２の距離情報を、情報処理装置１２に供給する。
【００６６】
また、コントローラ２４は、第２の距離センサ１５による第２の距離情報の取得が完了すると、把持機構２１の移動を再開させる。コントローラ２４は、把持機構２１を仕分先に対応する位置まで移動させ、把持機構２１による物品３の把持を解除するように把持機構２１を制御することにより、物品３を仕分先に降ろす（ステップＳ２７）。また、コントローラ２４は、１つの物品の仕分が完了したことを示す完了通知を情報処理装置１２に送信する。さらに、コントローラ２４は、ステップＳ２１の処理に移行し、アーム機構２２及び把持機構２１を第１の距離センサ１４の画角外に移動させ、次の動作計画の受信を待つ状態になる。
【００６７】
また、コントローラ２４は、把持機構２１による物品３の把持が正常に行われなかったと判断した場合（ステップＳ２５、ＮＯ）、把持が正常に行われなかったことを示すエラーを情報処理装置１２に送信し（ステップＳ２８）、ステップＳ２１の処理に移行する。
【００６８】
なお、ロボットアーム１１のコントローラ２４は、情報処理装置１２から終了指示が供給された場合、アーム機構２２及び把持機構２１を所定の位置に移動させ、図７の処理を終了する。
【００６９】
次に、情報処理装置１２による学習用データの生成について説明する。  
図８は、学習用データの生成に関する情報処理装置１２の動作について説明する為のフローチャートである。例えば、プロセッサ４３は、学習用データの生成に関する図８の処理を、図４のステップＳ１５の後段の処理として実行する。
【００７０】
プロセッサ４３は、第２の距離情報を第２の距離センサ１５から受信したか否か判断する（ステップＳ３１）。プロセッサ４３は、第２の距離情報を第２の距離センサ１５から受信したと判断した場合（ステップＳ３１、ＹＥＳ）、ロボットアーム１１により把持した物品３が落下したか否か判断する（ステップＳ３２）。即ち、プロセッサ４３は、第２の距離センサ１５により第２の距離情報を取得した対象の物品３が、ロボットアーム１１によって仕分先に降ろされたか否か判断する。例えば、プロセッサ４３は、ロボットアーム１１のコントローラ２４から、完了通知を受信した場合、物品３が、ロボットアーム１１によって仕分先に降ろされたと判断する。また、プロセッサ４３は、ロボットアーム１１のコントローラ２４から、エラーを受信した場合、物品３が、ロボットアーム１１によって仕分先に降ろされず、途中で落下したと判断する。プロセッサ４３は、ロボットアーム１１により把持した物品３が落下したと判断した場合（ステップＳ３２、ＹＥＳ）、図８の処理を終了する。
【００７１】
プロセッサ４３は、ロボットアーム１１により把持した物品３が落下していないと判断した場合（ステップＳ３２、ＮＯ）、第２の距離情報に基づいて、マスク画像を生成する（ステップＳ３３）。
【００７２】
図９乃至図１１は、第２の距離情報に基づいて、マスク画像を生成する処理について説明する為の説明図である。図９は、第２の距離情報６１の例を示す。図１０は、物品画像５１上における物品領域の例を示す。第２の距離情報６１の例を示す。図１１は、第２の距離情報に基づいて生成されたマスク画像の例を示す。
【００７３】
図９における太線は、第２の距離センサ１５により測距された物品３の表面形状に相当する。第２の距離センサ１５は、第２の距離センサ１５が配置されている基準点Ｏ（ｘ＝０，ｙ＝０）を固定し、測距方向を水平方向に走査させる。これにより、第２の距離センサ１５は、対象物である物品３の二辺と第２の距離センサ１５との距離を測定し、測定結果を生成する。測定結果は、二次元状に配列された座標毎の基準点Ｏ（ｘ＝０，ｙ＝０）との距離を示す情報である。
【００７４】
図９の例によると、第２の距離センサ１５は、点Ｐ（ｘ＝ｓｘ１，ｙ＝ｓｙ１）から、点Ｑ（ｘ＝ｅｘ１，ｙ＝ｅｙ１）に亘って、基準点Ｏ（ｘ＝０，ｙ＝０）との距離を測定する。また、第２の距離センサ１５は、点Ｒ（ｘ＝ｓｘ２，ｙ＝ｓｙ２）から、点Ｑ（ｘ＝ｅｘ１，ｙ＝ｅｙ１）に亘って、基準点Ｏ（ｘ＝０，ｙ＝０）との距離を測定する。これにより、第２の距離センサ１５は、物品３の第２の距離センサ１５と対向する面の表面と、第２の距離センサ１５との距離を測定し、第２の距離情報６１を生成することができる。
【００７５】
プロセッサ４３は、第２の距離情報６１に基づき、物品３の第２の距離センサ１５と対向する面の表面形状を推定する。推定結果は、図９における太線に相当する。さらに、プロセッサ４３は、物品３の第２の距離センサ１５と対向する面の表面形状の推定結果に基づいて、物品３の第２の距離センサ１５と対向していない面の表面形状を推定する。即ち、プロセッサ４３は、第２の距離情報６１に基づいて、物品３の外形寸法を算出することができる。
【００７６】
プロセッサ４３は、点Ｐと点Ｑとの差分に基づいて、物品３の水平方向と平行なある方向（ここでは幅方向と称する）の寸法を算出する。また、プロセッサ４３は、点Ｒと点Ｑとの差分に基づいて、物品３の水平方向と平行である、幅方向と直交する方向（ここでは奥行方向と称する）の寸法を算出する。プロセッサ４３は、物品３の幅方向及び奥行方向の寸法と、点Ｐ及び点Ｑの座標とに基づいて、物品３の第２の距離センサ１５と対向していない２つの面が切り替わる点である点Ｓ（ｘ＝ｅｘ２，ｙ＝ｅｙ２）の座標を算出する。
【００７７】
プロセッサ４３は、点Ｐ、点Ｑ、点Ｒ、及び点Ｓの座標に基づいて、図１０に示される物品画像５１上における物品領域７１の位置を算出する。具体的には、プロセッサ４３は、第１の距離センサ１４の位置及び第２の距離センサ１５の位置に基づいて、第２の距離センサ１５に対する位置を示す点Ｐ、点Ｑ、点Ｒ、及び点Ｓを、第１の距離センサ１４により取得した物品画像５１上の座標にそれぞれ変換する。プロセッサ４３は、点Ｐを物品画像５１上の座標である点Ｐ´に変換する。プロセッサ４３は、点Ｑを物品画像５１上の座標である点Ｑ´に変換する。プロセッサ４３は、点Ｒを物品画像５１上の座標である点Ｒ´に変換する。プロセッサ４３は、点Ｓを物品画像５１上の座標である点Ｓ´に変換する。
【００７８】
プロセッサ４３は、点Ｐ´、点Ｑ´、点Ｒ´、及び点Ｓ´の座標に基づいて、図１１に示されるマスク画像８１を生成する。マスク画像８１は、物品画像５１における物品領域７１の位置を示す画像である。即ち、マスク画像８１は、物品画像５１を問題とする学習用データの答えに相当する情報である。たとえば、マスク画像は、物品領域７１に相当する座標の画素値が「１」であり、その他の領域の画素値が「０」である二値画像として構成されている。即ち、プロセッサ４３は、第２の距離情報６１に基づいて、物品３の外形寸法を算出し、算出した外形寸法に基づいて、マスク画像８１を生成することができる。なお、マスク画像８１は、このような構成に限定されるものではなく、物品領域７１とその他の領域とを区別可能な構成であれば如何なる構成であってもよい。
【００７９】
プロセッサ４３は、図４のステップＳ１１で取得した物品画像５１と、図８のステップＳ３３で生成したマスク画像８１とに基づいて学習用データを生成する（ステップＳ３４）。即ち、プロセッサ４３は、物品画像５１を問題とし、マスク画像８１を答えとした学習用データを生成する。制御部４２は、生成した学習用データをストレージ装置１６に送信して保存させ（ステップＳ３５）、処理を終了する。これにより、学習装置１７は、ストレージ装置１６に記憶された学習用データを用いて、機械学習を行い、画像認識パラメータを更新することができる。
【００８０】
上記したように、情報処理装置１２は、所定範囲に置かれた物品３を把持するロボットアーム１１に、ピッキング位置を供給する装置であり、通信インタフェース４１と、プロセッサ４３とを備える。通信インタフェース４１は、所定範囲に置かれた物品３の画像である物品画像と、ロボットアーム１１により把持され持ち上げられた物品３との距離を示す距離情報（第２の距離情報）と、を取得する。プロセッサ４３は、距離情報に基づいて、物品画像上における物品３の位置を示すマスク画像を生成する。これにより、物品画像を問題とし、マスク画像を答えとした学習用データを、人手を介さず容易に生成することができる。これにより、大量の学習用データを生成することができる。
【００８１】
また、プロセッサ４３は、物品画像と、予め設定された画像認識パラメータとに基づいて、物品画像上において、物品３が存在する物品領域を認識し、物品領域に基づいて、ピッキング位置を生成し、ロボットアーム１１にピッキング位置を動作計画として供給する。ロボットアーム１１は、供給された動作計画に基づいて、物品３の把持及び持ち上げを行う。距離情報は、この時の物品３との距離を示す情報である。プロセッサ４３は、この距離情報に基づいて、物品画像上における物品３の位置を示すマスク画像し、物品画像とマスク画像とを対応付けて、画像認識パラメータを更新する為の学習用データを生成する。これにより、画像認識パラメータを更新する為の大量の学習用データを生成することができる。
【００８２】
また、距離情報は、第２の距離センサ１５が取得するものである。第２の距離センサ１５は、物品画像を取得したカメラ（第１の距離センサ１４）のレンズの光軸と直交する方向における、自身と物品３との距離を測定する。即ち、距離情報は、第１の距離センサ１４のレンズの光軸と直交する方向における、第２の距離センサ１５と物品３との距離を示す情報である。この構成によると、第２の距離センサ１５は、ロボットアーム１１により持ち上げられた物品３との距離を、第１の距離センサ１４のレンズの光軸と直交する方向から測定することができる。これにより、マスク画像の精度を向上させることができる。
【００８３】
また、第２の距離センサ１５は、ロボットアーム１１により、物品３が、第２の距離センサ１５の測距方向と角度を成す方向に移動した際に、自身と物品３との距離を測定する。具体的には、第２の距離センサ１５は、ロボットアーム１１により、物品３が、第１の距離センサ１４のレンズの光軸と略平行な方向に持ち上げられた際に、自身と物品３との距離を測定する。これにより、距離情報に基づき、物品画像上における物品３の位置を特定することが容易になる。
【００８４】
また、第１の距離センサ１４のレンズの光軸は、鉛直方向と平行であり、距離情報は、第２の距離センサ１５と物品との水平方向における距離を示す情報である。この構成により、距離情報に基づき、物品画像上における物品３の位置を特定することが容易になる。
【００８５】
なお、上記の実施形態では、プロセッサ４３は、物品３の第２の距離センサ１５と対向する面の表面形状の推定結果に基づいて、物品３の第２の距離センサ１５と対向していない面の表面形状を推定すると説明したが、この構成に限定されない。ピッキングシステム１は、第２の距離センサ１５を２つ以上備える構成であってもよい。２つ以上の第２の距離センサ１５は、例えば、かご車２が配置される位置を挟むように配置される。これにより、死角がなくなり、容易に物品３の表面形状及び位置を測定することができる。また、ロボットアーム１１は、物品３を鉛直方向に持ち上げた後、鉛直方向を回転軸とする方向に３６０度把持機構２１を回転させつつ、第２の距離センサ１５により第２の距離情報を取得してもよい。この構成によると、１つの第２の距離センサ１５によって、物品３の外周の表面形状及び位置を算出することができる。
【００８６】
また、上記の実施形態では、プロセッサ４３は、第２の距離センサ１５により取得した第２の距離情報に基づいて生成したマスク画像を、物品画像と対応付けて学習用データを生成すると説明した。しかし、プロセッサ４３は、マスク画像を学習用データの生成に採用するか否かを判断してもよい。
【００８７】
図１２は、学習用データの生成に関する情報処理装置１２の動作の他の例について説明する為のフローチャートである。例えば、プロセッサ４３は、学習用データの生成に関する図１２の処理を、図４のステップＳ１５の後段の処理として実行する。
【００８８】
プロセッサ４３は、第２の距離情報を第２の距離センサ１５から受信したか否か判断する（ステップＳ４１）。プロセッサ４３は、第２の距離情報を第２の距離センサ１５から受信したと判断した場合（ステップＳ４１、ＹＥＳ）、ロボットアーム１１により把持した物品３が落下したか否か判断する（ステップＳ４２）。即ち、プロセッサ４３は、第２の距離センサ１５により第２の距離情報を取得した対象の物品３が、ロボットアーム１１によって仕分先に降ろされたか否か判断する。例えば、プロセッサ４３は、ロボットアーム１１のコントローラ２４から、完了通知を受信した場合、物品３が、ロボットアーム１１によって仕分先に降ろされたと判断する。また、プロセッサ４３は、ロボットアーム１１のコントローラ２４から、エラーを受信した場合、物品３が、ロボットアーム１１によって仕分先に降ろされず、途中で落下したと判断する。プロセッサ４３は、ロボットアーム１１により把持した物品３が落下したと判断した場合（ステップＳ４２、ＹＥＳ）、図１２の処理を終了する。
【００８９】
プロセッサ４３は、ロボットアーム１１により把持した物品３が落下していないと判断した場合（ステップＳ４２、ＮＯ）、第２の距離情報に基づいて、マスク画像を生成する（ステップＳ４３）。マスク画像の生成方法は、図９乃至図１１で説明した方法と同様であるため、説明を省略する。
【００９０】
プロセッサ４３は、図４のステップＳ１１で取得した物品画像５１と、図１２のステップＳ４３で生成したマスク画像８１とに基づいて、図１３に示す確認画面９１を生成し、出力する（ステップＳ４４）。
【００９１】
確認画面９１は、操作端末１３のディスプレイ３６に表示される画面である。確認画面９１には、マスク画像８１を学習用データの生成に採用するか否かを、オペレータが判断する際に用いられる情報が表示される。即ち、確認画面９１に表示される情報は、オペレータの判断の参考に用いられる参考情報である。確認画面９１は、物品画像５１、マスク画像８１、採用ボタン９２、及び不採用ボタン９３などの表示を有する。
【００９２】
物品画像５１は、図４のステップＳ１１で取得した物品画像５１である。マスク画像８１は、図１２のステップＳ４３で生成したマスク画像８１である。
【００９３】
採用ボタン９２及び不採用ボタン９３は、タッチセンサ３７により選択可能なボタンである。オペレータは、確認画面９１の参考情報を確認し、マスク画像８１を採用するか否か判断し、採用ボタン９２と不採用ボタン９３とのいずれかを選択する。
【００９４】
プロセッサ４３は、採用ボタン９２と不採用ボタン９３との選択結果に基づいて、マスク画像８１を採用するか否か判断する（ステップＳ４５）。
【００９５】
プロセッサ４３は、オペレータにより不採用ボタン９３が選択された場合（ステップＳ４５、ＮＯ）、図１２の処理を終了する。
【００９６】
また、プロセッサ４３は、オペレータにより採用ボタン９２が選択された場合（ステップＳ４５、ＹＥＳ）、図４のステップＳ１１で取得した物品画像５１と、図１２のステップＳ４３で生成したマスク画像８１とに基づいて学習用データを生成する（ステップＳ４６）。即ち、プロセッサ４３は、物品画像５１を問題とし、マスク画像８１を答えとした学習用データを生成する。制御部４２は、生成した学習用データをストレージ装置１６に送信して保存させ（ステップＳ４７）、処理を終了する。
【００９７】
上記したように、プロセッサ４３は、物品画像５１とマスク画像８１とを確認したオペレータによる操作入力に基づいて、マスク画像８１を学習用データの生成に採用するか否か判断する。これにより、学習用データの答えとして適していないマスク画像が採用されることを防ぐことができる。
【００９８】
なお、上記の例では、プロセッサ４３は、物品画像５１とマスク画像８１とをそれぞれ確認画面９１に表示させると説明したが、この構成に限定されない。プロセッサ４３は、物品画像５１にマスク画像８１を重ねた確認用の画像を生成し、確認画面９１に表示させてもよい。
【００９９】
また、例えば、プロセッサ４３は、図４のステップＳ１２で、物品画像５１に基づいて認識した物品領域の位置と、マスク画像８１における物品領域の位置とを比較し、比較結果に基づく情報を確認画面９１に表示させてもよい。例えば、プロセッサ４３は、物品画像５１に基づいて認識した物品領域の位置と、マスク画像８１における物品領域の位置との差が、予め設定された閾値以上である場合、アラートを確認画面９１に表示させてもよい。
【０１００】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０１】
１…ピッキングシステム、１１…ロボットアーム、１２…情報処理装置、１３…操作端末、１４…第１の距離センサ、１５…第２の距離センサ、１６…ストレージ装置、１７…学習装置、１８…ネットワーク、２１…把持機構、２２…アーム機構、２３…力覚センサ、２４…コントローラ、３１…通信インタフェース、３２…制御部、３３…タッチパネル、３４…プロセッサ、３５…メモリ、３６…ディスプレイ、３７…タッチセンサ、４１…通信インタフェース、４２…制御部、４３…プロセッサ、４４…メモリ。
【図１】
2020040193.tif 000003
【図２】
2020040193.tif 000004
【図３】
2020040193.tif 000005
【図４】
2020040193.tif 000006
【図５】
2020040193.tif 000007
【図６】
2020040193.tif 000008
【図７】
2020040193.tif 000009
【図８】
2020040193.tif 000010
【図９】
2020040193.tif 000011
【図１０】
2020040193.tif 000012
【図１１】
2020040193.tif 000013
【図１２】
2020040193.tif 000014
【図１３】
2020040193.tif 000015