棚搬送システム、棚搬送車、及び棚搬送方法

申请号 JP2017511371 申请日 2015-08-03 公开(公告)号 JPWO2017022048A1 公开(公告)日 2017-08-03
申请人 株式会社日立製作所; 发明人 宣隆 木村; 宣隆 木村; 紅山 史子; 史子 紅山; 敬介 藤本; 敬介 藤本;
摘要 本発明は、距離センサの計測範囲に複数の棚が存在する場合であっても、複数の棚の 位置 及び姿勢を認識可能な無人棚搬送車を提供する。棚搬送システムは、棚(30)は複数の棚足を有し、棚搬送車(20)は、障害物までの距離を測定する距離センサ(220)と、距離センサ(220)の測定結果(601)から棚足の候補となる棚足候補を検出する棚足候補検出部 (602)と、棚足候補に棚を仮想的に配置した棚配置候補を複数算出する棚配置候補算出部(603)と、棚配置候補ごとに、棚足候補の超過数、及び棚足候補の不足数を算出する過不足算出部(604)と、超過数と不足数に基づいて複数の棚配置候補の中から棚配置を決定する棚配置決定部(605)と、棚配置に基づいて、棚搬送車(20)の移動先となる棚を決定する移動先決定部(607)とを備える。
权利要求

棚を搬送する棚搬送車を備える棚搬送システムであって、 前記棚は複数の棚足を有し、 前記棚搬送車は、 障害物までの距離を測定する距離センサと、 前記距離センサの測定結果から前記棚足の候補となる棚足候補を検出する棚足候補検出部と、 前記棚足候補検出部が検出した棚足候補に前記棚を仮想的に配置した棚配置候補を複数算出する棚配置候補算出部と、 前記棚配置候補算出部が算出した棚配置候補ごとに、前記配置された棚の棚足とならない棚足候補の数を示す棚足候補の超過数、及び前記配置された棚の棚足に対応する棚足候補が検出されていない位置の数を示す棚足候補の不足数を算出する過不足算出部と、 前記過不足算出部が算出した前記棚足候補の超過数、及び前記棚足候補の不足数とに基づいて複数の前記棚配置候補の中から棚配置を決定する棚配置決定部と、 前記棚配置決定部が決定した棚配置に基づいて、前記棚搬送車の移動先となる棚を決定する移動先決定部と、を備えることを特徴とする棚搬送システム。請求項1に記載の棚搬送システムであって、 前記過不足算出部は、 前記棚配置候補の前記配置された棚の棚足に対応する棚足候補が検出されていない位置を特定し、 前記特定した位置と前記距離センサとを結ぶ線上に測定結果が存在する場合、当該特定した位置を前記棚足候補の不足数から除外することを特徴とする棚搬送システム。請求項1に記載の棚搬送システムであって、 前記棚配置決定部は、 前記棚配置候補の前記棚足候補の超過数と前記棚足候補の不足数とに基づいて当該棚配置候補の評価を算出し、 前記棚配置候補の前記配置された棚の領域内に他の物体が存在する場合は当該棚配置候補の評価を下げ、 前記評価に基づいて複数の前記棚配置候補の中から棚配置を決定することを特徴とする棚搬送システム。請求項1に記載の棚搬送システムであって、 前記移動先決定部は、 前記棚配置決定部が決定した棚配置に含まれる各棚の搬送ルートを算出し、 各棚の前記搬送ルート上に当該棚以外の棚が存在する棚と、各棚の前記搬送ルート上に他の物体が計測されている棚とを、前記棚搬送車の移動先となる棚の候補から除外することを特徴とする棚搬送システム。請求項1に記載の棚搬送システムであって、 前記棚搬送車を管理する棚搬送車管理装置をさらに備え、 前記棚搬送車は、前記移動先決定部が前記移動先となる棚を決定した場合、当該移動先となる棚及び前記棚配置決定部が決定した棚配置を前記棚搬送車管理装置に送信し、 前記棚搬送車管理装置は、前記移動先となる棚の搬送先を、受信した棚配置における棚から所定範囲内の位置に決定することを特徴とする棚搬送システム。請求項1に記載の棚搬送システムであって、 前記棚の識別情報と前記棚の位置情報とを対応付けて管理し、前記棚搬送車を管理する棚搬送車管理装置をさらに備え、 前記棚は、当該棚の識別情報を前記棚搬送車に取得させる棚識別情報提供部を有し、 前記棚搬送車は、 前記移動先決定部が決定した移動先となる棚の棚足の間に潜り込み、前記潜り込んだ棚の棚識別情報提供部から当該棚の識別情報を取得し、 前記取得した棚の識別情報に対応する位置情報によって自身の位置情報を認識することを特徴とする棚搬送システム。請求項6に記載の棚搬送システムであって、 他の棚より搬送頻度が低いランドマーク棚があり、 前記ランドマーク棚の棚足には、再帰性反射マーカが取り付けられ、 前記距離センサは、光を照射し、前記障害物から反射された光を受光することによって前記障害物までの距離を測定し、 前記棚足候補検出部は、前記測定結果に含まれる反射強度に基づいて、前記ランドマーク棚の棚足を他の棚の棚足と区別し、 前記移動先決定部は、前記棚配置決定部が決定した棚配置に前記ランドマーク棚が含まれる場合、当該ランドマーク棚を他の棚より優先して前記移動先となる棚として決定することを特徴とする棚搬送システム。複数の棚足を有する棚を搬送する棚搬送車であって、 障害物までの距離を測定する距離センサと、 前記距離センサの測定結果から前記棚足の候補となる棚足候補を検出する棚足候補検出部と、 前記棚足候補検出部が検出した棚足候補に前記棚を仮想的に配置した棚配置候補を複数算出する棚配置候補算出部と、 前記棚配置候補算出部が算出した棚配置候補ごとに、前記配置された棚の棚足とならない棚足候補の数を示す棚足候補の超過数、及び前記配置された棚の棚足に対応する棚足候補が検出されていない位置の数を示す棚足候補の不足数を算出する過不足算出部と、 前記過不足算出部が算出した前記棚足候補の超過数、及び前記棚足候補の不足数とに基づいて複数の前記棚配置候補の中から棚配置を決定する棚配置決定部と、 前記棚配置決定部が決定した棚配置に基づいて、前記棚搬送車の移動先となる棚を決定する移動先決定部と、を備えることを特徴とする棚搬送車。プロセッサ及び記憶領域を有する棚搬送車における複数の棚足を有する棚を搬送する棚搬送方法であって、 前記棚搬送車は、障害物までの距離を測定する距離センサを有し、 前記棚搬送方法は、 前記プロセッサが、前記距離センサの測定結果から前記棚足の候補となる棚足候補を検出し、 前記プロセッサが、前記検出した棚足候補に前記棚を仮想的に配置した棚配置候補を複数算出し、 前記プロセッサが、前記算出した棚配置候補ごとに、前記配置された棚の棚足とならない棚足候補の数を示す棚足候補の超過数、及び前記配置された棚の棚足に対応する棚足候補が検出されていない位置の数を示す棚足候補の不足数を算出し、 前記プロセッサが、前記算出した前記棚足候補の超過数、及び前記棚足候補の不足数とに基づいて複数の前記棚配置候補の中から棚配置を決定する 前記プロセッサが、前記決定した棚配置に基づいて、前記棚搬送車の移動先となる棚を決定することを特徴とする棚搬送方法。

说明书全文

本発明は、複数の棚足を有する棚を搬送する棚搬送車を備える棚搬送システムに関する。

近年、多様化する消費者ニーズに柔軟に対応するため、通信販売倉庫又は多品種少量生産工場のような多様な物品を取り扱う倉庫又は工場等が増えてきており、倉庫又は工場等での作業の効率化及び省人化が求められている。

このような作業を自動化するために、物品が格納された棚を棚搬送車が搬送する技術がある。この技術に関連して、特表2009−539727号公報(特許文献1)、特開2014−89740号公報(特許文献2)、及び特開2002−182744号公報(特許文献3)がある。

特許文献1の公報には、「在庫品目を輸送するためのシステムは、在庫品目を貯蔵し得る在庫ホルダと、移動式駆動ユニットとを含む。移動式駆動ユニットは、移動式駆動ユニットに連結され且つ移動式駆動ユニットによって支持される少なくとも1つの在庫ホルダと共に第一地点に移動し得る。移動式駆動ユニットは、追加的に、在庫ホルダの位置を決定し、在庫ホルダの場所と第一地点との間の差を計算し得る。移動式駆動ユニットは、次に、差が所定の公差よりも大きいか否かを決定し得る。差が所定の公差よりも大きいという決定に応答して、移動式駆動ユニットは、在庫ホルダの場所に基づき第二地点に移動し、在庫ホルダと結合し、且つ、移動式駆動ユニット及び在庫ホルダを第一地点に移動し得る。」と記載されている(要約参照)。

