(57)【要約】【課題】  効率的に荷降ろしが可能な情報処理装置、情報処理プログラム、及び仕分システムを提供する。【解決手段】  実施形態に係る情報処理装置は、制御部を具備する。制御部は、前記所定範囲から距離センサが取得したデータに基づいて、前記かご車に積載された前記物品の外観を示す荷姿データを生成し、前記かご車に複数の前記物品が積載された際の前記物品毎の位置及び形状を示す積載情報に基づいて、前記物品の前記かご車への積載時の状態を示す積載パターンを生成し、前記積載パターンと前記荷姿データとに基づき、他の物品との相対的な位置が積載時から変わった物品を特定し、前記積載パターンに基づき、他の物品との相対的な位置が積載時から変わっていない物品に対する前記動作計画を生成し、前記荷姿データに基づき、他の物品との相対的な位置が積載時から変わった物品に対する前記動作計画を生成する。【選択図】図４
2019199335.tif 000002
【特許請求の範囲】
【請求項１】
所定範囲に置かれたかご車に積載された物品を把持する把持機構と、動作計画に基づいて前記把持機構を移動させるアーム機構とを有するロボットアームに、前記動作計画を供給する情報処理装置であって、
前記動作計画を生成し、前記動作計画を前記ロボットアームに供給する制御部を具備し、
前記制御部は、
前記所定範囲から距離センサが取得したデータに基づいて、前記かご車に積載された前記物品の外観を示す荷姿データを生成し、
前記かご車に複数の前記物品が積載された際の前記物品毎の位置及び形状を示す積載情報に基づいて、前記物品の前記かご車への積載時の状態を示す積載パターンを生成し、
前記積載パターンと前記荷姿データとに基づき、他の物品との相対的な位置が積載時から変わった物品を特定し、
前記積載パターンに基づき、他の物品との相対的な位置が積載時から変わっていない物品に対する前記動作計画を生成し、
前記荷姿データに基づき、他の物品との相対的な位置が積載時から変わった物品に対する前記動作計画を生成する、
情報処理装置。
【請求項２】
前記制御部は、
前記積載パターンと前記荷姿データとを位置及び姿勢を合わせて重ね、前記積載パターンを構成する複数の前記物品毎の領域を特定し、前記領域に前記荷姿データが含まれていない前記物品を、他の物品との相対的な位置が積載時から変わった物品であると特定する請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、
移動した前記物品を前記積載パターンから除外し、
前記荷姿データから、移動した前記物品を除外した前記積載パターンを除外して、移動した前記物品の前記荷姿データを抽出する請求項１または２に記載の情報処理装置。
【請求項４】
所定範囲に置かれたかご車に積載された物品を把持する把持機構と、動作計画に基づいて前記把持機構を移動させるアーム機構とを有するロボットアームに、前記動作計画を供給する情報処理装置において実行される情報処理プログラムであって、
前記情報処理装置に
前記所定範囲から距離センサが取得したデータに基づいて、前記かご車に積載された前記物品の外観を示す荷姿データを生成することと、
前記かご車に複数の前記物品が積載された際の前記物品毎の位置及び形状を示す積載情報に基づいて、前記物品の前記かご車への積載時の状態を示す積載パターンを生成することと、
前記積載パターンと前記荷姿データとに基づき、他の物品との相対的な位置が積載時から変わった物品を特定することと、
前記積載パターンに基づき、他の物品との相対的な位置が積載時から変わっていない物品に対する前記動作計画を生成することと、
前記荷姿データに基づき、他の物品との相対的な位置が積載時から変わった物品に対する前記動作計画を生成することと、
を実行させる情報処理プログラム。
【請求項５】
ロボットアームと、前記ロボットアームに動作計画を供給する情報処理装置とを具備する仕分システムであって、
前記ロボットアームは、
所定範囲に置かれたかご車に積載された物品を把持する把持機構と、
動作計画に基づいて前記把持機構を移動させるアーム機構と、
を具備し、
前記情報処理装置は、
前記所定範囲から距離センサが取得したデータに基づいて、前記かご車に積載された前記物品の外観を示す荷姿データを生成し、前記かご車に複数の前記物品が積載された際の前記物品毎の位置及び形状を示す積載情報に基づいて、前記物品の前記かご車への積載時の状態を示す積載パターンを生成し、前記積載パターンと前記荷姿データとに基づき、他の物品との相対的な位置が積載時から変わった物品を特定し、前記積載パターンに基づき、他の物品との相対的な位置が積載時から変わっていない物品に対する前記動作計画を生成し、前記荷姿データに基づき、他の物品との相対的な位置が積載時から変わった物品に対する前記動作計画を生成する仕分システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理プログラム、及び仕分システムに関する。
【背景技術】
【０００２】
小包などの物品（荷物）を配送する仕分システムでは、収集した荷物を配送先ごとに仕分ける作業が必要となる。仕分システムは、物品を把持する把持機構と、把持機構を移動させるアーム機構とを有するロボットアームと、ロボットアームの動作を制御するロボットアーム制御装置と、ロボットアーム制御装置に動作を指示する情報処理装置とを備える。例えば、仕分システムは、かご車に物品を積載する際に用いられる。また、例えば、仕分システムは、かご車から物品を降ろす荷降ろしにも用いられる。
【０００３】
荷降ろし用の仕分システムの情報処理装置は、かご車に積載された物品を、ロボットアームに把持させる為に、ロボットアームにより物品を把持させる位置であるピッキング位置を決定し、ピッキング位置をロボットアーム制御装置に供給する。
【０００４】
また、情報処理装置は、ピッキング位置を決定する為に、積載された物品の位置及び外形寸法（形状）を認識する。例えば、情報処理装置は、かご車に物品が積載された際に生成された情報（積載情報）に基づいて、積載された各物品の位置及び形状を認識し、ピッキング位置を決定する。
【０００５】
積載情報は、例えば、積載された各物品の位置及び形状を示す情報である。積載情報は、積載側の仕分システムによって、かご車に物品が積載される際に、かご車毎に生成される。例えば、積載情報は、かご車に積載される物品の形状と、この物品が積載された位置とに基づいて生成される。
【０００６】
しかしながら、かご車の輸送中に、かご車に積載された物品が移動することが想定される。このような場合、ピッキング位置を決定する為に用いる情報が、積載情報だけでは不十分であるという課題がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１７−１９５８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明が解決しようとする課題は、効率的に荷降ろしが可能な情報処理装置、情報処理プログラム、及び仕分システムを提供することである。
【課題を解決するための手段】
【０００９】
実施形態に係る情報処理装置は、所定範囲に置かれたかご車に積載された物品を把持する把持機構と、動作計画に基づいて前記把持機構を移動させるアーム機構とを有するロボットアームに、前記動作計画を供給する情報処理装置であって、前記動作計画を生成し、前記動作計画を前記ロボットアームに供給する制御部を具備する。制御部は、前記所定範囲から距離センサが取得したデータに基づいて、前記かご車に積載された前記物品の外観を示す荷姿データを生成し、前記かご車に複数の前記物品が積載された際の前記物品毎の位置及び形状を示す積載情報に基づいて、前記物品の前記かご車への積載時の状態を示す積載パターンを生成し、前記積載パターンと前記荷姿データとに基づき、他の物品との相対的な位置が積載時から変わった物品を特定し、前記積載パターンに基づき、他の物品との相対的な位置が積載時から変わっていない物品に対する前記動作計画を生成し、前記荷姿データに基づき、他の物品との相対的な位置が積載時から変わった物品に対する前記動作計画を生成する。
【図面の簡単な説明】
【００１０】
【図１】図１は、一実施形態に係る仕分システムの概略的な構成例について説明する為の説明図である。
【図２】図２は、一実施形態に係る情報処理装置の構成例について説明する為の説明図である。
【図３】図３は、一実施形態に係るロボットアームの動作の例について説明する為のフローチャートである。
【図４】図４は、一実施形態に係る情報処理装置の動作の例について説明する為のフローチャートである。
【図５】図５は、一実施形態に係る情報処理装置の動作の例について説明する為のフローチャートである。
【図６】図６は、積載パターン及び荷姿データに基づく処理について説明する為の説明図である。
【図７】図７は、積載パターン及び荷姿データに基づく処理について説明する為の説明図である。
【図８】図８は、積載パターン及び荷姿データに基づく処理について説明する為の説明図である。
【発明を実施するための形態】
【００１１】
以下、実施形態について、図面を参照して説明する。  
図１は、一実施形態に係る仕分システム１の概略的な構成例について説明する為の説明図である。
【００１２】
仕分システム１は、かご車２に積載された仕分対象である物品３を所定の仕分先に仕分けるシステムである。
【００１３】
かご車２は、物品３を収容する収容部とキャスターとが組み合わされた容器である。なお、かご車２は、仕分対象の物品３が積載される容器の一例であり、荷台、またはパレットなど、物品３を積載することができるものであれば如何なるものであってもよい。かご車２には、かご車２を特定する為の識別情報が記憶された無線タグ４が設けられている。無線タグ４は、例えば、ＲＦＩＤリーダと無線通信を行うＲＦＩＤタグである。
【００１４】
物品３の仕分先は、例えばベルトコンベア５である。なお、仕分先は、ベルトコンベア５に限定されるものではなく、仕分用のカゴであっても良いし、作業台などであっても良い。
【００１５】
仕分システム１は、距離センサ１１、タグリーダ１２、サーバ１３、操作端末１４、ロボットアーム１５、及び情報処理装置１６を備える。ロボットアーム１５、距離センサ１１、タグリーダ１２、サーバ１３、操作端末１４、ロボットアーム１５、及び情報処理装置１６は、ネットワーク１７を介して互いに通信可能に構成されている。
【００１６】
まず、距離センサ１１の構成について説明する。  
距離センサ１１は、対象物までの距離を計測するセンサである。距離センサ１１は、対象物と距離センサ１１との距離を示す距離画像を取得する。距離画像は、例えば、対象物と距離センサ１１との距離を示す点が配列された点群を有するデータである。具体的には、距離画像は、互いに直交する三次元空間における点の集合である。言い換えると、距離画像は、二次元状に配列された複数の点毎の、距離センサ１１との距離を示す距離値の集合（点群データ）である。距離センサ１１は、距離画像を、ネットワーク１７を介して情報処理装置１６に供給する。
【００１７】
距離センサ１１は、例えば異なる２点（瞳位置）から対象物を撮像した際の視差に基づいて対象物までの距離を計測するステレオカメラである。即ち、距離センサ１１は、レンズと、レンズにより結像された光を画像に変換する撮像素子とが組み合わされたカメラを２つ以上備える。このような構成により、距離センサ１１は、上記の距離画像と同時に、色情報を有する座標（画素）が二次元的に配列されたラスタ画像（画像データ）を取得する。なお、ラスタ画像は、カラー画像であっても単色画像であってもよい。距離センサ１１は、ラスタ画像を、ネットワーク１７を介して情報処理装置１６に供給する。
【００１８】
距離センサ１１のレンズは、ロボットアーム１５により持ち上げられる物品３が積載されたかご車２を含む領域を撮影することができるように画角が調整されている。例えば、距離センサ１１のレンズは、光軸がかご車２の底面に対向するように調整される。例えば、距離センサ１１のレンズは、距離センサ１１のレンズの光軸と、鉛直方向とが平行になるように調整される。即ち、距離センサ１１は、かご車２の底面に対向する方向から、かご車２を含む所定範囲を撮像し、距離画像、及びラスタ画像を取得する。なお、かご車２を含む所定範囲の画像をかご車画像と称する。本実施形態では、かご車画像は距離画像であると仮定して説明する。即ち、かご車画像と点群データとは同義である。
【００１９】
なお、距離センサ１１は、対象物からの光を分光し、撮像素子の異なる位置に入射させる構成であってもよい。また、距離センサ１１は、レーザによる１次元スキャナであってもよい。
【００２０】
次に、タグリーダ１２について説明する。  
タグリーダ１２は、距離センサ１１の撮像範囲のかご車２に取り付けられた無線タグ４と通信を行う装置である。タグリーダ１２は、例えばRadio Frequency IDentification（ＲＦＩＤ）の通信方式を用いて無線タグ４と通信するＲＦＩＤリーダである。タグリーダ１２は、例えばＩＳＯ  １８０００‐６３規格で定められた通信方式を用いて無線タグ４と通信する。また、タグリーダ１２は、ＩＥＥＥ（アイトリプルイー）８０２．１５．４ｇ規格で定められた通信方式など、他の通信方式を用いて無線タグ４と通信する構成であってもよい。
【００２１】
タグリーダ１２は、電磁波を出力することによって、無線タグ４と通信を行う。タグリーダ１２は、アンテナ及び信号処理回路を備える。アンテナは、電磁波を送受信するアンテナである。信号処理回路は、アンテナから出力する電磁波を変調することにより、他の機器にデータを送信する。また、信号処理回路は、アンテナが受信した電磁波に基づいて、他の機器が送信したデータを復調する。
【００２２】
タグリーダ１２は、かご車２の識別情報を読み取る為のコマンドを無線タグ４に送信する。無線タグ４は、このコマンドを受信した場合、識別情報を含むレスポンスをタグリーダ１２に送信する。タグリーダ１２は、レスポンスを受信し、かご車２の識別情報を取得する。タグリーダ１２は、取得した識別情報を情報処理装置１６に供給する。
【００２３】
次に、サーバ１３について説明する。  
サーバ１３は、プロセッサ、メモリ、ストレージ、及び通信インタフェースなどを備える装置である。サーバ１３のストレージには、複数の積載情報が記憶されたデータベースが記憶されている。積載情報は、かご車２に積載された複数の物品３の位置及び形状を示す情報である。積載情報は、積載側の仕分システムによって、かご車２に物品３が積載される際に、かご車２毎に生成され、データベースに登録される。
【００２４】
次に、操作端末１４について説明する。  
操作端末１４は、操作に基づく情報を情報処理装置１６に供給する装置である。即ち、操作端末１４は、情報処理装置１６の操作インタフェースとして機能する。操作端末１４以外の他の機器と通信する為の通信インタフェース、種々の処理を実行する制御部、及び画面の表示と操作に基づく操作信号の生成とを行うタッチパネルなどを備える。また、操作端末１４は、タッチパネルの代わりにディスプレイと、キーボードまたはマウスなどの操作部とを備える構成であってもよい。
【００２５】
次に、ロボットアーム１５の構成について説明する。  
ロボットアーム１５は、かご車２に積載された物品３を把持し、把持した物品３を仕分先に移動させる装置である。ロボットアーム１５は、把持機構２１、アーム機構２２、状態検出センサ２３、及びコントローラ２４を備える。
【００２６】
把持機構２１は、物品３を把持する機構である把持機構２１は、アーム機構２２の端部（最終リンク）にネジなどにより固定される。即ち、把持機構２１は、アーム機構２２の動作によって任意の姿勢で移動される。
【００２７】
把持機構２１は、例えば、物品３に吸着する吸着パッドを備える。吸着パッドは、吸着パッドが物品３の表面に接した状態で、コントローラ２４の制御によりパッド内が負圧になった場合、物品３の表面に吸着（真空吸着）する。この結果、把持機構２１は、物品３を把持することができる。
【００２８】
また、把持機構２１は、例えば、２点以上の接点で物品３を挟むことにより、物品３を把持する複数の指部を備えるグリッパとして構成されていてもよい。グリッパは、複数の指と、複数の指を連結させる関節機構とを備える。グリッパは、コントローラ２４の制御により関節機構が動作し、関節機構の動作に連動して指が動作するように構成されている。グリッパは、複数の指により、対向する複数の方向から物品３に対して力を加える。この結果、把持機構２１は、指と物品３との間に生じる摩擦によって、物品３を把持することができる。
【００２９】
アーム機構２２は、把持機構２１を移動させる機構である。アーム機構２２は、複数のアームと、複数の関節機構（軸）とを備える。関節機構は、２つのアームを連結させる。また、関節機構は、コントローラ２４の制御により可動し、連結している２つのアームの相対的な角度を変化させる。即ち、関節機構の動作によって、アームが移動する。
【００３０】
状態検出センサ２３は、把持機構２１における種々の状態を検出するセンサである。状態検出センサ２３は、測定結果をコントローラ２４に供給する。状態検出センサ２３は、測定結果を示すアナログ信号を、アナログディジタル変換し、コントローラ２４に供給する。
【００３１】
状態検出センサ２３は、例えば、把持機構２１及び把持機構２１により把持された物品３に対して働く応力を検出する。状態検出センサ２３は、例えば、把持機構２１及び把持機構２１により把持された物品３に対して働く重力、慣性力、外力、及びモーメントを測定する。このような応力の測定結果に基づき、把持機構２１が物品３に接しているか否かを判断することが可能になる。
【００３２】
また、状態検出センサ２３は、例えば、把持機構２１の吸着パッド内の空気圧を検出する。例えば、物品３の表面の透気性が高い、表面が粗い、表面の曲率が大きい、または表面に凹凸があるなどの場合、吸着パッドと物品３の表面との間の漏れ流量によって、圧力の測定値が増加する。これは、真空吸着による把持力が低下していることを意味する。また、例えば、吸着パッドと物品３の表面とが密着し、漏れ流量がほとんどない場合、圧力の測定値が低下する。これは、真空吸着による把持力が増加していることを意味する。このように、空気圧の測定結果に基づき、真空吸着による把持力の増減を判断することが可能になる。
【００３３】
コントローラ２４は、情報処理装置１６から供給される動作計画に基づいて、把持機構２１及びアーム機構２２の動作を制御する。コントローラ２４は、例えば、メモリ（図示せず）と、メモリに記憶されたプログラムを実行することにより、把持機構２１及びアーム機構２２の動作を制御する演算素子（図示せず）とを備える。また、コントローラ２４は、シーケンサとして構成されていてもよい。
【００３４】
動作計画は、ピッキング位置を示すピッキング位置データと、軌跡とを含む情報である。
【００３５】
ピッキング位置データは、把持機構２１により物品３を把持させる位置を示す情報である。例えば、ピッキング位置データは、把持機構２１により物品３を把持させる場合に把持機構２１の基準点を移動させる位置を示す。より具体的には、ピッキング位置データは、把持機構２１の基準点の移動先を示す３次元空間上の座標である。なお、以下ピッキング位置データが示すピッキング位置を、単にピッキング位置と称する。
【００３６】
軌跡は、把持機構２１をピッキング位置まで移動させる際の経路を示す。より具体的には、軌跡は、把持機構２１の基準点の移動経路を示す３次元空間上の複数の座標である。なお、ピッキング位置は、軌跡に含まれていてもよい。
【００３７】
把持機構２１が吸着パッドとして構成されている場合、把持機構２１の基準点は、例えば、吸着パッドの中心である。なお、把持機構２１の基準点は、吸着パッドが設けられた面の任意の点であってもよい。また、把持機構２１がグリッパとして構成されている場合、把持機構２１の基準点は、例えば、グリッパを構成する複数の指機構の中心であってもよい。
【００３８】
コントローラ２４は、動作計画が示す軌跡を通り、動作計画のピッキング位置データが示すピッキング位置まで把持機構２１を移動するようにアーム機構２２を制御する。コントローラ２４は、動作計画が示すピッキング位置に把持機構２１が移動すると、物品３を把持するように把持機構２１を制御する。コントローラ２４は、把持機構２１により物品３を把持させると、把持機構２１を仕分先に応じた位置まで移動させ、把持機構２１による物品３の把持を解除する。これにより、仕分先に物品３が供給される。
【００３９】
コントローラ２４は、アーム機構２２の動作を制御する構成として、アーム機構２２の関節機構を動作させるモータ及びエンコーダなどを備える。
【００４０】
モータは、電力を駆動力に変換する駆動機構である。モータは、電力に応じて、駆動軸を回転させる。駆動軸は、図示されないギヤ及びベルトなどの機構を介して、アーム機構２２の関節機構に接続されている。即ち、モータの駆動軸の回転に応じて、アーム機構２２の関節機構が回転動作する。モータは、例えば、サーボモータである。また、モータは、ステッピングモータ、または超音波モータなどであってもよい。また、コントローラ２４は、モータではなく、空気圧または油圧などにより関節機構を駆動させる構成であってもよい。
【００４１】
エンコーダは、モータの駆動軸の回転量及び回転速度を検出する。コントローラ２４は、エンコーダで検出された回転量及び回転速度に基づいて、モータの駆動軸と連動する板の回転量及び回転速度を検出する。これにより、コントローラ２４は、アーム機構２２の最終リンクの位置、即ち把持機構２１の位置を認識する。
【００４２】
即ち、コントローラ２４は、把持機構２１の位置を認識しつつ、モータを動作させることにより、任意の位置に把持機構２１を移動させる。
【００４３】
また、コントローラ２４は、把持機構２１の動作を制御する構成として、真空発生器を備える。真空発生器は、吸着パッド内の空気を排出し、空気圧を低下させるポンプである。例えば、真空発生器は、吸着パッドが物品３の表面に密着した状態で、吸着パッド内の空気を排出させることにより、吸着パッドを物品の表面に真空吸着させる。
【００４４】
次に、情報処理装置１６の構成について説明する。  
図２は、情報処理装置１６の構成例について説明する為の説明図である。
【００４５】
情報処理装置１６は、ロボットアーム１５に動作計画を供給する装置である。情報処理装置１６は、パーソナルコンピュータ（ＰＣ）などの、データの処理及びデータの保存を行うことができる装置により構成される。情報処理装置１６は、通信インタフェース３１及び制御部３２を備える。
【００４６】
通信インタフェース３１は、情報処理装置１６以外の他の機器と通信する為のインタフェースである。通信インタフェース３１は、ネットワーク１７を介して距離センサ１１、タグリーダ１２、サーバ１３、操作端末１４、及びロボットアーム１５と通信する為の通信規格などに対応した端子及び回路を備える。通信インタフェース３１は、制御部３２の制御に基づいて、距離センサ１１、タグリーダ１２、サーバ１３、操作端末１４、及びロボットアーム１５などと通信する。
【００４７】
制御部３２は、種々の処理を実行する処理部である。制御部３２は、プロセッサ３３及びメモリ３４を備える。
【００４８】
プロセッサ３３は、演算処理を実行する演算素子である。プロセッサ３３は、例えばＣＰＵとして構成される。プロセッサ３３は、メモリ３４に記憶されているプログラムに基づいて種々の処理を行う。
【００４９】
メモリ３４は、プログラム及びデータを記憶する記憶装置である。メモリ３４は、例えば、読み出し専用の不揮発性メモリであるＲＯＭ、データを一時的に記憶するＲＡＭ、及びデータを記憶するストレージのいずれか、または複数を備える。
【００５０】
情報処理装置１６の制御部３２は、距離センサ１１からかご車画像を取得する。また、制御部３２は、タグリーダ１２から、かご車２の識別情報を取得する。制御部３２は、取得した識別情報に対応する積載情報をサーバ１３から取得する。制御部３２は、かご車画像と積載情報とに基づき、ピッキング位置を決定する。さらに、制御部３２は、ピッキング位置までのロボットアーム１５の把持機構２１の移動経路である軌跡を決定する。制御部３２は、ピッキング位置及び軌跡に基づき、動作計画を生成し、ロボットアーム１５に供給する。
【００５１】
次に、ロボットアーム１５の動作について説明する。  
図３は、ロボットアーム１５の動作について説明する為のフローチャートである。
【００５２】
ロボットアーム１５のコントローラ２４は、アーム機構２２及び把持機構２１を距離センサ１１の画角外の初期位置に移動させる（ステップＳ１１）。距離センサ１１は、アーム機構２２及び把持機構２１を撮影範囲外に移動したタイミングでかご車画像（点群データ）を取得し、情報処理装置１６に供給する。また、タグリーダ１２は、距離センサ１１の撮像範囲に配置されたかご車２の無線タグ４から、かご車２の識別情報を取得し、情報処理装置１６に供給する。
【００５３】
コントローラ２４は、アーム機構２２及び把持機構２１を撮影範囲外に移動させると、情報処理装置１６から動作計画が供給されるのを待つ（ステップＳ１２）。
【００５４】
コントローラ２４は、情報処理装置１６から動作計画が供給された場合（ステップＳ１２、ＹＥＳ）、動作計画に基づき把持機構２１を移動させる（ステップＳ１３）。上記の様に、コントローラ２４は、動作計画が示す軌跡に基づき、動作計画が示すピックアップ位置まで把持機構２１を移動させるように、アーム機構２２を制御する。
【００５５】
コントローラ２４は、把持機構２１がピックアップ位置に到達したか否か判断する（ステップＳ１４）。例えば、コントローラ２４は、アーム機構２２を動作させるモータに対応するエンコーダの検出結果に基づいて、アーム機構２２の最終リンクに取り付けられた把持機構２１の位置を認識し、把持機構２１がピックアップ位置に到達したか否か判断する。また、コントローラ２４は、状態検出センサ２３の検出結果に基づいて、把持機構２１がピックアップ位置に到達したか否か判断してもよい。この場合、コントローラ２４は、状態検出センサ２３から、把持機構２１が物品３の表面に接したことが推定される検出結果が得られた場合、把持機構２１がピックアップ位置に到達したと判断する。コントローラ２４は、例えば、所定時間以内に把持機構２１がピックアップ位置に到達したか否か判断する。
【００５６】
コントローラ２４は、把持機構２１がピックアップ位置に到達したと判断した場合（ステップＳ１４、ＹＥＳ）、把持機構２１により物品３を把持させる（ステップＳ１５）。例えば把持機構２１が吸着パッドとして構成されている場合、コントローラ２４は、吸着パッドが物品３の表面に密着した状態で、吸着パッド内を負圧にさせることにより、把持機構２１に物品３を真空吸着させる。また例えば、把持機構２１がグリッパとして構成されている場合、コントローラ２４は、グリッパの指により物品３を挟ませることにより、把持機構２１に物品３を把持させる。
【００５７】
コントローラ２４は、把持機構２１による物品３の把持が成功したか否か判断する（ステップＳ１６）。例えば、コントローラ２４は、状態検出センサ２３による吸着パッド内の空気圧の検出結果に基づいて、物品３の把持が成功したか否か判断する。即ち、コントローラ２４は、空気圧の検出結果が負圧（大気圧未満の圧力）である場合、物品３の把持が成功したと判断する。また、例えば、コントローラ２４は、状態検出センサ２３による把持機構２１への応力の検出結果に基づいて、物品３の把持が成功したか否か判断してもよい。即ち、コントローラ２４は、物品３の重さにより生じる応力が状態検出センサ２３により検出されている場合、物品３の把持が成功したと判断する。
【００５８】
コントローラ２４は、把持機構２１による物品３の把持が成功したと判断した場合（ステップＳ１６、ＹＥＳ）、物品３を把持した把持機構２１を仕分先に応じたベルトコンベア５に対応した位置まで移動させるように、アーム機構２２を制御する（ステップＳ１７）。
【００５９】
コントローラ２４は、把持機構２１を仕分先に応じたベルトコンベア５に対応した位置まで移動させると、把持機構２１による物品３の把持を解除するように把持機構２１を制御し（ステップＳ１８）、１つの物品の仕分が完了したことを示す完了通知を情報処理装置１６に送信し、ステップＳ１１の処理に移行する。これにより、把持機構２１から離れた物品３が、仕分先のベルトコンベア５に投入される。さらに、コントローラ２４は、アーム機構２２及び把持機構２１を距離センサ１１の画角外に移動させ、次の動作計画の受信を待つ状態になる。
【００６０】
また、コントローラ２４は、ステップＳ１６において、把持機構２１による物品３の把持が成功しなかったと判断した場合（ステップＳ１６、ＮＯ）、またはステップＳ１４において、把持機構２１がピックアップ位置に所定時間以内に到達しなかったと判断した場合（ステップＳ１４、ＮＯ）、アーム機構２２の動作を停止させ（ステップＳ１９）、エラーを情報処理装置１６に送信し（ステップＳ２０）、ステップＳ１１の処理に移行する。
【００６１】
なお、ロボットアーム１５のコントローラ２４は、情報処理装置１６から終了指示が供給された場合、アーム機構２２及び把持機構２１を所定の位置に移動させ、図３の処理を終了する。
【００６２】
次に、情報処理装置１６の動作について説明する。  
図４及び５は、情報処理装置１６の動作について説明する為のフローチャートである。
【００６３】
情報処理装置１６の制御部３２は、距離センサ１１からかご車画像が供給されるのを待つ（ステップＳ２１）。かご車画像には、かご車２及びかご車２内に積載された複数の物品３の表面と、距離センサ１１との距離を示す情報が含まれている。即ち、距離センサ１１が設置されている高さ、距離センサ１１に用いられているレンズの焦点距離、及び距離センサ１１に用いられている撮像素子の寸法が既知である場合、かご車画像に基づき、物品３の形状及び位置が算出可能である。
【００６４】
制御部３２は、距離センサ１１からかご車画像が供給された場合（ステップＳ２１、ＹＥＳ）、かご車２内が空であるか否か判断する（ステップＳ２２）。即ち、制御部３２は、かご車２に物品３が搭載されているか否か判断する。例えば、制御部３２は、かご車２の底面の全体がかご車画像に写っている場合、かご車２内が空であると判断する。
【００６５】
制御部３２は、距離センサ１１からかご車画像が供給されない場合（ステップＳ２１、ＮＯ）、またはかご車２内が空であると判断した場合（ステップＳ２２、ＮＯ）、ステップＳ２１の処理に移行する。なお、制御部３２は、かご車２内が空であると判断した場合（ステップＳ２２、ＮＯ）、ロボットアーム１５に終了指示を送信してもよい。
【００６６】
制御部３２は、かご車２内に物品３が積載されていると判断した場合（ステップＳ２２、ＹＥＳ）、タグリーダ１２からかご車２の識別情報を取得する（ステップＳ２３）。
【００６７】
制御部３２は、取得した識別情報に対応する積載情報をサーバ１３から取得する（ステップＳ２４）。
【００６８】
制御部３２は、取得した積載情報に基づいて、積載パターン（load pattern）を生成する（ステップＳ２５）。また、制御部３２は、かご車画像に基づいて、かご車２に積載された物品３の外観を示す荷姿（load appearance）データを生成する（ステップＳ２６）。
【００６９】
図６乃至図８は、積載パターン４１及び荷姿データ４２に基づく制御部３２による処理について説明する為の説明図である。図６は、積載パターン４１、荷姿データ４２、及び積載パターン４１と荷姿データ４２との比較の例について説明する為の説明図である。図７及び図８は、積載パターン４１及び荷姿データ４２に基づき、荷姿データ４２を構成する複数の物品３の位置及び形状を認識する例について説明する為の説明図である。
【００７０】
積載パターン４１は、かご車２に積載された物品３の荷姿を、積載情報に基づいて生成したデータである。即ち、積載パターン４１は、かご車２に積載された物品３の積載時の荷姿（状態）を再現したデータである。例えば、積載パターン４１は、３次元空間上における形状を示すデータである。具体的には、積載パターン４１は、かご車２に積載された物品３の積載時の荷姿を示す点群データである。また、積載パターン４１は、かご車２に積載された物品３の積載時の荷姿を示すベクトルデータであってもよい。
【００７１】
制御部３２は、取得した積載情報に基づいて、かご車２に積載された各物品３の位置及び形状を認識する。制御部３２は、認識した各物品３の形状に基づいて、各物品３毎に形状を示すデータ（形状データ）を生成する。制御部３２は、認識した各物品３の位置に基づいて、各物品３の形状データを３次元空間上に配置する。これにより、制御部３２は、積載パターン４１を生成する。図６の例では、かご車２上に複数の物品３の形状データが配置されて積載パターン４１が生成されている。
【００７２】
荷姿データ４２は、かご車２に積載された物品３の荷姿を、かご車画像に基づいて生成したデータである。即ち、荷姿データ４２は、かご車２に積載された物品３の現在の荷姿を示すデータである。例えば、荷姿データ４２は、３次元空間上において、物品３によって形成される外観形状を示すデータである。具体的には、荷姿データ４２は、かご車２に積載された物品３の現在の状態を示す点群データである。
【００７３】
制御部３２は、ステップＳ２１で取得した点群データであるかご車画像に基づいて、荷姿データ４２を生成する。制御部３２は、かご車画像としての点群データを、積載パターン４１と等尺のデータに変換（正規化）することにより、荷姿データ４２を生成する。図６の例では、荷姿データ４２は、かご車２上に複数の物品３が積載された状態の形状を示している。なお、物品３毎に形状データを認識する処理を行っていない為、荷姿データ４２は、図６に示されるように、複数の物品３の外形状が組み合わされた形状として生成される。
【００７４】
制御部３２は、積載パターン４１と荷姿データ４２とを生成すると、積載パターン４１と荷姿データ４２とを比較する（ステップＳ２７）。
【００７５】
図５に示されるように、制御部３２は、積載パターン４１と荷姿データ４２とを比較した結果、積載パターン４１と荷姿データ４２とに差分があるか否か判断する（ステップＳ３１）。例えば、かご車２の輸送中に、かご車２に積載された複数の物品３の中に、他の物品３との相対的な位置が積載時から変わった物品３（即ち移動した物品３）が存在する場合、積載パターン４１と同じ位置及び形状で荷姿データ４２が生成されないことが推定される。このような場合、ピッキング位置を決定する為に用いる情報が、積載情報だけでは不十分である。即ち、移動した物品３と、その物品３の位置とを特定する必要がある。言い換えると、積載パターン４１と荷姿データ４２とに差分がないと判断した場合（ステップＳ３１、ＮＯ）、制御部３２は、距離センサ１１の撮像範囲に配置されたかご車２上に積載された、全ての物品３の形状及び位置を認識できている。この場合、制御部３２は、後述するステップＳ３７の処理に移行し、動作計画を生成することができる。即ち、制御部３２は、積載パターン４１が示す物品３の形状及び位置に基づいて、動作計画を生成する。
【００７６】
制御部３２は、積載パターン４１と荷姿データ４２とに差分があると判断した場合（ステップＳ３１、ＹＥＳ）、移動した物品３が存在すると判断し、移動した物品３を特定する（ステップＳ３２）。例えば、制御部３２は、積載パターン４１と荷姿データ４２とを位置及び姿勢を合わせて重ね、積載パターン４１を構成する各物品３毎に、形状データと重なる荷姿データ４２が存在するか否か判断する。即ち、制御部３２は、積載パターン４１と荷姿データ４２とを位置及び姿勢を合わせて重ね、積載パターン４１を構成する複数の物品３毎に、物品３の形状データが荷姿データ４２に含まれるか否か判断する。
【００７７】
より具体的には、制御部３２は、荷姿データ４２が配置された３次元空間上において、積載パターン４１のある物品３に対応する領域を、積載パターン４１と荷姿データ４２とを比較することにより推定する。さらに、制御部３２は、推定した領域に荷姿データ４２の点群が存在する場合、形状データが荷姿データ４２に含まれていると判断する。
【００７８】
制御部３２は、形状データが荷姿データ４２に含まれていると判断した場合、形状データを積載パターン４１から除く。制御部３２は、この処理を、積載パターン４１を構成する全ての物品３の形状データ毎に行う。全ての物品３についてこの処理を行った結果、積載パターン４１に残っている形状データの物品３（即ち未検出の物品）が、移動した物品３であると特定することができる。
【００７９】
なお、制御部３２は、推定した領域と荷姿データ４２の点群とが完全に一致するか否か判断するのではなく、推定した領域内の荷姿データ４２の点群の数（または密度）などに基づいて、形状データが荷姿データ４２に含まれていると判断してもよい。この場合、制御部３２は、推定した領域内の荷姿データ４２の密度を算出し、算出した密度が予め設定された閾値未満である物品３を、他の物品３との相対的な位置が積載時から変わった物品３であると特定する。
【００８０】
また、制御部３２は、同じ物品３の面を積載パターン４１と荷姿データ４２とから検出し、検出結果に基づいて、他の物品３との相対的な位置が積載時から変わった物品３を特定する構成であってもよい。この場合、制御部３２は、荷姿データ４２から物品３の面を検出し、検出した面に対応する面を積載パターン４１から検出する。制御部３２は、荷姿データ４２からの物品３の面の検出結果と、積載パターン４１からの物品３の面の検出結果とに基づいて、対応する面の変位量を算出する。即ち、制御部３２は、荷姿データ４２から検出した物品３の面と、積載パターン４１から検出した物品３の面との差分を変位量として算出する。制御部３２は、変位量が予め設定された閾値以上である物品３を、他の物品３との相対的な位置が積載時から変わった物品３であると特定する。なお、制御部３２は、点群データである荷姿データ４２から面を検出するのではなく、二次元画像に基づいて、物品３の面を検出する構成であってもよい。
【００８１】
例えば、図６の例では、積載パターン４１の最上段に、物品３Ａ、物品３Ｂ、物品３Ｃ、及び物品３Ｄが積載されている。荷姿データ４２では、積載パターン４１の物品３Ａ及び物品３Ｂの形状データと重なるデータが存在するものの、積載パターン４１の物品３Ｃ及び物品３Ｄの形状データと重なるデータが存在しない。この為、積載パターン４１に物品３Ｃ及び物品３Ｄの形状データが、未検出物品として残る。この結果、制御部３２は、物品３Ｃ及び物品３Ｄが、移動した物品３であると特定することができる。
【００８２】
次に、制御部３２は、移動した物品３の形状データを、積載パターン４１から除外する（ステップＳ３３）。即ち、制御部３２は、ステップＳ３２で特定した物品（物品３Ｃ及び物品３Ｄ）の形状データを、積載パターン４１から除外する。これにより、図７に示されるように、制御部３２は、移動していない物品３の形状データで構成された積載パターン５１を生成する。
【００８３】
次に、制御部３２は、荷姿データ４２から積載パターン５１を除く（ステップＳ３４）。即ち、制御部３２は、ステップＳ３３で生成した積載パターン５１の各物品３の形状データを、荷姿データ４２から除外する。これにより、図８に示されるように、制御部３２は、ステップＳ３２で特定した物品（物品３Ｃ及び物品３Ｄ）に相当する荷姿データ５２を、荷姿データ４２から抽出することができる。即ち、荷姿データ５２は、移動した物品３の、荷姿データ４２内での位置及び姿勢などを示すデータである。
【００８４】
次に、制御部３２は、荷姿データ５２から未検出の物品（物品３Ｃ及び物品３Ｄ）を検出する（ステップＳ３５）。即ち、制御部３２は、ステップＳ３２で特定した物品（物品３Ｃ及び物品３Ｄ）の形状データと一致する部分を荷姿データ５２からそれぞれ検出する。これにより、制御部３２は、荷姿データ４２において、移動した物品３Ｃ及び物品３Ｄが存在する位置を認識することができる。この結果、制御部３２は、図８に示されるように、距離センサ１１の撮像範囲に配置されたかご車２上に積載された、全ての物品３の形状及び位置を認識し、認識結果５３を得ることができる。
【００８５】
例えば、制御部３２は、荷姿データ５２が配置された三次元空間において、物品３Ｃ及び物品３Ｄの形状データを移動及び回転させることにより、一致する部分を荷姿データ５２から検出する。また、例えば、制御部３２は、物品３Ｃ及び物品３Ｄの形状データの局所特徴量を抽出し、抽出した局所特徴量と荷姿データ５２とをマッチングする構成であってもよい。また、制御部３２は、さらに他の方法を用いて、荷姿データ５２から未検出の物品３Ｃ及び物品３Ｄを検出する構成であってもよい。
【００８６】
制御部３２は、ステップＳ３５の処理において、未検出の物品（物品３Ｃ及び物品３Ｄ）が荷姿データ５２から検出されたか否か判断する（ステップＳ３６）。制御部３２は、未検出の物品が荷姿データ５２から検出され、認識結果５３を得ることができたと判断した場合（ステップＳ３６、ＹＥＳ）、認識結果５３に基づいてピッキング位置を決定し、軌跡を決定し、動作計画を生成する（ステップＳ３７）。制御部３２は、生成した動作計画をロボットアーム１５に送信し（ステップＳ３８）、図４に示されるステップＳ１１の処理に移行する。なお、情報処理装置１６の制御部３２は、操作端末１４から終了指示が供給された場合、ロボットアーム１５に終了指示を供給し、図４及び図５の処理を終了する。
【００８７】
また、制御部３２は、未検出の物品が荷姿データ５２から検出されなかったと判断した場合（ステップＳ３６、ＮＯ）、例えば、ビデオコーディングにより未検出の物品を検出する（ステップＳ３９）。具体的には、制御部３２は、荷姿データ５２と、未検出の物品３Ｃ及び物品３Ｄの形状データとを操作端末１４に供給する。操作端末１４は、荷姿データ５２をディスプレイに表示させ、操作入力に基づいて、荷姿データ５２から未検出の物品３Ｃ及び物品３Ｄに相当する領域を認識する。操作端末１４は、荷姿データ５２において、おける未検出の物品３Ｃ及び物品３Ｄに相当する領域を示す情報を情報処理装置１６に供給する。これにより、制御部３２は、荷姿データ４２において、移動した物品３Ｃ及び物品３Ｄが存在する位置を認識することができる。この結果、制御部３２は、認識結果５３を得ることができる。制御部３２は、認識結果５３に基づいてピッキング位置を決定し、軌跡を決定し、動作計画を生成する（ステップＳ３７）。制御部３２は、生成した動作計画をロボットアーム１５に送信し（ステップＳ３８）、図４に示されるステップＳ１１の処理に移行する。
【００８８】
なお、制御部３２は、ビデオコーディングではなく、他の方法により未検出の物品を検出する構成であってもよい。例えば、制御部３２は、距離センサ１１により得られたラスタ画像に基づいて、荷姿データ４２において未検出の物品３Ｃ及び物品３Ｄが存在する位置を認識する構成であってもよい。
【００８９】
上記したように、情報処理装置１６の制御部３２は、かご車２に物品３が積載された際の、物品３毎の形状及び積載位置を示す積載情報を取得する。制御部３２は、積載情報から、かご車２に積載された物品３の積載時の荷姿を示す積載パターン４１を生成する。制御部３２は、距離センサ１１から、かご車２及びかご車２に積載された物品３の点群データを取得し、荷姿データ４２を生成する。制御部３２は、積載パターン４１と荷姿データ４２とに基づき、積載時から移動していない物品３を認識するとともに、積載時から移動した物品３を特定する。即ち、制御部３２は、積載パターン４１と荷姿データ４２とに基づき、他の物品３との相対的な位置が積載時から変わった物品３を特定する。制御部３２は、移動した物品３の荷姿データ５２を荷姿データ４２から抽出する。制御部３２は、荷姿データ５２に基づき、移動した物品３の位置及び形状を認識し、かご車２に積載された全ての物品３の形状及び位置の認識結果５３を取得する。制御部３２は、認識結果５３に基づき、動作計画を生成し、動作計画をロボットアーム１５に供給する。すなわち、制御部３２は、積載パターン４１に基づき、他の物品３との相対的な位置が積載時から変わっていない物品３の位置及び形状を認識し、他の物品３との相対的な位置が積載時から変わっていない物品３の動作計画を生成する。また、制御部３２は、荷姿データ４２に基づき、他の物品３との相対的な位置が積載時から変わった物品３の位置及び形状を認識し、他の物品３との相対的な位置が積載時から変わった物品３の動作計画を生成する。
【００９０】
このように、情報処理装置１６は、移動していない物品３については、積載情報に基づき位置及び形状を認識し、且つ、移動した物品３の荷姿データ５２を荷姿データ４２から抽出し、移動した物品３の位置及び形状を認識する。これにより、情報処理装置１６は、かご車２の輸送中に、かご車２に積載された物品３が移動した場合であっても、情報処理装置１６は、高い精度で且つ効率的に、物品３の位置及び形状を認識することができる。この結果、情報処理装置１６は、容易且つ正確に動作計画を生成することができる。
【００９１】
また、制御部３２は、積載パターン４１を構成する複数の物品３毎に、積載パターン４１における形状データが荷姿データ４２に含まれているか否か判断する。制御部３２は、積載パターン４１における形状データと一致する形状が荷姿データ４２に含まれていない場合、物品３が移動したと判断する。これにより、制御部３２は、移動した物品３を容易に特定することができる。
【００９２】
また、制御部３２は、移動した物品３の形状データを、積載パターン４１から除外し、積載パターン５１を生成する。制御部３２は、荷姿データ４２から積載パターン５１を除外することにより、移動した物品３の点群データである荷姿データ５２を生成する。制御部３２は、荷姿データ５２に基づき、移動した物品３の位置及び形状を認識する。制御部３２は、積載情報に基づき、移動していない物品３の位置及び形状を認識し、荷姿データ５２に基づき、移動した物品３の位置及び形状を認識し、かご車２に積載された全ての物品３の形状及び位置の認識結果５３を取得する。このように、制御部３２は、移動した物品３を容易に検出可能な荷姿データ５２を生成することにより、移動した物品３の位置及び形状を容易に認識することができる。
【００９３】
なお、上記の実施形態では、情報処理装置１６の制御部３２は、タグリーダ１２によりかご車２の無線タグ４から取得した識別情報に基づき、かご車２を特定する構成であると説明したが、この構成に限定されない。かご車２に、かご車２の識別情報がコード化された二次元コードが貼り付けられており、距離センサ１１が、かご車２に貼り付けられた二次元コードの画像を取得し、制御部３２が、二次元コードの画像に基づいて、かご車２の識別情報を取得する構成であってもよい。
【００９４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９５】
１…仕分システム、２…かご車、３…物品、４…無線タグ、５…ベルトコンベア、１１…距離センサ、１２…タグリーダ、１３…サーバ、１４…操作端末、１５…ロボットアーム、１６…情報処理装置、１７…ネットワーク、２１…把持機構、２２…アーム機構、２３…状態検出センサ、２４…コントローラ、３１…通信インタフェース、３２…制御部、３３…プロセッサ、３４…メモリ、４１…積載パターン、４２…荷姿データ、５１…積載パターン、５２…荷姿データ、５３…認識結果。
【図１】
2019199335.tif 000003
【図２】
2019199335.tif 000004
【図３】
2019199335.tif 000005
【図４】
2019199335.tif 000006
【図５】
2019199335.tif 000007
【図６】
2019199335.tif 000008
【図７】
2019199335.tif 000009
【図８】
2019199335.tif 000010