特許文献2の公報には、「予め設定された環境地図における所定領域の形状情報と、環境地図上の所定領域の属性とを対にして複数記憶し、環境地図と記憶部に記憶した所定領域を比較して所定領域に対応する属性を読み出し、計測箇所における属性に応じて、環境地図を更新する。」と記載されている(要約参照)。

特許文献3の公報には、「この無人棚搬送車は、脚部を有するパレットの脚部間に荷台1を低くして進入し、荷台を上昇させてパレットを担持して搬送する機能を備えている。パレットへの進入時には、レーザ光を走査して距離と度を検出するアプローチセンサでパレットの両脚部までの距離を検知し、パレットの中心線に対する傾きと中心線までの距離を演算してパレットの中心線に無人棚搬送車の中心線が一致するように誘導する。そして、パレットに進入後は車体の側面に設けたパレットの脚部までの間隙を検知する側面センサによって誘導する。」と記載されている(要約参照)。

また、無人棚搬送車が他の無人棚搬送車の位置等を認識する技術として、特開2011−150443号公報(特許文献4)がある。特許文献4の公報には、「第1のロボットは、物体の反射光強度を計測する計測部と、計測部により得られた計測結果を解析する演算部と、第1のロボットを移動させる駆動部と、を備える。第2のロボットは再帰性反射特性を有する複数のマーカを備え、第1のロボットの演算部は、計測部の計測結果に基づき第2のロボットの複数の前記マーカの位置を算出し、算出の結果に基づき第2のロボットの位置および姿勢を認識し、第2のロボットの位置および姿勢の認識の結果に基づき第1のロボットを移動させるためのパラメータを算出し、第1のロボットの駆動部は、パラメータに基づき第1のロボットを移動させる。」と記載されている(要約参照)。

特表2009−539727号公報

特開2014−89740号公報

特開2002−182744号公報

特開2011−150443号公報

無人棚搬送車を有するシステムの導入時には、物品が格納された棚を所定の場所に整列させる必要がある。特許文献1のシステムでは、無人棚搬送車は棚を搬送するためには棚の位置を把握しなければならない。しかし、整列される前の棚は無造作に置かれており、無人棚搬送車がその位置を把握できず、人手で棚を整列しなければならなかった。

また、無人棚搬送車は、自身の位置を認識する機能を有しており、認識した自身の位置に基づいて、無人棚搬送車を管理する無人棚搬送車管理装置によって設定された経路上を移動する。特許文献1では、無人棚搬送車は、床面のマーカーを読み取ることによって自身の位置を認識し、特許文献2では、無人棚搬送車は、環境地図と距離センサの計測結果とを照合することによって、自身の位置を認識する。しかしながら、いずれの方法でも、無人棚搬送車は、自身の位置の認識に失敗して、自身の位置を見失う場合がある。例えば、特許文献1の方法では、無人棚搬送車が、タイヤのスリップ等で経路から外れて移動すると、マーカーを読み取ることができずに、自身の位置を見失う。また、特許文献2の方法では、無人棚搬送車は、他の無人棚搬送車に囲まれた場合、距離センサの計測結果が環境地図と一致せず、自身の位置を見失う。このように、無人棚搬送車が自身の位置を失った場合、人手で無人棚搬送車を所定の位置に戻さなければ、無人棚搬送車は自身の位置を再度認識できない。

システムの導入時に整列される前の棚の絶対位置を把握できない場合であっても、無人棚搬送車は、自身からの棚までの相対的な位置及び姿勢を認識することによって、当該棚に潜り込み、当該棚を搬送できる。また、無人棚搬送車は、自身の位置を見失った場合、自身からの棚までの相対的な位置及び姿勢を認識して、当該棚に潜り込む。この場合、無人棚搬送車が棚に潜り込んだ場合に、当該棚の識別情報(例えば、棚の下方に貼られたバーコードなど)を読み取ることができる。無人棚搬送車は、読み取った棚の識別情報を棚の位置を把握している無人棚搬送車管理装置に送信し、無人棚搬送車管理装置から当該棚の位置を通知してもらうことによって、自身の位置を認識できる。このように、無人棚搬送車が棚の相対的な位置及び姿勢を認識することが重要となる。

特許文献3では、距離センサの計測結果からパレットの中心線を検出し、検出したパレットの中心線に潜り込む無人棚搬送車が開示されているが、距離センサの計測範囲にパレットが一つしか存在しないことが前提となっており、距離センサの計測範囲に複数のパレットが存在する場合には誤認識が生じる。

また、特許文献4では、物体に連続的な面が存在することが前提となっている。棚は、無人棚搬送車が棚に潜り込みが可能である場合、無人棚搬送車の距離センサが棚の足しか計測できないので、特許文献4に開示された方法を適用できない。

本発明は、距離センサの計測範囲に複数の棚が存在する場合であっても複数の棚の位置及び姿勢を認識可能な無人棚搬送車を提供することを目的とする。

上記課題を解決するために、棚を搬送する棚搬送車を備える棚搬送システムであって、前記棚は複数の棚足を有し、前記棚搬送車は、障害物までの距離を測定する距離センサと、前記距離センサの測定結果から前記棚足の候補となる棚足候補を検出する棚足候補検出部と、前記棚足候補検出部が検出した棚足候補に前記棚を仮想的に配置した棚配置候補を複数算出する棚配置候補算出部と、前記棚配置候補算出部が算出した棚配置候補ごとに、前記配置された棚の棚足とならない棚足候補の数を示す棚足候補の超過数、及び前記配置された棚の棚足に対応する棚足候補が検出されていない位置の数を示す棚足候補の不足数を算出する過不足算出部と、前記過不足算出部が算出した前記棚足候補の超過数、及び前記棚足候補の不足数とに基づいて複数の前記棚配置候補の中から棚配置を決定する棚配置決定部と、前記棚配置決定部が決定した棚配置に基づいて、前記棚搬送車の移動先となる棚を決定する移動先決定部と、を備えることを特徴とする。

本発明によれば、距離センサの計測範囲に複数の棚が存在する場合であっても複数の棚の位置及び姿勢を認識可能な無人棚搬送車を提供することを目的とする。

上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。また、これより、棚足候補の超過数と不足数とを纏めて過不足と表現することとする。

本実施例の搬送システムの構成図である。

本実施例の搬送システムが適用された倉庫の説明図である。

本実施例の棚搬送車の構成図である。

本実施例のコントローラのハードウェア構成図である。

本実施例の棚モデルデータの説明図である。

本実施例の潜り込み棚決定処理のフローチャートである。

本実施例の距離センサによる計測結果の説明図である。

本実施例の連続部分の抽出処理の説明図である

本実施例の計測結果から抽出された連続部分の説明図である。

本実施例の連続部分に二つ又は三つの棚足候補が含まれる場合の棚足候補の配置位置を算出する処理の説明図である。

本実施例の連続部分に二つ又は三つの棚足候補が含まれる場合の棚足候補の配置位置を算出する処理の説明図である。

本実施例の計測結果から抽出された棚足候補の説明図である。

本実施例の棚足距離P1の棚辺候補として抽出された棚足候補の組み合わせの説明図である。

本実施例の棚足距離P2の棚辺候補として抽出された棚足候補の組み合わせの説明図である。

本実施例の基点棚足候補を基点とする棚辺の説明図である。

本実施例の基点棚足候補を基点とする棚辺の説明図である。

本実施例の基点棚足候補を基点とする棚辺の説明図である。

本実施例の基点棚足候補を基点とする棚辺の説明図である。

本実施例の棚が各基点棚足候補に仮想的に配置された状態の説明図である。

本実施例の整理後の基点棚足候補を基点とする棚辺の説明図である。

本実施例の整理後の基点棚足候補を基点とする棚辺の説明図である。

本実施例の整理後の基点棚足候補を基点とする棚辺の説明図である。

本実施例の整理後の基点棚足候補を基点とする棚辺の説明図である。

本実施例の第1棚配置候補の説明図である。

本実施例の第2棚配置候補の説明図である。

本実施例の第3棚配置候補の説明図である。

本実施例の第1棚配置候補の過不足の算出の説明図である。

本実施例の第2棚配置候補の過不足の算出の説明図である。

本実施例の第3棚配置候補の過不足の算出の説明図である。

本実施例の第1棚配置候補のオクルージョンを考慮した過不足の算出の説明図である。

本実施例の第2棚配置候補のオクルージョンを考慮した過不足の算出の説明図である。

本実施例の第3棚配置候補のオクルージョンを考慮した過不足の算出の説明図である。

本実施例の第2棚配置候補を評価する際の棚に干渉する棚足候補の数を考慮した場合の説明図である。

本実施例の第3棚配置候補を評価する際の棚に干渉する棚足候補の数を考慮した場合の説明図である。

図1は、本実施例の搬送システムの構成図である。

搬送システムは、棚搬送車管理装置10及び少なくとも一つの棚搬送車20を有する。棚搬送車管理装置10と棚搬送車20とは無線で接続される。搬送管理装置10は、棚搬送車20が搬送する棚30を決定し、棚搬送車20の現在位置から棚30までの経路と、棚30から搬送先までの経路とを算出し、これらの経路を含む搬送計画を棚搬送車20に送信する。棚搬送車20は、受信した搬送計画に基づいて移動し、棚30を搬送先まで搬送する。

棚搬送車20は、棚30が整列される前又は自身の位置を見失った場合等、距離センサ220(図3参照)の計測結果を用いて、潜り込む棚30を決定し、決定した棚30に潜りこむ。棚30が整列される前には、棚搬送車管理装置10が棚30の位置を把握していないが、棚搬送車20は、潜り込む棚30を決定でき、当該棚30を所定の位置に搬送できる。また、棚搬送車20が自身の位置を見失った場合、棚30の棚足が設けられた面には、棚30の識別情報が印刷されたバーコード等が貼り付けられており、棚30に潜り込んだ棚搬送車20は棚30の識別情報を読み取り、読み取った棚30の識別情報を棚搬送車管理装置に送信する。棚搬送車管理装置10は、棚30の位置を把握しているため、受信した棚30の識別情報に対応する位置情報を棚搬送車20に送信する。これによって、棚搬送車20は、棚30に潜り込むことによって、自身の位置を認識することができる。

図2は、本実施例の搬送システムが適用された倉庫の説明図である。

図2では、複数の棚30A〜棚30E(総称する場合には、棚30と記載する)が整列される前の状態を示し、一箇所に複数の棚30が無造作に配置されている。棚30の底面には四つの棚足が設けられる。棚搬送車20は、距離センサ220の計測結果に基づいて潜り込む棚30を決定し、当該棚30の棚足の間から棚30に潜り込み、棚30を持ち上げて、移動することによって、棚30を搬送する。これによって、一箇所に無造作に配置された棚30を整列させることができる。

図3は、本実施例の棚搬送車20の構成図であり、左図が棚搬送車20の外見図であり、右図が棚搬送車20の内部構造の説明図である。なお、右図は、棚搬送車20を進行方向と逆方向から棚搬送車20の内部を見た図である。

棚搬送車20は、棚30の下に潜り込み、荷役部201を動作させることで、棚30を持ち上げる。荷役部201は、棚搬送車20の上部に位置し、棚30を持ち上げるように動作する機構であり、モータ、モータ制御コントローラ、回転移動を鉛直上下方向移動に変換するギアとシャフト、モータを制御するコントローラ、上板によって構成される。

荷役部201は、電源204及びコントローラ206と繋がっており、コントローラ206からの指令に基づき、自身のモータを制御し、上板を上下させる。上板以外の各構成機器は複数存在しても構わないが、上板を平に保つため、複数のモータには同期をとりながら同一の動きをさせることが好ましい。

棚搬送車20が棚30を持ち上げる際、まず、コントローラ206は駆動部203を制御し、棚搬送車20を棚30の下に潜り込ませる。この状態で、コントローラ206は、荷役部201にモータを制御し上板を上昇させるように指示を出す。荷役部201は、指示通りに上板を徐々に押し上げていく。すると、荷役部201の上板の表面は、棚30の底である被接触面の高さに到達し、接触する。荷役部201の上板の表面は、棚30の被接触面と接触することから、接触面207と呼ぶこととする。さらに、荷役部201の上板を上昇させていくと、棚30の足が地面から離れ、棚30は持ち上がった状態となる。つまり、棚搬送車20は荷役部201を用いて棚30を積載している状態となる。

棚搬送車20が棚30を持っている状態から棚30を設置する際、まず、コントローラ206は駆動部203を制御し、棚30を設置すべき位置まで棚搬送車20を移動させる。その位置に達した後、コントローラ206は、荷役部201にモータを制御し上板を下降させるように指示を出す。荷役部201は、指示通りに上板を徐々に下降させていくと、同時に棚30も下降していく。やがて、棚30の足が地面に到達し、接触する。さらに、荷役部201の上板を下降させていくと、棚搬送車20の接触面207と棚30の被接触面103とが離れ、棚30の設置が完了する。

本実施例における棚搬送車20は、駆動部203を動作させることで、自身を移動させる。駆動部203は、モータ、モータ制御コントローラ、車輪などによって構成される。さらには、車輪の回転を計測するロータリエンコーダを搭載していても良い。

棚搬送車20の2次元的な移動を実現するためには、独立して動作する2つのモータと3つの車輪が最低限必要となる。例えば、棚搬送車20の左右に一つずつ車輪を取り付け、それらを独立に制御するためのモータ及びモータ制御コントローラを搭載し、さらに1つのキャスターを取り付けることが考えられる。すると、棚搬送車20は、左右の車輪の回転速度を同じにすると直進し、左右の車輪の回転方向を逆転させるとその場で旋回する。駆動部203は、電源204及びコントローラ206と繋がっており、コントローラ206からの指令に基づき、自身のモータを制御し、棚搬送車20を移動させる。

電源204はバッテリとして実装される。棚搬送車20の荷役部201、駆動部203、コントローラ206、棚認識用センサ209、距離センサ220に電を供給する。本実施例では、棚認識用センサ209と距離センサ220については、コントローラ206を介して間接的に電力を供給しているが、各機器に対する電力の供給を直接的とするか間接的とするかについては、その機器の実装に基づき決めて良い。

コントローラ206は、プロセッサ420、メモリ430、二次記憶装置440、外部インタフェース(IF)450、及び無線インタフェース(IF)460の組み合わせとして実装される。二次記憶装置440はHDDやフラッシュメモリなど、無線IF460が備える無線通信機能は無線LANなどとして実装される。コントローラ206は、電源204からの電力の供給を受け、棚搬送車20内部の他の機器、つまり、荷役部201、駆動部203、棚認識用センサ209、距離センサ220を制御する。また、コントローラ206は、無線通信機能により、棚搬送車管理装置10と通信し、動作指令を受信し、動作状況報告を行う。

コントローラ206は、自身の位置を見失った場合を除き、棚搬送車管理装置10から受信した移動経路に沿った移動を行うため、自身の位置姿勢を算出し、自身の位置姿勢の算出結果と移動経路に基づき棚搬送車20の姿勢と目標となる移動方向との差分を算出し、差分の算出結果に基づき駆動部203の直近の動作パラメータを決定してもよい。自身の位置姿勢を算出する方法としては、距離センサ220が取得した計測結果と予めコントローラ206に記憶させている地図とを照合する方法などが考えられる。

ここで、駆動部203の構成要素であるロータリエンコーダの計測結果を取得し、自己位置認識あるいは動作パラメータの決定に利用しても良い。また、棚30の識別情報の確認、棚30との相対位置姿勢ずれの確認を行うため、棚認識用センサ209が取得した計測結果に基づき、棚30の棚識別情報を認識し、棚搬送車20と棚30との相対位置姿勢ずれを算出する。

棚認識用センサ209は、棚搬送車20が棚30の下に潜り込んだ際に、棚30の底面の当該棚30の識別情報を示す棚識別情報提供部となる棚底マーカを計測するために、鉛直上方向を計測可能なように搭載される。棚認識用センサ209は、棚底マーカの特徴に合わせて選定される。例えば、棚底マーカが2次元バーコードであれば、棚認識用センサ209は、グレーカメラ、カラーカメラなどとして実装され、棚30の正面方向も知ることができる。棚認識用センサ209は、コントローラ206と繋がり、コントローラ206からの指令に基づき、計測を行い、計測結果をコントローラ206へと送信する。また、棚30の棚識別情報提供部がICカード等である場合、棚認識用センサ209は、当該ICカードの読取装置となる。

本実施例では、例えば、空間全体の形状地図を教示し、棚搬送車20が計測する空間内の部分形状が形状地図のどこに当てはまるかを算出することで自身の位置と姿勢を認識する方法を採用するため、距離センサ220は水平面上の障害物を計測するように取り付けられたレーザ距離センサやソナーなどとして実装される。図3では、棚搬送車20の正面の中央付近に距離センサ220が取り付けられているが、例えば、棚搬送車20の正面の右端又は左端に取り付けられてもよい。距離センサ220の計測範囲が270度以上であれば、距離センサ220は、棚30の下に潜り込んだ場合に、当該棚30の三つの棚足を検出することができるので、棚搬送車20を棚30の底面の中央付近に正確に潜り込ませることができる。

距離センサ220は、コントローラ206と繋がり、コントローラ206からの指令に基づき、計測を行い、計測結果をコントローラ206へと送信する。

図4は、本実施例のコントローラ206のハードウェア構成図である。

コントローラ206は、プロセッサ420、メモリ430、二次記憶装置440、外部インタフェース(IF)450、及び無線インタフェース(IF)460を有する。これらは、バス410を介して互いに接続される。

プロセッサ420は、各種演算処理を実行する。二次記憶装置440は非揮発性の非一時的な記憶媒体であり、各種プログラム及び各種データが記憶される。メモリ430は揮発性の一時的な記憶媒体であり、メモリ430には、二次記憶装置440に記憶された各種プログラム及び各種データがロードされ、プロセッサ420がメモリ430にロードされた各種プログラムを実行し、メモリ430にロードされた各種データを読み書きする。

外部IF450は、駆動部203、電源204、棚認識用センサ209、及び距離センサ220に接続されるインタフェースである。

無線IF460は、棚搬送車管理装置10と無線で接続するためのインタフェースである。

なお、棚搬送車管理装置10のハードウェア構成は、外部IF450を有さない点以外、図4と同じであるので、説明を省略する。

図5は、本実施例の棚モデルデータ500の説明図である。

棚モデルデータ500は、棚搬送車20のコントローラ206のメモリ430に記憶され、距離センサ220の計測結果から棚足候補を抽出するための棚足に関するデータ、及び抽出された棚足候補に基づいて棚30の配置を決定するための棚足間の距離に関するデータが登録される。

棚モデルデータ500は、棚種別ID501、棚足距離502、及び棚足モデル503を含む。

棚種別ID501には、倉庫等に存在する棚30の種別の識別子が登録される。なお、棚足間の距離が同じ棚30は同じ種別に属し、棚足間の距離が異なる棚30は異なる種別に属する。例えば、図2では、底面が長方形の棚30Aの種別「A」と、底面が正方形の棚30B〜30Eの種別「B」とがある。

棚足距離502には、棚足間の距離が登録される。図2のように、棚30の底面の頂点に棚足が設けられる場合、棚足間の距離は、棚30の辺の長さを示すことになるので、棚足距離502には棚30の辺の長さが登録されてもよい。底面が長方形の種別「A」の棚足距離502には、P1及びP2が登録され、底面が正方形の種別「B」の棚足距離502には、P1及びP1が登録される。

棚足モデル503には、棚足の形状を特定可能なデータ、一つの棚足の二つの端点の最長距離(L0)、及びオフセット(δ)が登録される。棚足の形状を特定可能なデータとは、棚足の形状の種別(棚足が円柱であるか直方体であるか等)を示す情報、棚足が円柱である場合当該円柱の半径、及び棚足が直方体である場合短辺の長さと長辺の長さとが登録される。また、最長距離(L0)は、棚足が円柱である場合円柱の直径がL0となり、棚足が直方体である場合対角線の長さがL0となる。オフセット(δ)の詳細は図9A〜図9Cで説明する。

なお、棚足の種別で棚足のL0が異なる場合、棚足の種別ごとに棚足モデル503が登録されてもよい。

図6は、本実施例の潜り込み棚決定処理のフローチャートである。

潜り込み棚決定処理は、棚搬送車20が潜り込む棚30を決定する処理であり、例えば、棚30が整列される前に棚30を整列する場合、又は棚搬送車20が自身の位置を見失った場合に実行される。潜り込み棚決定処理に対応するプログラムが棚搬送車20のコントローラ206のメモリ430に記憶され、プロセッサ420が当該プログラムを実行することによって、潜り込み棚決定処理を実行する。

まず、棚搬送車20のコントローラ206は距離センサ220による計測を開始し、コントローラ206のプロセッサ420は、距離センサ220から計測結果を取得する(601)。距離センサ220の計測結果の詳細は図7で説明する。

次に、プロセッサ420はステップ601の処理で取得した計測結果から連続部分を抽出し、棚モデルデータ500に含まれる棚足モデル503を参照し、抽出した連続部分から棚足候補となる部分を抽出する(602)。連続部分の抽出処理の詳細は図8A及び図8Bで説明する。また、棚足候補の抽出処理の詳細は、図9A〜図9Cで説明する。

次に、プロセッサ420は、棚モデルデータ500の棚足距離を参照し、ステップ602の処理で抽出された棚足候補から棚足距離を満たす棚足候補の組み合わせを抽出し、抽出した棚足候補の二つの組み合わせの基点となる基点棚足候補を抽出し、抽出した基点棚足候補に棚30を仮想的に配置した棚配置候補を算出する(603)。棚配置候補の算出処理の詳細は、図10A〜図14Cで説明する。

次に、プロセッサ420は、ステップ603の処理で算出した棚配置候補ごとに、棚配置候補の棚30の棚足とならない棚足候補の数を示す棚足候補の超過数と、棚配置候補の棚30の棚足に対応する棚足候補が検出されていない位置の数を示す棚足候補の不足数とを算出する(604)。棚足候補の過不足の算出処理の詳細は、図15A〜図17Cで説明する。

次に、プロセッサ420は、ステップ604の処理で算出した棚足候補の過不足に基づいて、ステップ603の処理で算出した棚配置候補から棚配置を決定する(605)。

次に、プロセッサ420は、ステップ605の処理で決定した棚配置の各棚30からの搬送ルートを算出する(606)。搬送ルートは、例えば、各棚30から倉庫又は工場内の棚搬送車20が走行する走行通路までの最短距離のルートである。

次に、プロセッサ420は、ステップ606の処理で算出した搬送ルートとステップ605の処理で決定した棚配置において棚30の配置位置とに基づいて、搬送できない棚30を潜り込む棚30の候補から除外して、搬送可能な棚30から潜り込む棚30を決定し(607)、潜り込み棚決定処理を終了する。具体的には、プロセッサ420は、搬送ルート上に棚配置の他の棚30が位置する棚を、搬送できない棚30として特定する。これによって、棚30が整列される前の状態であっても、棚搬送車20は、搬送できる棚30の下に潜り込むことができるので、効率的に棚30の整列作業を実施できる。

なお、棚搬送車20が自身の位置を見失った場合に実行される潜り込み棚決定処理で潜り込み棚30が決定された場合、棚搬送車20が当該棚20に潜り込むと、棚認識用センサ209によって棚30の識別情報を取得し、取得した棚30の識別情報を棚搬送車管理装置10に送信する。棚搬送車管理装置10は、棚30の識別情報と棚30の位置情報とを対応付けて管理しているので、受信した棚30の識別情報に対応する位置情報を、棚搬送車20に送信する。棚搬送車20は、当該棚30の位置情報を受信することによって、自身の位置を認識できる。棚搬送車20が自身の位置を見失った場合に、当該潜り込み棚決定処理を実行して、いずれかの棚30に潜り込めば、自身の位置を特定できる。

また、他の棚30より搬送頻度の低い棚30又は搬送されない棚30等の棚搬送車20の搬送により位置が変更される頻度が低い棚30をランドマーク棚として設置しておき、プロセッサ420は、当該ランドマーク棚を優先して潜り込む棚30に決定してもよい。ランドマーク棚の棚足には再帰性反射マーカーが取り付けられることによって、プロセッサ420は、距離センサ220の計測結果から反射強度が他の箇所より強い箇所をランドマーク棚の棚足として識別可能である。ランドマーク棚の正確な位置情報を棚搬送車管理装置10が管理しておくことによって、棚搬送車20は自身の位置を見失った場合であっても、当該ランドマーク棚に潜り込み、当該ランドマーク棚の識別情報を棚搬送車管理装置10に送信することによって、搬送頻度の高い棚30に潜り込むよりも、自身の正確な位置情報を認識できる。ランドマーク棚の正確な位置情報は、予め棚搬送車20が記憶しておき、棚搬送車20と棚搬送車管理装置10との通信を省略しても良い。

また、棚搬送車20は、ステップ605の処理で決定した棚配置及びステップ607の処理で決定した潜り込む棚30を棚搬送車管理装置10に送信する。棚搬送車管理装置10は、棚搬送車20が潜り込む棚30の搬送先を、受信した棚配置の棚から所定範囲内の位置に決定する。そして、棚搬送車管理装置10は、搬送先の位置を棚搬送車20に送信する。棚搬送車20は、受信した搬送先の位置まで棚30を搬送する。例えば、所定範囲は、距離センサ220が距離を測定可能な範囲に設定されることが望ましい。これによって、棚搬送車20が潜り込んだ棚30を搬送中に自身の位置を見失っても、距離センサ220で距離を測定可能な範囲に棚30が存在するので、当該棚を検出できるので、自身の位置を再度認識できる。

図7は、本実施例の距離センサ220による計測結果の説明図である。

距離センサ220は、例えば赤外線等の光を照射し、障害物による反射光を受光することによって、自身から障害物までの距離を検出する。図7では、棚30が図2の状態で配置された倉庫内において距離センサ220が自身と障害物との距離を測定した計測結果を示す。図7に示す計測結果は、黒丸701によって示される複数の計測データを含み、計測データは距離センサ220が照射した光を反射した箇所である。

距離センサ220に近い計測データ倉庫内の壁と棚30の棚足とが障害物として検出される。具体的には、棚30Aの四つの棚足が障害物として検出され、棚30Bの三つの棚足が障害物として検出され、棚30Cの三つの棚足が障害物として検出され、棚30Dの一つの障害物として検出され、棚30Eの三つの棚足が障害物として検出される。

図8Aは、本実施例の連続部分の抽出処理の説明図である。

図6に示すステップ602の処理で、プロセッサ420は、計測結果に含まれる計測データから連続部分を抽出する。具体的には、プロセッサ420は、隣接する計測データ間の距離(d)が予め設定された閾値(d0)以下であるか否かを判定する。例えば、閾値(d0)は2cmに設定されるものとする。隣接する計測データ間の距離(d)が閾値(d0)以下であれば、プロセッサ420は、当該隣接する計測データは連続部分であると判断する。

また、隣接する計測データ間の距離(d)が閾値(d0)より大きい場合、距離センサ220から隣接する計測データの中点を通る中心線801と隣接する計測データ間を通る線802との角度(φ)が予め設定された閾値(φ0)以上であれば、当該隣接する計測データは連続部分であると判断する。

図8Bは、本実施例の計測結果から抽出された連続部分の説明図である。

図8Aで説明した連続部分の抽出処理が図7に示す計測結果に対して実行されると、図8Bに示す連続部分810A〜810Sが抽出される。例えば、図8Bに示す計測データ701A及び701Bは隣接する計測データである。計測データ701A及び701B間の距離(d)は閾値(d0)より大きく、距離センサ220から計測データ701A及び701Bの中点を通る中心線と計測データ701A及び701B間を通る線との角度(φ)は閾値(φ0)より小さくなるので、計測データ701A及び701Bは連続部分として抽出されない。

また、計測データ701C及び701D間の距離(d)は閾値(d0)より大きいが、距離センサ220から計測データ701C及び701Dの中点を通る中心線と計測データ701C及び701D間を通る線との角度(φ)は閾値(φ0)より大きくなるので、計測データ701C及び701Dは連続部分として抽出される。

距離センサ220から距離が遠いほど、隣接する計測データ間の距離は大きくなるが、例えば計測データ701C及び701Dのように同一線上に位置して連続部分として抽出されるべき隣接する計測データの中心線と当該隣接する計測データを通る線との角度は、大きくなる。一方、計測データ701A及び701Bのように同一線上に位置せず連続部分として抽出されるべきでない隣接する計測データの中心線と当該隣接する計測データを通る線との角度は小さくなる。このため、中心線と隣接する計測データ間を通る線との角度が閾値以上であるか否かが判定されることによって、距離センサ220から遠い計測データ間を連続部分として抽出することができる。

次に、図9A〜図9Cを用いて、図6に示すステップ603の処理の棚足候補を抽出する処理について説明する。

棚足候補の抽出処理では、プロセッサ420は、各連続部分の両端となる二つの連続データ間の距離(L)を算出する。次に、プロセッサ420は、算出した距離(L)が棚モデルデータ500の棚足モデル503に登録された閾値(L0)以下であれば連続部分に一つの棚足候補が含まれると判断する。この場合、プロセッサ420は、距離センサ220から連続部分の中心位置までの距離(D)に予め設定されたオフセットαを加算した位置を棚足候補の配置位置として算出する。なお、オフセットαは、棚足が円柱である場合には当該棚足の半径であり、棚足が直方体である場合には(短辺長さ+対角線長さ)/4によって算出される値である。

また、連続部分の両端となる二つの連続データ間の距離(L)が棚モデルデータ500の棚足モデル503に登録された閾値(L0)より大きい場合、プロセッサ420は、当該距離(L)が棚モデルデータ500の棚足モデル503に登録された閾値(L0)より大きく、かつ、閾値(L0)を二倍した値に棚足モデル503に登録されたオフセット(δ)加算した値(2L0+δ)以下であるか否かを判定する。

連続部分の両端となる二つの連続データ間の距離(L)が2L0+δより大きい場合、プロセッサ420は当該連続部分を棚足候補として抽出しない。

連続部分の両端となる二つの連続データ間の距離(L)が閾値(L0)より大きくかつ、2L0+δより小さい場合、プロセッサ420は当該連続部分に二つ又は三つの棚足候補が含まれるものと判断する。

なお、棚足モデル503に登録されたオフセット(δ)は、連続部分の抽出に用いた閾値(d0)及び数1によって算出される値(d1)のいずれか大きい方に設定される。

数1において、Dは、連続部分の中心位置から距離センサ220までの距離を示し、φは、図8Aに示す角度(φ)であり、φ0は、図8Aに示す角度の閾値(φ0)を示す。

図9A及び図9Bは、本実施例の連続部分に二つ又は三つの棚足候補が含まれる場合の棚足候補の配置位置を算出する処理の説明図である。図9A及び図9Bでは、説明を簡単にするために、棚足の形状が直方体である場合について説明する。

まず、プロセッサ420は、連続部分800の両端の計測データ701E及び701Fそれぞれに、棚足モデル503に登録された棚足の形状が特定可能なデータによって特定される棚足の形状を示す棚足モデル900A及び900Bを仮想的に配置する。棚足モデル900A及び900Bを配置した状態は、図9Aの(A)及び図9Bの(A)に示す。

次に、プロセッサ420は、棚足モデル900Aの辺が計測データ701Eと当該計測データ701Eに隣接する計測データ701Gとを通る線に一致するように、棚足モデル900Aを回転させる。同じく、プロセッサ420は、棚足モデル900Bの辺が計測データ701Fと当該計測データ701Fに隣接する計測データ701Hとを通る線に一致するように、棚足モデル900Bを回転させる。棚足モデル900A及び900Bを配置した状態は、図9Aの(B)及び図9Bの(B)に示す。

図9Aの(B)では、連続部分に含まれる全ての計測データが棚足モデル900A及び900Bの辺上に位置するので、連続部分に二つの棚足候補が含まれるものであり、棚足候補の配置位置は、棚足モデル900A及び900Bを回転させた位置となる。

一方、図9Bの(B)では、連続部分に含まれる計測データのうち棚足モデル900A及び900Bの辺上に位置しない計測データが存在するので、プロセッサ420は、当該連続部分には三つの棚足候補が含まれると判断する。そして、プロセッサ420は、棚足モデル900A及び900Bの辺上に位置しない計測データに対応するように棚足モデル900Cを配置する。三つ目の棚足モデル900Cを配置した状態は、図9Bの(C)に示す。この場合の棚足候補の配置位置は、図9B(C)に示す棚足モデル900A〜900Cを配置した位置となる。

なお、連続部分に一つの棚足候補が含まれる場合であっても、図9A及び図9Bで説明したように棚足モデルを仮想的に配置することによって、棚足候補の配置位置を算出してもよい。

図9Cは、本実施例の計測結果から抽出された棚足候補の説明図である。

図8Bに示す連続部分810A〜810Sに対して棚足候補の抽出処理が実行された場合、図9Cに示す棚足候補910A〜910Uが抽出される。

図8Bに示す連続部分810A及び810Iからは棚足候補が抽出されていない。また、連続部分810C、810D、及び810Dからはそれぞれ二つの棚足候補(910S及び910、910Q及び910R、910M及び910N)が抽出されている。

次に、図6に示すステップ603の処理において、棚モデルデータ500の棚足距離を満たす棚足候補の組み合わせを抽出する処理について図10A及び図10Bを用いて説明する。

図5に示す棚モデルデータ500では、棚足距離がP1である棚30の辺(棚辺)と棚足距離がP2である棚辺とがある。プロセッサ420は、二つの棚足候補の距離(P)を算出し、算出した距離PとP1との差分が予め設定された閾値以下である棚足候補の組み合わせを棚足距離P1の棚辺候補として抽出し、算出した距離PとP2との差分が予め設定された閾値以下である棚足候補の組み合わせを棚足距離P2の棚辺候補として抽出する。なお、閾値は例えば3cmであるとする。

図10Aは、本実施例の棚足距離P1の棚辺候補として抽出された棚足候補の組み合わせの説明図である。

棚足距離P1の棚辺候補として抽出された棚足候補の組み合わせは、棚足候補910A及び910Bの組み合わせ、棚足候補910B及び910Cの組み合わせ、棚足候補910B及び910Eの組み合わせ、棚足候補910C及び910Gの組み合わせ、棚足候補910E及び910Gの組み合わせ、棚足候補910H及び910Iの組み合わせ、棚足候補910H及び910Kの組み合わせ、棚足候補910L及び910Qの組み合わせ、棚足候補910O及び910Qの組み合わせ、並びに棚足候補910R及び910Uの組み合わせである。

図10Bは、本実施例の棚足距離P2の棚辺候補として抽出された棚足候補の組み合わせの説明図である。

棚足距離P2の棚辺候補として抽出された棚足候補の組み合わせは、棚足候補910A及び910Gの組み合わせ、棚足候補910B及び910Kの組み合わせ、棚足候補910C及び910Lの組み合わせ、棚足候補910E及び910Iの組み合わせ、棚足候補910E及び910Uの組み合わせ、棚足候補910F及び910Iの組み合わせ、棚足候補910H及び910Qの組み合わせ、棚足候補910I及び910Oの組み合わせ、棚足候補910G及び910Rの組み合わせ、並びに棚足候補910L及び910Pの組み合わせである。

次に、プロセッサ420は、棚足距離P1及びP2の棚辺候補として抽出された棚足候補の組み合わせの棚足候補から処理対象の棚足候補を選択する。そして、プロセッサ420は、選択した処理対象の棚足候補が棚足距離P1の棚辺候補として抽出された二つの棚足候補の組み合わせに含まれるか、棚足距離P1の棚辺候補として抽出された一つの棚足候補の組み合わせに含まれ、かつ棚足距離P2の棚辺候補として抽出された一つの棚足候補の組み合わせに含まれる場合、当該処理対象の棚足候補を棚30の頂点となり得る基点棚足候補として抽出する。

本実施例では、図5で説明したように、種別「A」の棚30は棚足距離P1の棚辺を短辺であり、棚足距離P2の棚辺が長辺である。種別「B」の棚30は短辺及び長辺ともに棚足距離P1の棚辺である。このため、棚辺候補として抽出された棚足候補の組み合わせに含まれる棚足候補が、棚足距離P1の棚辺と棚足距離P2の棚辺との基点、又は棚足距離P1の二つの棚辺の基点となる場合、当該棚足候補を基点棚足候補として抽出する。

図10A及び図10Bに示す棚足距離P1又は棚足距離P2の棚辺候補として抽出された棚足候補においては、棚足候補910B、910C、910E、910G、910H、910I、910O、910Q、910R、及び910Uが基点棚足候補として抽出される。

図11A〜図11Dを用いて各基点棚足候補がどの棚辺の基点となるかについて説明する。

図11A〜図11Dを用いて各基点棚足候補がどの棚辺の基点となるかについて説明する。

図11Aは、本実施例の基点棚足候補910Bを基点とする棚辺の説明図である。棚足候補910Bは、棚足候補910Aとの間の棚足距離P1の棚辺及び棚足候補910Cとの間の棚足距離P1の棚辺の基点となり、また、棚足候補910Cとの間の棚足距離P1の棚辺及び棚足候補910Eとの間の棚足距離P1の棚辺の基点となる。このため、棚足候補910Bは、棚足候補910A及び910Cを頂点とする種別「B」の棚30の頂点となる可能性があり、また、棚足候補910C及び910Eを頂点とする種別「B」の棚30の頂点となる可能性がある。

また、図11A〜図11Dには図示していないが、基点棚足候補910Cは、棚足候補910Bとの間の棚足距離P1の棚辺及び棚足候補910Gとの間の棚足距離P1の棚辺の基点となる。このため、棚足候補910Cは、棚足候補910B及び910Gを頂点とする種別「B」の棚30の頂点となる可能性がある。

図11Bは、本実施例の基点棚足候補910Eを基点とする棚辺の説明図である。棚足候補910Eは、棚足候補910Bとの間の棚足距離P1の棚辺及び棚足候補910Gとの間の棚足距離P1の棚辺の基点となり、また、棚足候補910Bとの間の棚足距離P1の棚辺及び棚足候補910Iとの間の棚足距離P2の棚辺の基点となり、また、棚足候補910Gとの間の棚足距離P1の棚辺及び棚足候補910Uとの間の棚足距離P2の棚辺の基点となる。このため、棚足候補910Eは、棚足候補910B及び910Gを頂点とする種別「B」の棚30の頂点となる可能性があり、棚足候補910B及び910Iを頂点とする種別「A」の棚30の頂点となる可能性があり、棚足候補910G及び910Uを頂点とする種別「A」の棚30の頂点となる可能性がある。

また、図11A〜図11Dには図示していないが、基点棚足候補910Gは、棚足候補910Cとの間の棚足距離P1の棚辺及び棚足候補910Eとの間の棚足距離P1の棚辺の基点となり、また、棚足候補910Eとの間の棚足距離P1の棚辺及び棚足候補910Rとの間の棚足距離P2の棚辺の基点となる。このため、棚足候補910Gは、棚足候補910C及び910Eを頂点とする種別「B」の棚30の頂点となる可能性があり、棚足候補910E及び910Rを頂点とする種別「A」の棚30の頂点となる可能性がある。

また、図11A〜図11Dには図示していないが、基点棚足候補910Hは、棚足候補910Iとの間の棚足距離P1の棚辺及び棚足候補910Kとの間の棚足距離P1の棚辺の基点となり、また、棚足候補910Iとの間の棚足距離P1の棚辺及び棚足候補910Qとの間の棚足距離P2の棚辺の基点となる。このため、棚足候補910Hは、棚足候補910I及び910Kを頂点とする種別「B」の棚30の頂点となる可能性があり、棚足候補910I及び910Qを頂点とする種別「A」の棚30の頂点となる可能性がある。

また、図11A〜図11Dには図示していないが、基点棚足候補910Iは、棚足候補910Hとの間の棚足距離P1の棚辺及び棚足候補910Oとの間の棚足距離P2の棚辺の基点となる。このため、棚足候補910Iは、棚足候補910H及び910Oを頂点とする種別「A」の棚30の頂点となる可能性がある。

また、図11A〜図11Dには図示していないが、基点棚足候補910Oは、棚足候補910Qとの間の棚足距離P1の棚辺及び棚足候補910Iとの間の棚足距離P2の棚辺の基点となる。このため、棚足候補910Oは、棚足候補910Q及び910Iを頂点とする種別「A」の棚30の頂点となる可能性がある。

図11Cは、本実施例の基点棚足候補910Qを基点とする棚辺の説明図である。棚足候補910Qは、棚足候補910Lとの間の棚足距離P1の棚辺及び棚足候補910Oとの間の棚足距離P1の棚辺の基点となり、また、棚足候補910Oとの間の棚足距離P1の棚辺及び棚足候補910Hとの間の棚足距離P2の棚辺の基点となる。このため、棚足候補910Qは、棚足候補910L及び910Oを頂点とする種別「B」の棚30の頂点となる可能性があり、棚足候補910O及び910Hを頂点とする種別「A」の棚30の頂点となる可能性がある。

また、図11A〜図11Dには図示していないが、基点棚足候補910Rは、棚足候補910Uとの間の棚足距離P1の棚辺及び棚足候補910Gとの間の棚足距離P2の棚辺の基点となる。このため、棚足候補910Rは、棚足候補910U及び910Gを頂点とする種別「A」の棚30の頂点となる可能性がある。

図11Dは、本実施例の基点棚足候補910Uを基点とする棚辺の説明図である。棚足候補910Rとの間の棚足距離P1の棚辺及び棚足候補910Eとの間の棚足距離P2の棚辺の基点となる。このため、棚足候補910Uは、棚足候補910R及び910Eを頂点とする種別「A」の棚30の頂点となる可能性がある。

次に、プロセッサ420は、抽出した各基点棚足候補、及び当該基点棚足候補を基点とする二つの棚辺のそれぞれの端点となる棚足候補を頂点とする棚30を仮想的に配置し、各基点棚足候補を基点とする棚辺から同一の棚30の棚辺を削除することによって、各基点棚足候補を整理する。

図12は、本実施例の棚30が各基点棚足候補に仮想的に配置された状態の説明図である。図13Aは、本実施例の整理後の基点棚足候補910Bを基点とする棚辺の説明図であり、図13Bは、本実施例の整理後の基点棚足候補910Eを基点とする棚辺の説明図であり、図13Cは、本実施例の整理後の基点棚足候補910Qを基点とする棚辺の説明図であり、図13Dは、本実施例の整理後の基点棚足候補910Uを基点とする棚辺の説明図である。

基点棚足候補910Bには、棚足候補910A及び910Cを頂点とする種別「B」の棚1210Aが仮想的に配置される。また、基点棚足候補910Bには、棚足候補910C及び910Eを頂点とする種別「B」の棚1210Bが仮想的に配置される。棚1210Bは、棚足候補910B、910C、910G、及び910Eを頂点とするので、プロセッサ420は、図13Aに示すように、基点棚足候補910Bの棚足候補910Cとの間の棚足距離P1の棚辺及び棚足候補910Cとの間の棚足距離P1の棚辺に、棚足候補910Gも関連付ける。

また、プロセッサ420は、棚1210Bの頂点となる基点棚足候補910C、910E、及び910Gから棚1210Bの棚辺を削除する。例えば、基点棚足候補910Eにおいては、図13Bに示すように、棚足候補910Bとの間の棚辺及び棚足候補910Gとの間の棚辺の関連付けを削除する。

基点棚足候補910Eには、棚足候補910B及び910Iを頂点とする種別「A」の棚1200Aが仮想的に配置され、棚足候補910G、910R、及び910Uを頂点とする種別「A」の棚1200Bが仮想的に配置される。棚1200Bは、棚足候補910E、910G、910R、及び910Uを頂点とするので、プロセッサ420は、図13Bに示すように、基点棚足候補910Eの棚足候補910Gとの間の棚足距離P1の棚辺及び棚足候補910Uとの間の棚足距離P2の棚辺に、棚足候補910Rも関連付ける。

また、プロセッサ420は、棚1200Bの頂点となる基点棚足候補910G、910R、及び910Uから棚1200Bの棚辺を削除する。例えば、基点棚足候補910Uにおいては、図13Dに示すように、棚足候補910Rとの間の棚辺及び棚足候補910Eとの間の棚辺の関連付けを削除する。

基点棚足候補910Hには、棚足候補910I及び910Kを頂点とする種別「B」の棚1210Cが仮想的に配置され、棚足候補910I、910O、及び910Qを頂点とする種別「A」の棚1200Cが仮想的に配置される。棚1200Cは、棚足候補910H、910I、910O、及び910Qを頂点とするので、プロセッサ420は、基点棚足候補910Hの棚足候補910Iとの間の棚足距離P1の棚辺及び棚足候補910Qとの間の棚足距離P2の棚辺に、棚足候補910Oも関連付ける。

また、プロセッサ420は、棚1200Cの頂点となる基点棚足候補910I、910O、及び910Qから棚1200Cの棚辺を削除する。例えば、基点棚足候補910Qにおいては、図13Cに示すように、棚足候補910Oとの間の棚辺及び棚足候補910Hとの間の棚辺の関連付けを削除する。

基点棚足候補910Qには、棚足候補910L及び910Oを頂点とする種別「B」の棚1210Dが仮想的に配置される。

このように、各基点棚足候補の棚辺との関係が整理される。

次に、プロセッサ420は、ある棚30の棚足となった棚足候補が他の棚30の棚足とならないように棚配置候補を算出する。図12に示す例では、棚配置候補に棚1200Aが含まれるものとすると、棚1200Aは、棚足候補910B、910E、及び910Iを頂点となり、棚足候補910B、910E、及び910Iは棚1200Aとなる。このため、棚足候補910Bを頂点とする棚1210A、棚足候補910B及び910Eを頂点とする棚1210B、棚足候補910Eを頂点とする棚1200B、並びに、棚足候補910Iを頂点とする棚1210Cは当該棚配置候補に含まれず、これらの棚1210A、1210B、1200B、及び1210C以外の棚と棚1200Aとの全ての組み合わせ分の棚配置候補が算出される。ここで、各棚配置候補に対し、どの棚30にも利用されていない2つの棚足候補が棚辺候補を形成する場合、その棚辺候補が構成要素となる棚30をその位置に設置する新たな棚配置候補を追加しても良い。本実施例では、説明を簡単にするために、図14A〜図14Cに示す棚配置候補を例に説明する。

図14Aは、本実施例の第1棚配置候補の説明図である。第1棚配置候補は、棚1210A、1210C、1210D、及び1200Bを含む。

図14Bは、本実施例の第2棚配置候補の説明図である。第2棚配置候補は、棚1210A、1200B、及び1200Cを含む。

図14Cは、本実施例の第3棚配置候補の説明図である。第3棚配置候補は、棚1200A及び1210Dを含む。

次に、図6に示すステップ604の処理における各棚配置候補の棚足候補の過不足の算出について図15A〜図15Cを用いて説明する。

図15Aは、本実施例の第1棚配置候補の棚足候補の過不足の算出の説明図である。

第1棚配置候補では、棚1210A、1210C、1210D、及び1200Bの棚足とならない棚足候補は910D、910F、910J、910M、910N、910P、910S、及び910Tである。第1棚配置候補のいずれの棚の棚足とならない棚足候補の数を示す棚足候補の超過数は、8個である。

また、第1棚配置候補では、棚1210A、1210C、及び1210Dの棚足となるべき棚足候補がそれぞれ一つずつ抽出されていない。第1棚配置候補の棚足候補の不足数は、3個である。

これより、複数の棚配置候補から棚足候補の過不足に基づき棚配置を決定する。ここで、その決定のための棚配置候補の評価する値として、例えば、棚配置候補の過不足数が考えられる。棚配置候補の棚足候補の過不足数とは、棚配置候補の棚足候補の超過数と棚配置候補の棚足候補の不足数とを加算して算出する。過不足数が小さい棚配置候補ほど尤もらしいと言える。第1棚配置候補の棚足候補の過不足数は11となる。過不足数は棚配置候補の評価の一例であり、本発明はそれに限るものではない。他の評価の一例としては、超過数と不足数とを重み付けをして足し合わせた評価値を使うことが考えられる。距離センサ220がノイズを多く含むような特性の場合は、超過数が必然的に増える。このような場合は、不足数が重視されるように重み付けをすることで、棚配置候補の尤もらしさを正しく評価することができる。逆に、距離センサ220のノイズの影響を軽減するため、図8Bの連続部分810Eのように計測点の少ない連続部分810を棚足候補910に含めない棚足候補抽出方法も考えられるが、この方法では、不足数が必然的に増える。このような場合は、超過数を重視するように重み付けをすることで、棚配置候補の尤もらしさを正しく評価することができる。

図15Bは、本実施例の第2棚配置候補の棚足候補の過不足の算出の説明図である。

第2棚配置候補では、棚1210A、1200C、及び1200Bの棚足とならない棚足候補は910D、910F、910J、910K、910L、910M、910N、910P、910S、及び910Tであり、第2棚配置候補のいずれの棚の棚足とならない棚足候補の超過数は、10個である。

また、第2棚配置候補では、棚1210Aの棚足となるべき棚足候補が一つ抽出されていないので、第2棚配置候補の棚足候補の不足数は、1個である。

したがって、第2棚配置候補の棚足候補の過不足数は11となる。

図15Cは、本実施例の第3棚配置候補の棚足候補の過不足の算出の説明図である。

第3棚配置候補では、棚1200A及び1210Dの棚足とならない棚足候補は910A、910C、910D、910F、910G、910H、910J、910K、910M、910N、910P、910S、910R、910T、及び910Uであり、第3棚配置候補のいずれの棚の棚足とならない棚足候補の超過数は、15個である。

また、第3棚配置候補では、棚1200A及び1210Dの棚足となるべき棚足候補がそれぞれ一つずつ抽出されていないので、第3棚配置候補の棚足候補の不足数は、2個である。

したがって、第3棚配置候補の棚足候補の過不足数は17となる。

以上によって、プロセッサ420は、過不足数が最小となる第1棚配置候補又は第2棚配置候補を棚配置として決定する。

なお、プロセッサ420は、過不足を算出する場合、オクルージョンを考慮して過不足を算出してもよい。オクルージョンとは、例えば、ある棚足が当該棚足より距離センサ200に近い棚足や他の物体に隠れてしまうことである。プロセッサ420は、このような棚足を不足数としてカウントしないことによって、オクルージョンを考慮した過不足を算出できる。また、プロセッサ420は、過不足を算出する際、距離センサ220の計測範囲を考慮して過不足を算出しても良い。ある棚30の棚足が距離センサ220の計測範囲に入っていない場合は、不足数としてカウントしないことにより、棚配置候補の尤もらしさを正しく評価できる。オクルージョンを考慮した過不足算出の処理について図16A〜図16Cを用いて説明する。

図16Aは、本実施例の第1棚配置候補のオクルージョンを考慮した棚足候補の過不足の算出の説明図である。

まず、プロセッサ420は、棚足となるべき棚足候補が抽出されていない棚の棚足となるべき位置を特定する。例えば、棚1210Aであれば、棚足候補910Bと910Cとの間の線に平行な棚足候補910Aからの線と、棚足候補910Aと棚足候補910Bとの間の線に平行な棚足候補910Cからの線との交点が、抽出されていない棚足の位置となる。

次に、プロセッサ420は、抽出されていない棚足の位置から距離センサ220までの線上に棚足候補として抽出された計測データが存在する場合、抽出されていない棚足の位置は、当該計測データの棚足候補によってオクルージョンが発生していると判断する。そして、プロセッサ420は、当該位置は棚足候補が不足していないものとして、算出した不足数に1を加算する。

図16Aでは、棚1210A、1210C、及び1210Dの抽出されていない棚足の位置は、それぞれ、位置1600A、1600B、及び1600Cと特定される。

位置1600Aと距離センサ220との間の線上には棚足候補910Bとして抽出された計測データが存在するので、該位置1600Aは棚足候補の不足数としてカウントしない。同様に、位置1600Bと距離センサ220との間の線上には棚足候補910Kとして抽出された計測データが存在するので、該位置1600Bは棚足候補の不足数としてカウントせず、位置1600Cと距離センサ220との間の線上には棚足候補910Lとして抽出された計測データが存在するので、該位置1600Cは棚足候補の不足数としてカウントしない。

このため、第1棚配置候補の棚足候補の不足数は0個であり、第1棚配置候補の棚足候補の過不足数は8となる。

図16Bは、本実施例の第2棚配置候補のオクルージョンを考慮した棚足候補の過不足の算出の説明図である。

図16Bでは、棚1210Aの抽出されていない棚足の位置は、それぞれ、位置1600Aと特定される。

位置1600Aと距離センサ220との間の線上には棚足候補910Bとして抽出された計測データが存在するので、該位置1600Aは棚足候補の不足数としてカウントしない。このため、第2棚配置候補の棚足候補の不足数は2個であり、第2棚配置候補の棚足候補の過不足数は10となる。

図16Bは、本実施例の第2棚配置候補のオクルージョンを考慮した棚足候補の過不足の算出の説明図である。

図16Bでは、棚1210Aの抽出されていない棚足の位置は、位置1600Aと特定される。

位置1600Aと距離センサ220との間の線上には棚足候補910Bとして抽出された計測データが存在するので、該位置1600Aは棚足候補の不足数としてカウントしない。このため、第2棚配置候補の棚足候補の不足数は2個であり、第2棚配置候補の棚足候補の過不足数は10となる。

図16Cは、本実施例の第3棚配置候補のオクルージョンを考慮した棚足候補の過不足の算出の説明図である。

図16Cでは、棚1200A及び棚1210Dの抽出されていない棚足の位置は、それぞれ、位置1600D及び1600Cと特定される。

位置1600Dと距離センサ220との間の線上には棚足候補910Eとして抽出された計測データが存在するので、該位置1600Dは棚足候補の不足数としてカウントしない。図16Aで説明したように、位置1600Cも棚足候補の不足数としてカウントしない。このため、第3棚配置候補の棚足候補の不足数は0個であり、第3棚配置候補の棚足候補の過不足数は15となる。

したがって、過不足が最小となる第1棚配置候補となり、第1棚配置候補が棚配置として決定される。

以上によって、棚搬送車20は、棚足のオクルージョンを考慮して棚配置を決定できるので、より正確に棚配置を決定することができる。以上は、棚足候補がオクルージョンを発生させる例を示したが、本発明は、計測データの連続部分によって表現される他の物体がオクルージョンを発生させる場合も含む。その場合は、上述の説明の棚足候補を計測データの連続部分と置き換えれば実施できる。

なお、プロセッサ420は、棚配置候補の棚30に干渉する棚足候補の数又は計測データの連続部分の数又は長さを考慮して、棚配置候補を評価しても良い。そのうち、干渉する棚足候補の数を考慮する処理について図17A及び図17Bを用いて説明する。棚配置候補の棚30に干渉する棚足候補又は計測データの連続部分とは、棚配置候補の棚30が構成する矩形領域内に位置する棚足候補又は計測データの連続部分である。例えば、棚30では棚足と棚足との間に棚足が存在しないので、二つの棚足間に棚足候補が位置する場合には、この棚30の配置は誤った配置である可能性が高い。

第1棚配置候補は、棚30に干渉する棚足候補は存在しない。

図17Aは、本実施例の第2棚配置候補を評価する際に棚30に干渉する棚足候補の数を考慮する場合の説明図である。

第2棚配置候補では、棚1200Cの棚足候補910Hと棚足候補910Qとの間に棚足候補910K及び910Lが位置する。第2棚配置候補の干渉する棚足候補の数は2個である。干渉する棚足候補の数を考慮した棚配置候補の棚足候補の評価値の一例としては、棚配置候補の棚足候補の超過数と棚配置候補の棚足候補の不足数と干渉する棚足候補の数とを加算して算出した値が考えられる。この評価値は過不足数と同様に小さい方が尤もらしい棚配置候補であることを表している。このため、第2棚配置候補の評価値は、15である。

図17Bは、本実施例の第3棚配置候補を評価する際に棚30に干渉する棚足候補の数を考慮する場合の説明図である。

第3棚配置候補では、棚1200Aの棚足候補910Eと棚足候補910Iとの間に棚足候補910H及び910Gが位置し、棚足候補910Bと抽出されていない棚足との間に棚足候補910Cが位置する。第3棚配置候補の干渉する棚足候補の数は3個である。このため、第3棚配置候補の評価値は、20である。

この場合、評価値が最小となる第1棚配置候補となり、第1棚配置候補が棚配置として決定される。

以上によって、棚搬送車20は、干渉する棚足候補の数を考慮して棚配置を決定できるので、より正確に棚配置を決定することができる。以上は、棚足候補の干渉を考慮する一例であったが、同様に計測データの連続部分で表現される他の物体の干渉を考慮する場合も考えることができる。ここで、計測データの連続部分は、棚足候補の長さよりも長い。そのため、計測データの連続部分の長さが、棚足候補の何個分の長さに相当するかを算出し、それが仮にN個であった場合、その計測データの連続部分の干渉は棚足候補の干渉N個分に相当すると考えるべきである。これにより、棚配置候補の評価値を算出することができる。

本実施例によれば、棚搬送車30は、棚モデルデータ500に登録された棚足距離を満たすように、距離センサ220による計測結果から抽出された棚足候補に棚30仮想的に配置した複数の棚配置候補を算出し、算出した棚配置候補の棚配置候補の過不足を算出し、算出した過不足に基づいて棚配置を決定し、決定した棚配置から棚搬送車20の移動先となる棚30を決定する。これによって、距離センサ220の計測範囲に複数の棚30が存在する場合であっても、移動先となる棚30を決定でき、ひいては、棚搬送車20が自身の位置を見失った場合であっても、自身の位置を再認識できる。また、棚30が整列される前であっても、棚搬送車30は、棚30を自動的に検出して移動することができるので、整列前の棚30を整列させることができる。

なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、及び置換をすることが可能である。

また、各実施例の構成の一部について、他の構成の追加、削除、及び置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。

また、前記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。

各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)等の記録媒体に置くことができる。

また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。

QQ群二维码
意见反馈