IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

特許7581085情報処理装置、情報処理方法及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-01
(45)【発行日】2024-11-12
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G01B 11/24 20060101AFI20241105BHJP
   G05D 1/43 20240101ALI20241105BHJP
【FI】
G01B11/24 A
G05D1/43
【請求項の数】 14
(21)【出願番号】P 2021033384
(22)【出願日】2021-03-03
(65)【公開番号】P2022134323
(43)【公開日】2022-09-15
【審査請求日】2023-12-13
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】渡辺 優香
(72)【発明者】
【氏名】中野 利紀
(72)【発明者】
【氏名】赤木 琢磨
(72)【発明者】
【氏名】岩崎 利夫
【審査官】櫻井 仁
(56)【参考文献】
【文献】特開2004-045261(JP,A)
【文献】特開2020-200154(JP,A)
【文献】国際公開第2018/221409(WO,A1)
【文献】特開2021-013969(JP,A)
【文献】特開2019-207230(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
G05D 1/00- 1/87
G01C 3/06
G01S 7/48- 7/51
G01S 17/00-17/95
(57)【特許請求の範囲】
【請求項1】
距離センサに接続するセンサインターフェースと、
前記距離センサを用いて、所定の角度ごとに回転を停止又は加減速する自動搬送車に積載され前記自動搬送車の回転によって回転する物品をスキャンし、
前記物品をスキャンして得られたスキャンデータから前記物品の三次元モデルを生成する、
プロセッサと、
を備え
前記プロセッサは、前記三次元モデルにおいて回転の停止又は加減速によって生じた歪みを修正する、
情報処理装置。
【請求項2】
前記自動搬送車は、垂直方向の軸を回転軸として回転し、
前記距離センサは、垂直方向に走査する、
請求項1に記載の情報処理装置。
【請求項3】
前記プロセッサは、前記自動搬送車の回転角度に基づいて前記歪みを修正する、
請求項に記載の情報処理装置。
【請求項4】
前記プロセッサは、時系列での前記自動搬送車の回転角度に基づいて前記歪みを修正する、
請求項に記載の情報処理装置。
【請求項5】
前記プロセッサは、
前記スキャンデータから基準形状をスキャンした基準データを取得し、
前記基準データに基づいて前記歪みを修正する、
請求項に記載の情報処理装置。
【請求項6】
前記プロセッサは、前記基準データから生成される三次元モデルが前記基準形状に対応するように前記歪みを修正する、
請求項に記載の情報処理装置。
【請求項7】
前記プロセッサは、前記距離センサを用いて、前記自動搬送車において前記物品が積載される積載台をスキャンし、
前記基準形状は、前記積載台である、
請求項5又は6に記載の情報処理装置。
【請求項8】
前記プロセッサは、前記距離センサを用いて、前記自動搬送車をスキャンし、
前記基準形状は、前記自動搬送車である、
請求項5又は6に記載の情報処理装置。
【請求項9】
前記プロセッサは、前記物品のテクスチャに基づいて前記歪みを修正する、
請求項に記載の情報処理装置。
【請求項10】
前記距離センサは、輝度値を取得し、
前記プロセッサは、取得された輝度値と前記テクスチャの輝度値とに基づいて前記歪みを修正する、
請求項に記載の情報処理装置。
【請求項11】
前記センサインターフェースは、前記物品を撮影するカメラに接続し、
前記プロセッサは、前記物品の前記三次元モデルに基づいて、前記カメラが撮影した画像から前記物品が写る領域を抽出する、
請求項1乃至10の何れか1項に記載の情報処理装置。
【請求項12】
前記距離センサを移動させる駆動機構と接続する駆動機構インターフェースを備え、 前記プロセッサは、前記駆動機構を用いて、前記自動搬送車の位置に応じて前記距離センサを移動させる、
請求項1乃至11の何れか1項に記載の情報処理装置。
【請求項13】
プロセッサによって実行される情報処理方法であって、
距離センサを用いて、所定の角度ごとに回転を停止又は加減速する自動搬送車に積載され前記自動搬送車の回転によって回転する物品をスキャンし、
前記物品をスキャンして得られたスキャンデータから前記物品の三次元モデルを生成
前記三次元モデルにおいて回転の停止又は加減速によって生じた歪みを修正する、
情報処理方法。
【請求項14】
プロセッサによって実行されるプログラムであって、
前記プロセッサに、
距離センサを用いて、所定の角度ごとに回転を停止又は加減速する自動搬送車に積載され前記自動搬送車の回転によって回転する物品をスキャンする機能と、
前記物品をスキャンして得られたスキャンデータから前記物品の三次元モデルを生成する機能と、
前記三次元モデルにおいて回転の停止又は加減速によって生じた歪みを修正する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
物流センタなどにおいて物品を自動的に搬送するシステムが提供されている。そのようなシステムは、自動搬送車を用いて物品を搬送する。また、システムには、各種のセンサを用いて物品の三次元モデルを取得するものがある。
【0003】
しかしながら、システムは、自動搬送車で物品を回転させて物品の三次元モデルを取得することができないという課題がある。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2019-207230号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の課題を解決するため、自動搬送車を用いて物品の三次元モデルを取得することができる情報処理装置、情報処理方法及びプログラムを提供する。
【課題を解決するための手段】
【0006】
実施形態によれば、情報処理装置は、センサインターフェースと、プロセッサと、を備える。センサインターフェースは、距離センサに接続する。プロセッサは、前記距離センサを用いて、自動搬送車に積載され前記自動搬送車の回転によって回転する物品をスキャンし、前記物品をスキャンして得られたスキャンデータから前記物品の三次元モデルを生成する。
【図面の簡単な説明】
【0007】
図1図1は、第1の実施形態に係る計測システムの構成例を概略的に示す図である。
図2図2は、第1の実施形態に係る計測システムの構成例を示すブロック図である。
図3図3は、第1の実施形態に係るWESの構成例を示すブロック図である。
図4図4は、第1の実施形態に係る第1のWCSの構成例を示すブロック図である。
図5図5は、第1の実施形態に係る第2のWCSの構成例を示すブロック図である。
図6図6は、第1の実施形態に係るAGVの構成例を示すブロック図である。
図7図7は、第1の実施形態に係る計測システムの動作例を示す図である。
図8図8は、第1の実施形態に係る計測システムの動作例を示す図である。
図9図9は、第1の実施形態に係る計測システムの計測結果の例を示すグラフである。
図10図10は、第1の実施形態に係る計測システムの計測結果の例を示すグラフである。
図11図11は、第1の実施形態に係る計測システムが生成した三次元モデルの例を示す図ある。
図12図12は、第1の実施形態に係る計測システムが生成した三次元モデルの例を示す図ある。
図13図13は、第1の実施形態に係る計測システムが生成した三次元モデルの例を示す図ある。
図14図14は、第1の実施形態に係る計測システムが修正した三次元モデルの例を示す図ある。
図15図15は、第1の実施形態に係る計測システムが修正した三次元モデルの例を示す図ある。
図16図16は、第1の実施形態に係る計測システムが修正した三次元モデルの例を示す図ある。
図17図17は、第1の実施形態に係る計測システムの動作例を示す図である。
図18図18は、第1の実施形態に係る計測システムの動作例を示す図である。
図19図19は、第1の実施形態に係る第2のWCSの動作例を示すフローチャートである。
図20図20は、第1の実施形態に係る第1のWCSの動作例を示すフローチャートである。
図21図21は、第2の実施形態に係る計測システムの構成例を概略的に示す図である。
図22図22は、第2の実施形態に係る第1のWCSの構成例を示すブロック図である。
図23図23は、第2の実施形態に係る第1のWCSの動作例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、図面を参照して実施形態について説明する。
(第1の実施形態)
まず、第1の実施形態について説明する。
実施形態に係る計測システムは、自動搬送車(Automated Guided Vehicle(AGV))を用いて物品を搬送する。計測システムは、自動搬送車に積載した状態で物品をスキャンする。計測システムは、スキャン結果から物品の三次元モデルを生成する。
【0009】
図1は、実施形態に係る計測システム1の構成例を概略的に示す。図1が示すように、計測システム1は、第1のWCS20、LRF101、カメラ102、AGV103、積載台104及び柱110などを備える。ここでは、計測システムは、物品105をスキャンする。
【0010】
物品105は、直方体である。また、物品105は、積載台104に複数個積載されている。また、複数の物品105は、直方体を形成するように積載台104に積載されている。
【0011】
物品105は、表面にコード106を備える。コード106は、物品105を特定するためのIDなどをエンコードして得られたコードである。たとえば、コード106は、バーコード又は二次元コードである。
【0012】
物品105の表面には、テクスチャ107が形成されている。テクスチャ107は、物品105の表面の模様などから構成される。また、テクスチャ107は、コード106を含むものであってよい。
【0013】
AGV103は、物品105を搬送する。AGV103は、上部に積載台104を備える。積載台104は、所定の形状を有する。ここでは、積載台104は、板状に形成されている。
【0014】
AGV103は、積載台104に物品105を積載し搬送する。AGV103は、指定された積載位置に移動して物品105を積載する。AGV103は、オペレータ又はロボットなどによって物品105を積載されるものであってもよい。また、AGV103は、物品105を積載する棚などの下に潜り込んで棚ごと物品105を持ち上げるものであってもよい。
【0015】
AGV103は、物品105を積載した状態で指定された位置まで移動する。また、AGV103は、物品105を積載した状態で回転する。
AGV103については、後に詳述する。
【0016】
LRF101(Laser rangefinder)(距離センサ)は、柱110に設置されている。LRF101は、対象物との距離を計測するセンサである。LRF101は、光源と光源から照射される光(照射光)の反射光を検出するセンサとを備える。LRF101は、光源から照射される光(可視光又は不可視光)の反射光に基づいて対象物までの距離を計測する。たとえば、LRF101は、照射光が計測対象で反射しセンサに届くまでの時間に基づいて当該計測対象との距離を計測するToF(Time-fo-Flight)方式を採用する。
【0017】
LRF101は、所定の方向において光源を走査する。LRF101は、AGV103の回転軸に直交しない方向において光源を走査する。ここでは、LRF101は、垂直方向に光源を走査する。LRF101は、微小角度ごとに光源から光を照射して対象物との距離を計測する。
【0018】
図1が示す例では、LRF101は、走査領域109において光源を走査する。即ち、LRF101は、走査領域109と衝突する線上において対象物までの距離を計測する。
【0019】
また、LRF101は、対象物の輝度を示す輝度値を取得する。たとえば、LRF101は、反射光の強度などに基づいて輝度値を取得する。
【0020】
カメラ102は、柱110に設置されている。ここでは、カメラ102は、LRF101の下部に設置されている。
カメラ102は、物品105などを撮影する。即ち、カメラ102は、コード106及びテクスチャ107などを撮影する。
【0021】
カメラ102は、ズーム機能を備えるものであってもよい。また、カメラ102は、物品105などを照らす光源を備えるものであってもよい。たとえば、カメラ102は、CCD(Charge Coupled Device)カメラなどである。
【0022】
第1のWCS20(Warehouse Control System)(情報処理装置)は、後述するWES10からの制御信号に従って物品105をスキャンして物品105の三次元モデルを生成する。また、第1のWCS20は、LRF101及びカメラ102に接続する。第1のWCS20は、LRF101及びカメラ102のコントローラとして機能する。第1のWCS20については、後に詳述する。
【0023】
次に、計測システム1の制御系について説明する。
図2は、計測システム1の制御系の構成例を示す。図2が示すように、計測システム1は、WMS5、WES10、第1のWCS20、第2のWCS30、LRF101、カメラ102及びAGV103などを備える。
【0024】
WES10は、WMS5、第1のWCS20及び第2のWCS30と通信可能に接続する。また、第1のWCS20は、LRF101及びカメラ102と通信可能に接続する。また、第2のWCS30は、AGV103と通信可能に接続する。
【0025】
WMS5(Warehouse Management System)は、計測システム1全体を制御する。WMS5は、物品と物品の仕分先とを示す仕分リストなどをWES10に送信する。
【0026】
たとえば、WMS5は、PCなどから構成される。
【0027】
WES10(Warehouse Execution System)は、WMS5からの制御に従って第1のWCS20及び第2のWCS30を制御する。WES10は、第1のWCS20に物品105の三次元モデルを生成させる。WES10については、後に詳述する。
【0028】
第2のWCS30は、WES10からの制御信号に従ってAGV103を制御する。第2のWCS30は、AGV103のコントローラとして機能する。第2のWCS30については、後に詳述する。
【0029】
なお、計測システム1は、図1及び2が示すような構成の他に必要に応じた構成を具備したり、計測システム1から特定の構成が除外されたりしてもよい。
【0030】
次に、WES10について説明する。
図3は、WES10の構成例を示すブロック図である。図3が示すように、WES10は、プロセッサ11、ROM12、RAM13、NVM14、通信部15、操作部16及び表示部17などを備える。
【0031】
プロセッサ11と、ROM12、RAM13、NVM14、通信部15、操作部16及び表示部17と、は、データバスなどを介して互いに接続する。
なお、WES10は、図3が示すような構成の他に必要に応じた構成を具備したり、WES10から特定の構成が除外されたりしてもよい。
【0032】
プロセッサ11は、WES10全体の動作を制御する機能を有する。プロセッサ11は、内部キャッシュ及び各種のインターフェースなどを備えてもよい。プロセッサ11は、内部メモリ、ROM12又はNVM14が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0033】
なお、プロセッサ11がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであってもよい。この場合、プロセッサ11は、ハードウエア回路により実行される機能を制御する。
【0034】
ROM12は、制御プログラム及び制御データなどが予め記憶された不揮発性のメモリである。ROM12に記憶される制御プログラム及び制御データは、WES10の仕様に応じて予め組み込まれる。
【0035】
RAM13は、揮発性のメモリである。RAM13は、プロセッサ11の処理中のデータなどを一時的に格納する。RAM13は、プロセッサ11からの命令に基づき種々のアプリケーションプログラムを格納する。また、RAM13は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【0036】
NVM14は、データの書き込み及び書き換えが可能な不揮発性のメモリである。NVM14は、たとえば、HDD(Hard Disk Drive)、SSD(Solid State Drive)又はフラッシュメモリなどから構成される。NVM14は、WES10の運用用途に応じて制御プログラム、アプリケーション及び種々のデータなどを格納する。
【0037】
通信部15は、WMS5、第1のWCS20及び第2のWCS30などと通信するためのインターフェースである。たとえば、通信部15は、ネットワークを通じてWMS5、第1のWCS20及び第2のWCS30などとデータを送受信するためのインターフェースである。たとえば、通信部15は、有線又は無線のLAN(Local Area Network)接続をサポートするインターフェースである。
【0038】
操作部16は、オペレータから種々の操作の入力を受け付ける。操作部16は、入力された操作を示す信号をプロセッサ11へ送信する。操作部16は、タッチパネルから構成されてもよい。
【0039】
表示部17は、プロセッサ11からの画像データを表示する。たとえば、表示部17は、液晶モニタから構成される。操作部16がタッチパネルから構成される場合、表示部17は、操作部16と一体的に形成されてもよい。
【0040】
次に、第1のWCS20について説明する。
図4は、第1のWCS20の構成例を示すブロック図である。図4が示すように、第1のWCS20は、プロセッサ21、ROM22、RAM23、NVM24、通信部25、センサインターフェース26、操作部27及び表示部28などを備える。
【0041】
プロセッサ21と、ROM22、RAM23、NVM24、センサインターフェース26、通信部25、操作部27及び表示部28と、は、データバスなどを介して互いに接続する。
なお、第1のWCS20は、図4が示すような構成の他に必要に応じた構成を具備したり、第1のWCS20から特定の構成が除外されたりしてもよい。
【0042】
プロセッサ21は、第1のWCS20全体の動作を制御する機能を有する。プロセッサ21は、内部キャッシュ及び各種のインターフェースなどを備えてもよい。プロセッサ21は、内部メモリ、ROM22又はNVM24が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0043】
なお、プロセッサ21がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであってもよい。この場合、プロセッサ21は、ハードウエア回路により実行される機能を制御する。
【0044】
ROM22は、制御プログラム及び制御データなどが予め記憶された不揮発性のメモリである。ROM22に記憶される制御プログラム及び制御データは、第1のWCS20の仕様に応じて予め組み込まれる。
【0045】
RAM23は、揮発性のメモリである。RAM23は、プロセッサ21の処理中のデータなどを一時的に格納する。RAM23は、プロセッサ21からの命令に基づき種々のアプリケーションプログラムを格納する。また、RAM23は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【0046】
NVM24は、データの書き込み及び書き換えが可能な不揮発性のメモリである。NVM24は、たとえば、HDD、SSD又はフラッシュメモリなどから構成される。NVM24は、第1のWCS20の運用用途に応じて制御プログラム、アプリケーション及び種々のデータなどを格納する。
【0047】
通信部25は、WES10などと通信するためのインターフェースである。たとえば、通信部25は、ネットワークを通じてWES10などとデータを送受信するためのインターフェースである。たとえば、通信部25は、有線又は無線のLAN接続をサポートするインターフェースである。
【0048】
センサインターフェース26は、LRF101及びカメラ102に接続するインターフェースである。また、センサインターフェース26は、USB(Universal Serial Bus)接続をサポートするものであってもよい。
【0049】
また、センサインターフェース26は、LRF101に接続するインターフェースとカメラ102に接続するインターフェースとから構成されてもよい。
【0050】
操作部27は、オペレータから種々の操作の入力を受け付ける。操作部27は、入力された操作を示す信号をプロセッサ21へ送信する。操作部27は、タッチパネルから構成されてもよい。
【0051】
表示部28は、プロセッサ21からの画像データを表示する。たとえば、表示部28は、液晶モニタから構成される。操作部27がタッチパネルから構成される場合、表示部28は、操作部27と一体的に形成されてもよい。
【0052】
なお、通信部25とセンサインターフェース26とは、一体的に形成されるものであってもよい。
【0053】
次に、第2のWCS30について説明する。
図5は、第2のWCS30の構成例を示すブロック図である。図5が示すように、第2のWCS30は、プロセッサ31、ROM32、RAM33、NVM34、通信部35、AGVインターフェース36、操作部37及び表示部38などを備える。
【0054】
プロセッサ31と、ROM32、RAM33、NVM34、AGVインターフェース36、通信部35、操作部37及び表示部38と、は、データバスなどを介して互いに接続する。
なお、第2のWCS30は、図5が示すような構成の他に必要に応じた構成を具備したり、第2のWCS30から特定の構成が除外されたりしてもよい。
【0055】
プロセッサ31は、第2のWCS30全体の動作を制御する機能を有する。プロセッサ31は、内部キャッシュ及び各種のインターフェースなどを備えてもよい。プロセッサ31は、内部メモリ、ROM32又はNVM34が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0056】
なお、プロセッサ31がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであってもよい。この場合、プロセッサ31は、ハードウエア回路により実行される機能を制御する。
【0057】
ROM32は、制御プログラム及び制御データなどが予め記憶された不揮発性のメモリである。ROM32に記憶される制御プログラム及び制御データは、第2のWCS30の仕様に応じて予め組み込まれる。
【0058】
RAM33は、揮発性のメモリである。RAM33は、プロセッサ31の処理中のデータなどを一時的に格納する。RAM33は、プロセッサ31からの命令に基づき種々のアプリケーションプログラムを格納する。また、RAM33は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【0059】
NVM34は、データの書き込み及び書き換えが可能な不揮発性のメモリである。NVM34は、たとえば、HDD、SSD又はフラッシュメモリなどから構成される。NVM34は、第2のWCS30の運用用途に応じて制御プログラム、アプリケーション及び種々のデータなどを格納する。
【0060】
通信部35は、WES10などと通信するためのインターフェースである。たとえば、通信部35は、ネットワークを通じてWES10などとデータを送受信するためのインターフェースである。たとえば、通信部35は、有線又は無線のLAN接続をサポートするインターフェースである。
【0061】
AGVインターフェース36は、AGV103と通信するためのインターフェースである。AGVインターフェース36は、無線でAGV103に接続する。たとえば、AGVインターフェース36は、無線LAN接続をサポートするものであってもよい。また、AGVインターフェース36は、AGV103に無線で接続するアクセスポイントに接続するものであってもよい。
【0062】
操作部37は、オペレータから種々の操作の入力を受け付ける。操作部37は、入力された操作を示す信号をプロセッサ31へ送信する。操作部37は、タッチパネルから構成されてもよい。
【0063】
表示部38は、プロセッサ31からの画像データを表示する。たとえば、表示部38は、液晶モニタから構成される。操作部37がタッチパネルから構成される場合、表示部38は、操作部37と一体的に形成されてもよい。
【0064】
なお、通信部35とAGVインターフェース36とは、一体的に形成されるものであってもよい。
【0065】
次に、AGV103について説明する。図6は、AGV103の構成例を示すブロック図である。AGV103は、プロセッサ71、ROM72、RAM73、NVM74、通信部75、駆動機構76、センサ77、バッテリー78、充電機構79、及びタイヤ70などを備える。
【0066】
なお、AGV103は、図6が示すような構成の他に必要に応じた構成を具備したり、AGV103から特定の構成が除外されたりしてもよい。
【0067】
プロセッサ71は、AGV103全体の動作を制御する機能を有する。プロセッサ71は、内部キャッシュ及び各種のインターフェースなどを備えてもよい。プロセッサ71は、内部メモリ、ROM72又はNVM74が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0068】
たとえば、プロセッサ71は、CPUである。なお、プロセッサ71は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array等のハードウエアにより実現されてもよい。
【0069】
プロセッサ71は、加速、減速、停止、方向転換、及び物品の積み降ろし等の動作に必要な演算及び制御などの処理を行う。プロセッサ71は、第2のWCS30などからの制御信号に基づき、ROM72等に記憶されたプログラムを実行することにより、駆動信号を生成し各部に出力する。
【0070】
ROM72は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する。また、ROM72は、プロセッサ71が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。RAM73は、データの読み書きに用いられるメモリである。RAM73は、プロセッサ71が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【0071】
NVM74は、非一時的なコンピュータ可読記憶媒体であり、上記のプログラムを記憶する場合もある。また、NVM74は、プロセッサ71が各種の処理を行う上で使用するデータ、プロセッサ71での処理によって生成されたデータ又は各種の設定値などを保存する。
【0072】
通信部75は、無線LANアクセスポイントなどを通じて第2のWCS30などとデータを送受信するインターフェースである。たとえば、通信部75は、無線LAN接続をサポートする。
【0073】
駆動機構76は、モータ等であり、プロセッサ71から出力される駆動信号に基づきモータを回転又は停止する。モータの動力は、タイヤ70に伝達され、操舵機構に伝達される。このようなモータからの動力により、AGV103は、目的位置へ移動する。
【0074】
センサ77は、複数の反射センサである。各反射センサは、AGV103の周囲に取り付けられる。各反射センサは、レーザ光を照射し、レーザ光を照射してからレーザ光が物体で反射して戻るまでの時間を検出し、検出された時間に基づき物体までの距離を検知し、検知信号をプロセッサ71へ通知する。プロセッサ71は、センサ77からの検知信号に基づき、AGV103の走行を制御する制御信号を出力する。例えば、プロセッサ71は、センサ77からの検知信号に基づき、物体への衝突を回避する減速又は停止等の制御信号を出力する。なお、センサ77以外に、カメラを備え、カメラが、周辺を撮影し撮影画像をプロセッサ71へ出力してもよい。この場合、プロセッサ71は、撮影画像を解析し、物体への衝突を回避する減速又は停止等の制御信号を出力する。
【0075】
バッテリー78は、駆動機構76等に必要な電力を供給する。充電機構79は、充電ステーションとバッテリー78とを接続する機構であり、バッテリー78は、充電機構79を介して充電ステーションなどから供給される電力により充電される。
【0076】
ここでは、プロセッサ71は、第2のWCS30からの制御に従って、駆動機構76を用いてAGV103を所定の角度、回転させる。ここでは、プロセッサ71は、90度ずつAGV103を回転させる。即ち、プロセッサ71は、AGV103を90度回転させるごとに回転を停止(又は回転速度を加減速)させる。
【0077】
次に、第2のWCS30が実現する機能について説明する。第2のWCS30が実現する機能は、プロセッサ31が内部メモリ、ROM32又はNVM34などに格納されるプログラムを実行することで実現される。
【0078】
プロセッサ31は、物品105を積載したAGV103を所定の計測位置に搬送する機能を有する。
【0079】
プロセッサ31は、WES10の制御に従って物品105を積載したAGV103を所定の計測位置に搬送する。
【0080】
プロセッサ31は、物品105を積載される積載位置にAGV103を移動させる。たとえば、プロセッサ31は、AGVインターフェース36を通じて当該積載位置に移動することを指示する制御信号をAGV103に送信する。
【0081】
AGV103は、当該積載位置に移動すると、物品105を積載台104に積載される。
【0082】
物品105が積載台104に積載されると、プロセッサ31は、LRF101が物品105をスキャン可能でありカメラ102が物品105を撮影可能な位置(計測位置)にAGV103を移動させる。たとえば、プロセッサ31は、AGVインターフェース36を通じて当該計測位置に移動することを指示する制御信号をAGV103に送信する。
【0083】
AGV103が当該計測位置に移動すると、プロセッサ31は、AGV103を一回転させる。前述の通り、AGV103は、90度ずつ回転可能である。従って、プロセッサ31は、AGV103を90度ずつ4回回転させる。たとえば、プロセッサ31は、AGVインターフェース36を通じて90度回転させる制御信号をAGV103に4回送信する。
【0084】
AGV103が一回転すると、プロセッサ31は、所定の位置にAGV103を移動させる。たとえば、プロセッサ31は、AGVインターフェース36を通じて当該所定の位置に移動することを指示する制御信号をAGV103に送信する。
【0085】
なお、AGV103が計測位置に到着すると、プロセッサ31は、通信部35を通じてAGV103が計測位置に到着したことを示す信号をWES10に送信してもよい。
また、AGV103が一回転すると、プロセッサ31は、通信部35を通じてAGV103が一回転したことを示す信号をWES10に送信してもよい。
【0086】
次に、第1のWCS20が実現する機能について説明する。第1のWCS20が実現する機能は、プロセッサ21が内部メモリ、ROM22又はNVM24などに格納されるプログラムを実行することで実現される。
【0087】
まず、プロセッサ21は、カメラ102を用いて物品105を撮影する機能を有する。
プロセッサ21は、AGV103が計測位置に到着したかを判定する。たとえば、プロセッサ21は、通信部25を通じてAGV103が計測位置に到着したことを示す信号を受信したかを判定する。
【0088】
AGV103が計測位置に到着したと判定すると、プロセッサ21は、カメラ102を用いて物品105の撮影を開始する。
【0089】
プロセッサ21は、AGV103が一回転するまで物品105を撮影する。
なお、プロセッサ21は、AGV103の回転角度が所定の角度であるタイミングで物品105を撮影してもよい。たとえば、プロセッサ21は、AGV103の回転角度が0、90、180及び270度であるタイミングで物品105を撮影してもよい。この場合、プロセッサ21は、AGV103の回転角度が0、90、180又は270度であることを示す信号をWES10から受信した場合、物品105を撮影してもよい。
【0090】
また、プロセッサ21は、LRF101を用いてAGV103、積載台104及び物品105をスキャンする機能を有する。
同様に、AGV103が計測位置に到着したと判定すると、プロセッサ21は、LRF101を用いて物品105のスキャンを開始する。即ち、プロセッサ21は、LRF101を起動して走査領域109において対象物との距離を計測する。
【0091】
図7は、プロセッサ21がLRF101を用いて距離などを計測する動作例について説明するための図である。図7が示すように、ここでは、プロセッサ21は、LRF101を用いて計測点307までの距離などを計測する。
【0092】
LRF101は、LRF101から計測点307までの距離302を計測する。また、LRF101は、計測点307を計測した時点における光源の角度301を取得する。ここでは、角度301は、水平からの角度である。
【0093】
プロセッサ21は、LRF101から角度301及び距離302を取得する。プロセッサ21は、角度301及び距離302に基づいて、AGV103を基準とした座標系における計測点307の座標を算出する。
【0094】
ここでは、AGV103を基準とした座標系は、AGV103の回転軸をz軸としz軸に直交する軸をr軸とする座標系である。即ち、プロセッサ21は、角度301及び距離302に基づいて計測点307の高さ303(z座標)及びz軸との距離304(r座標)を算出する。
【0095】
ここでは、ベクトル305は、AGV103の方向を示す。また、角度306は、AGV103の初期角度からの回転角度を示す。ここでは、AGV103の初期角度は、r軸に沿っているものとする。
【0096】
プロセッサ21は、走査領域109における各計測点で同様にr座標及びz座標を算出する。
また、プロセッサ21は、AGV103が一回転するまで、各計測点のr座標及びz座標を算出する。即ち、プロセッサ21は、各計測点のr座標及びz座標を時系列で取得する。
【0097】
次に、プロセッサ21が物品105などの各計測点の座標を計測する動作例について説明する。
図8は、プロセッサ21が物品105などの各計測点の座標を計測する動作例について説明するための図である。
【0098】
図8が示す例では、スキャン角度401乃至403は、それぞれLRF101の光源の角度を示す。スキャン角度401乃至403は、LRF101が走査領域109をスキャンする間に通過する角度である。
【0099】
ライン404は、AGV103の回転角度が初期角度(0度)である場合においてスキャンされる位置である。即ち、ライン404は、AGV103の回転角度が初期角度である場合において走査領域109と衝突する位置である。
【0100】
ライン405は、AGV103の回転角度が45度である場合においてスキャンされる位置である。即ち、ライン405は、AGV103の回転角度が45度である場合において走査領域109と衝突する位置である。
【0101】
ライン406は、AGV103の回転角度が225度である場合においてスキャンされる位置である。即ち、ライン405は、AGV103の回転角度が225度である場合において走査領域109と衝突する位置である。
【0102】
ライン407は、AGV103の回転角度が270度である場合においてスキャンされる位置である。即ち、ライン407は、AGV103の回転角度が270度である場合において走査領域109と衝突する位置である。
【0103】
ライン408は、AGV103の回転角度が315度である場合においてスキャンされる位置である。即ち、ライン408は、AGV103の回転角度が315度である場合において走査領域109と衝突する位置である。
【0104】
次に、プロセッサ21がスキャンによって得たデータ(スキャンデータ)について説明する。
図9は、スキャン角度401乃至403において得られたr座標を示す。
【0105】
図9における(a)は、スキャン角度401において得られたr座標を示す。ここでは、横軸(t軸)は、時間を示す。また、縦軸は、r座標を示す。
【0106】
グラフ409は、スキャン角度401において得られたr座標を示す。また、グラフ409は、AGV103の回転角度が45、225、270及び315度である場合におけるr座標(ライン405乃至408)を示す。
【0107】
図9における(b)は、スキャン角度402において得られたr座標を示す。ここでは、横軸は、時間を示す。また、縦軸は、r座標を示す。
【0108】
グラフ410は、スキャン角度402において得られたr座標を示す。また、グラフ410は、AGV103の回転角度が45、225、270及び315度である場合におけるr座標(ライン405乃至408)を示す。
【0109】
図9における(c)は、スキャン角度403において得られたr座標を示す。ここでは、横軸は、時間を示す。また、縦軸は、r座標を示す。
【0110】
グラフ411は、スキャン角度403において得られたr座標を示す。また、グラフ411は、AGV103の回転角度が45、225、270及び315度である場合におけるr座標(ライン405乃至408)を示す。
【0111】
図10は、r軸、z軸及びt軸におけるスキャンデータを示す。
スキャンデータ501は、LRF101の光源の各角度において得られたr座標及びz座標を示す。
【0112】
次に、スキャンデータから構成される三次元モデルについて説明する。
図11は、三次元モデル603の上面図601を示す。矢印604は、1つの計測点からのプロットを示す。図12は、三次元モデル603の側面図602を示す。図13は、三次元モデル603の斜視図を示す。
【0113】
三次元モデル603は、スキャンデータをr軸、z軸及びt軸の座標系からx軸、y軸及びz軸の座標系(三次元座標系)に変換したデータである。x軸及びy軸は、互いに直交し水平である。また、z軸は、垂直である。即ち、三次元モデル603は、スキャンデータを三次元座標にプロットしたデータである。
【0114】
ここでは、プロセッサ21は、時系列で取得されるデータ(r座標及びz座標)を等間隔の角度でプロットして三次元モデル603を生成する。即ち、プロセッサ21は、AGV103が一定の速度で回転しているものとして、スキャンデータから三次元モデル603を生成する。
【0115】
他方、AGV103の回転速度が一定ではなく、90度ごとに停止(又は加減速)する。そのため、三次元モデル603において、AGV103の回転角度が0、90、180及び270度付近ではLRF101のデータが引き延ばされ、45、135、225及び315度付近ではLRF101のデータが縮められる。その結果、図11が示すように、三次元モデル603は、本来直方体となるところが、歪んでしまう。
【0116】
また、プロセッサ21は、回転速度の停止によって生じた三次元モデル603の歪みを修正する機能を有する。
上記の通り、AGV103の回転速度が一定でないため、三次元モデル603は、実際の物品105などの形状を表していない。そのため、プロセッサ21は、実際の物品105の形状を示すように三次元モデル603を修正する。
【0117】
ここでは、プロセッサ21が三次元モデル603の歪みを修正する方法を複数個説明する。
まず、プロセッサ21がAGV103の回転角度に基づいて三次元モデル603の歪みを修正する方法について説明する。
【0118】
プロセッサ21は、通信部25などを通じて、WES10、第2のWCS又はAGV103から時系列でのAGV103の回転角度を取得する。時系列でのAGV103の回転角度を取得すると、プロセッサ21は、時系列での回転角度と時系列でのr座標及びz座標とを対応付ける。プロセッサ21は、回転角度とr座標及びz座標との対応付けに基づいて、三次元モデル603を修正する。即ち、プロセッサ21は、AGV103の回転角度(又は回転速度)に基づいてr座標及びz座標をプロットする角度間隔を調整して、三次元モデル603を修正する。
【0119】
図14は、修正後の三次元モデル703の上面図701を示す。矢印704は、1つの計測点からのプロットを示す。図15は、修正後の三次元モデル703の側面図702を示す。図16は、修正後の三次元モデル703の斜視図を示す。
【0120】
図14乃至16が示すように、三次元モデル703の各辺は、直線である。したがって、三次元モデル703は、積載された物品105の形状(直方体)を表すものとなる。
【0121】
次に、プロセッサ21が積載台104の形状に基づいて三次元モデル603の歪みを修正する方法について説明する。
【0122】
ここでは、NVM24は、積載台104(基準形状)を示すデータ(基準形状モデル)を予め格納する。
【0123】
プロセッサ21は、スキャンデータから基準形状をスキャンして得られたデータ(基準データ)を抽出する。たとえば、プロセッサ21は、積載台104が設置されている高さに基づいて基準データを抽出する。
【0124】
基準データを抽出すると、プロセッサ21は、基準データを三次元座標系へプロットして積載台104の三次元モデルを生成する。積載台104の三次元モデルを生成すると、プロセッサ21は、生成された積載台104の三次元モデルが基準形状モデルと一致するようにプロットの角度間隔を設定する。プロセッサ21は、設定された角度間隔に基づいて三次元モデル603を三次元モデル703に修正する。
【0125】
たとえば、プロセッサ21は、各時間のスキャンデータのプロット角度を、隣接する時刻のスキャンデータのプロット角度との大小関係が入れ替わらない範囲で振って、基準形状モデルに近い状態を採用する。
【0126】
なお、プロセッサ21は、特定のパレット又はAGV103の形状を基準形状として用いてもよい。また、プロセッサ21は、特定のパレット又はAGV103に添付されたマーカなどを認識して基準データを取得してもよい。
【0127】
また、物品105が箱状である場合には、プロセッサ21は、直方体を基準形状としてもよい。たとえば、プロセッサ21は、三次元モデル603の各辺が直線になるように三次元モデル603を修正してもよい。
【0128】
次に、プロセッサ21がテクスチャに基づいて三次元モデル603の歪みを修正する方法について説明する。
【0129】
図17は、プロセッサ21が物品105のテクスチャ107に基づいて三次元モデル603の歪みを修正する方法について説明するための図である。
【0130】
ここでは、三次元モデル801は、歪みが修正される三次元モデルである。
【0131】
ここでは、プロセッサ21は、物品105のテクスチャ107を取得する。
たとえば、プロセッサ21は、AGV103の回転角度が0、90、180又は270度である場合においてカメラ102が撮影した画像(撮影画像)を取得する。即ち、プロセッサ21は、物品105の面がカメラ102に向いているタイミングで撮影された画像を取得する。
【0132】
プロセッサ21は、所定の画像処理アルゴリズムなどに従って、取得された画像からテクスチャ107を取得する。
【0133】
また、プロセッサ21は、取得された画像からコード106を読み取ってもよい。プロセッサ21は、データベースから、コード106をデコードして得られる情報(物品105を示す識別子など)に対応付けられたテクスチャ107を取得するものであってもよい。
【0134】
テクスチャ107を取得すると、プロセッサ21は、テクスチャ107からテクスチャ107の輝度値を示すテクスチャ情報を取得する。
【0135】
また、プロセッサ21は、LRF101から各計測点の輝度値を取得する。
【0136】
図17が示す例では、プロセッサ21は、物品105の所定の面における計測点804の輝度値を取得する。ここでは、物品105の所定の面は、AGV103の回転角度が0、90、180又は270度である場合にLRF101及びカメラ102に向く面である。
また、矢印803は、計測点804のプロットを示す。
【0137】
また、プロセッサ21は、物品105の所定の面のテクスチャ情報805を取得する。
【0138】
プロセッサ21は、計測点804の輝度値とテクスチャ情報805が示す輝度値とが接近するように計測点804のプロット角度を修正する。
【0139】
プロセッサ21は、各計測点804について同様にプロット角度を修正する。
また、プロセッサ21は、物品105の各面について同様にプロット角度を修正する。
【0140】
プロセッサ21は、各面についてプロット角度を修正して、歪みが修正された三次元モデル802を生成する。
【0141】
なお、プロセッサ21は、上記と同様に、AGV103又は積載台104のテクスチャに基づいて三次元モデル603の歪みを修正してもよい。たとえば、プロセッサ21は、撮影画像からAGV103又は積載台104のテクスチャを取得する。また、プロセッサ21は、NVM24から撮影画像からAGV103又は積載台104のテクスチャを取得してもよい。
【0142】
プロセッサ21は、上記の何れかの方法で三次元モデルの歪みを修正する。なお、プロセッサ21は、いくつかの方法を組合せて三次元モデルの歪みを修正してもよい。
【0143】
プロセッサ21が三次元モデルの歪みを修正する方法は、特定の方法に限定されるものではない。
【0144】
なお、プロセッサ21は、歪みが修正された三次元モデルをWES10などの外部装置に送信してもよい。
【0145】
また、プロセッサ21は、歪みが修正された三次元モデルに基づいて撮影画像から物品105が写る領域(前景領域)を抽出する機能を有する。
【0146】
図18は、プロセッサ21が撮影画像から前景領域を抽出する動作例を示す。図18では、プロセッサ21は、歪みが修正された三次元モデル901を生成したものとする。また、プロセッサ21は、撮影画像903を取得したものとする。
【0147】
プロセッサ21は、LRF101の位置及びカメラ102の位置並びに画角などに基づいて、三次元モデル901と撮影画像903とをキャリブレーションする。即ち、プロセッサ21は、撮影画像903に三次元モデル901を投影する。
【0148】
プロセッサ21は、撮影画像903において三次元モデル901が投影された領域を前景領域905として取得する。また、プロセッサ21は、他の領域を背景領域904として取得する。
【0149】
また、プロセッサ21は、物品105の各面の撮影画像から同様に前景領域を抽出してもよい。
【0150】
なお、プロセッサ21は、前景領域905をWES10などの外部装置に送信してもよい。
【0151】
次に、WES10が実現する機能について説明する。WES10が実現する機能は、プロセッサ11が内部メモリ、ROM12又はNVM14などに格納されるプログラムを実行することで実現される。
【0152】
プロセッサ11は、第1のWCS20に所定の物品105の三次元モデル及び前景領域を生成させる機能を有する。
まず、プロセッサ11は、物品105を設定する。物品105を設定すると、プロセッサ11は、第2のWCS30を通じて、AGV103に、設定された物品105を積載した状態で計測位置まで移動させる。
【0153】
AGV103が物品105を計測位置まで搬送すると、プロセッサ11は、通信部15を通じて、AGV103が計測位置に到着したことを示す信号を第1のWCS20に送信する。
【0154】
また、プロセッサ11は、第2のWCS30を通じて、AGV103を一回転させる。ここで、プロセッサ11は、通信部15を通じて、AGV103の回転角度が0、90、180又は270度であることを示す信号を第2のWCS30に送信してもよい。
【0155】
また、プロセッサ11は、通信部15を通じて、AGV103が一回転したことを示す信号を第1のWCS20に送信してもよい。
【0156】
AGV103が一回転すると、プロセッサ11は、第2のWCS30を通じてAGV103に所定の位置まで移動させる。
【0157】
また、プロセッサ11は、通信部15を通じて、物品105の三次元モデル及び前景領域を第1のWCS20から受信してもよい。
【0158】
次に、計測システム1の動作例について説明する。
まず、第2のWCS30の動作例について説明する。
図19は、第2のWCS30の動作例について説明するためのフローチャートである。
【0159】
ここでは、AGV103は、積載台104に物品105を積載しているものとする。
【0160】
第2のWCS30のプロセッサ31は、AGV103を計測位置に移動させる(S11)。AGV103を計測位置に移動させると、プロセッサ31は、AGV103を所定の角度(ここでは、90度)回転させる(S12)。
【0161】
AGV103を所定の角度、回転させると、プロセッサ31は、AGV103を一回転させたかを判定する(S13)。AGV103を一回転させていないと判定すると(S13、NO)、プロセッサ31は、S12に戻る。
【0162】
AGV103を一回転させたと判定すると(S13、YES)、プロセッサ31は、AGV103を計測位置から所定の位置に移動させる(S14)。
【0163】
AGV103を計測位置から所定の位置に移動させると、プロセッサ31は、動作を終了する。
【0164】
次に、第1のWCS20の動作例について説明する。
図20は、第1のWCS20の動作例について説明するためのフローチャートである。
【0165】
まず、第1のWCS20のプロセッサ21は、物品105を積載したAGV103が計測位置に到着したかを判定する(S21)。物品105を積載したAGV103が計測位置に到着していないと判定すると(S21、NO)、プロセッサ21は、S21に戻る。
【0166】
物品105を積載したAGV103が計測位置に到着したと判定すると(S21、YES)、プロセッサ21は、LRF101のスキャンを開始する(S22)。LRF101のスキャンを開始すると、プロセッサ21は、カメラ102の撮影を開始する(S23)。
【0167】
ここで、AGV103は、回転し始めるものとする。
カメラ102の撮影を開始すると、プロセッサ21は、AGV103が一回転したかを判定する(S24)。AGV103が一回転していないと判定すると(S24、NO)、プロセッサ21は、S24に戻る。
【0168】
AGV103が一回転したと判定すると(S24、YES)、プロセッサ21は、LRF101のスキャンを終了する(S25)。LRF101のスキャンを終了すると、プロセッサ21は、カメラ102の撮影を終了する(S26)。
【0169】
カメラ102の撮影を終了すると、プロセッサ21は、LRF101のスキャンデータに基づく三次元モデルの歪みを修正する(S27)。三次元モデルの歪みを修正すると、プロセッサ21は、歪みが修正された三次元モデルに基づいて撮影画像から前景領域を抽出する(S28)。
前景領域を抽出すると、プロセッサ21は、動作を終了する。
【0170】
なお、第1のWCS20と第2のWCS30とは、一体的に形成されるものであってもよい。また、第1のWCS20、第2のWCS30及びWES10とは、一体的に形成されるものであってもよい。
【0171】
また、第1のWCS20は、WES10の機能を実現するものであってもよい。また、第2のWCS30は、WES10の機能を実現するものであってもよい。
【0172】
また、計測システム1は、LRF101の代わりに三次元カメラなどを用いて計測点との距離を取得するものであってもよい。
【0173】
以上のように構成された計測システムは、AGVを用いて物品を回転させる。計測システムは、LRFを用いて、AGVによって回転している物品をスキャンする。また、計測システムは、スキャンによって得られた三次元モデルにおいてAGVの回転速度が一定でないことによって生じる歪みを修正する。その結果、計測システムは、AGVを用いて効果的に物品の三次元モデルを取得することができる。
(第2の実施形態)
次に、第2の実施形態について説明する。
第2の実施形態に係る計測システムは、異なる計測位置に存在する物品105をスキャン及び撮影することができる点で第1の実施形態に係るそれと異なる。従って、その他の点については、同一の符号を付して詳細な説明を省略する。
【0174】
図21は、第2の実施形態に係る計測システム1’の構成例を概略的に示す。計測システム1’は、さらに駆動機構111などを備える。
【0175】
駆動機構111は、第1のWCS20からの制御に従ってLRF101及びカメラ102を移動させる。ここでは、駆動機構111は、第1のWCS20からの制御に従って柱110の中心軸を回転軸として柱110を回転させる。
駆動機構111は、柱110を回転させるためのモータなどから構成される。
【0176】
駆動機構111は、LRF101及びカメラ102が第1の計測位置に存在する物品1001をそれぞれスキャン及び撮影可能なように、柱110を回転させる。また、駆動機構111は、LRF101及びカメラ102が第1の計測位置と異なる第2の計測位置に存在する物品1002をそれぞれスキャン及び撮影可能なように、柱110を回転させる。
【0177】
また、計測システム1’は、第1のWCS20に代えて第1のWCS20’を備える。
図22は、第1のWCS20’の構成例を示すブロック図である。図22が示すように、第1のWCS20は、プロセッサ21、ROM22、RAM23、NVM24、通信部25、センサインターフェース26、操作部27、表示部28及び駆動機構インターフェース29などを備える。
【0178】
プロセッサ21と、ROM22、RAM23、NVM24、センサインターフェース26、通信部25、操作部27、表示部28及び駆動機構インターフェース29と、は、データバスなどを介して互いに接続する。
【0179】
駆動機構インターフェース29は、駆動機構111と通信するためのインターフェースである。
【0180】
次に、第1のWCS20’が実現する機能について説明する。第1のWCS20’が実現する機能は、プロセッサ21が内部メモリ、ROM22又はNVM24などに格納されるプログラムを実行することで実現される。
【0181】
第1のWCS20’は、第1の実施形態に係る第1のWCS20が実現する機能に加えて以下の機能を実現する。
【0182】
プロセッサ21は、AGV103が存在する計測位置に応じてLRF101及びカメラ102の位置及び向きを制御する機能を有する。
ここでは、第2のWCS30のプロセッサ31は、WES10からの制御に従って、物品を積載したAGV103を第1の計測位置又は第2の計測位置に移動させる。
【0183】
プロセッサ21は、物品105を積載したAGV103が何れの計測位置(たとえば、第1の計測位置又は第2の計測位置)に到着したかを判定する。たとえば、プロセッサ21は、通信部25を通じて、AGV103が何れの計測位置に到着したかを示す信号を受信してもよい。また、プロセッサ21は、種々のセンサを用いて、AGV103が何れの計測位置に到着したかを判定してもよい。
【0184】
プロセッサ21は、AGV103が到着した計測位置に応じてLRF101及びカメラ102の位置及び向きを制御する。即ち、プロセッサ21は、駆動機構111を用いて、LRF101及びカメラ102が当該到着位置に存在する物品をそれぞれスキャン及び撮影可能なように柱110を回転させる。
【0185】
次に、第1のWCS20’の動作例について説明する。
図23は、第1のWCS20’の動作例について説明するためのフローチャートである。
【0186】
まず、第1のWCS20’のプロセッサ21は、物品105を積載したAGV103が何れかの計測位置に到着したかを判定する(S31)。物品105を積載したAGV103が何れかの計測位置に到着していないと判定すると(S31、NO)、プロセッサ21は、S31に戻る。
【0187】
物品105を積載したAGV103が何れかの計測位置に到着したと判定すると(S31、YES)、プロセッサ21は、駆動機構111を用いて、AGV103が到着した計測位置に応じて柱110を回転させる(S32)。
【0188】
柱110を回転させると、プロセッサ21は、LRF101のスキャンを開始する(S22)。
S22以降については、第1の実施形態と同様であるため説明を省略する。
【0189】
なお、駆動機構111は、柱110を水平方向に移動させるものであってもよい。
また、駆動機構111は、LRF101及びカメラ102を上下方向に移動させるものであってもよい。
【0190】
また、駆動機構111は、3つ以上の計測位置の何れかに応じてLRF101及びカメラ102を移動させるものであってもよい。
【0191】
また、プロセッサ21は、AGV103が到着する計測位置を予め認識している場合、S31の前にS32を実行してもよい。
【0192】
以上のように構成された計測システムは、複数の計測位置の何れかに到着した物品に対して1つのLRF101及び1つのカメラ102を用いて物品の三次元モデルを生成することができる。
【0193】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
距離センサに接続するセンサインターフェースと、
前記距離センサを用いて、自動搬送車に積載され前記自動搬送車の回転によって回転する物品をスキャンし、
前記物品をスキャンして得られたスキャンデータから前記物品の三次元モデルを生成する、

プロセッサと、
を備える情報処理装置。
[C2]
前記自動搬送車は、垂直方向の軸を回転軸として回転し、
前記距離センサは、垂直方向に走査する、
[C1]に記載の情報処理装置。
[C3]
前記自動搬送車は、所定の角度ごとに回転を停止又は加減速し、
前記プロセッサは、前記三次元モデルにおいて回転の停止又は加減速によって生じた歪みを修正する、
[C1]又は[C2]に記載の情報処理装置。
[C4]
前記プロセッサは、前記自動搬送車の回転角度に基づいて前記歪みを修正する、
[C3]に記載の情報処理装置。
[C5]
前記プロセッサは、時系列での前記自動搬送車の回転角度に基づいて前記歪みを修正する、
[C4]に記載の情報処理装置。
[C6]
前記プロセッサは、
前記スキャンデータから基準形状をスキャンした基準データを取得し、
前記基準データに基づいて前記歪みを修正する、
[C3]に記載の情報処理装置。
[C7]
前記プロセッサは、前記基準データから生成される三次元モデルが前記基準形状に対応するように前記歪みを修正する、
[C6]に記載の情報処理装置。
[C8]
前記プロセッサは、前記距離センサを用いて、前記自動搬送車において前記物品が積載される積載台をスキャンし、
前記基準形状は、前記積載台である、
[C6]又は[C7]に記載の情報処理装置。
[C9]
前記プロセッサは、前記距離センサを用いて、前記自動搬送車をスキャンし、
前記基準形状は、前記自動搬送車である、
[C6]又は[C7]に記載の情報処理装置。
[C10]
前記プロセッサは、前記物品のテクスチャに基づいて前記歪みを修正する、
[C3]に記載の情報処理装置。
[C11]
前記距離センサは、輝度値を取得し、
前記プロセッサは、取得された輝度値と前記テクスチャの輝度値とに基づいて前記歪みを修正する、
[C10]に記載の情報処理装置。
[C12]
前記センサインターフェースは、前記物品を撮影するカメラに接続し、
前記プロセッサは、前記物品の前記三次元モデルに基づいて、前記カメラが撮影した画像から前記物品が写る領域を抽出する、
[C1]乃至[C11]の何れか1つに記載の情報処理装置。
[C13]
前記距離センサを移動させる駆動機構と接続する駆動機構インターフェースを備え、 前記プロセッサは、前記駆動機構を用いて、前記自動搬送車の位置に応じて前記距離センサを移動させる、
[C1]乃至[C12]の何れか1つに記載の情報処理装置。
[C14]
プロセッサによって実行される情報処理方法であって、
距離センサを用いて、自動搬送車に積載され前記自動搬送車の回転によって回転する物品をスキャンし、
前記物品をスキャンして得られたスキャンデータから前記物品の三次元モデルを生成する、
情報処理方法。
[C15]
プロセッサによって実行されるプログラムであって、
前記プロセッサに、
距離センサを用いて、自動搬送車に積載され前記自動搬送車の回転によって回転する物品をスキャンする機能と、
前記物品をスキャンして得られたスキャンデータから前記物品の三次元モデルを生成する機能と、
を実現させるプログラム。
【符号の説明】
【0194】
1…計測システム、1’…計測システム、5…WMS、10…WES、11…プロセッサ、12…ROM、13…RAM、14…NVM、15…通信部、16…操作部、17…表示部、20…第1のWCS、20’…第1のWCS、21…プロセッサ、22…ROM、23…RAM、24…NVM、25…通信部、26…センサインターフェース、27…操作部、28…表示部、29…駆動機構インターフェース、30…第2のWCS、31…プロセッサ、32…ROM、33…RAM、34…NVM、35…通信部、36…AGVインターフェース、37…操作部、38…表示部、70…タイヤ、71…プロセッサ、72…ROM、73…RAM、74…NVM、75…通信部、76…駆動機構、77…センサ、78…バッテリー、79…充電機構、101…LRF、102…カメラ、103…AGV、104…積載台、105…物品、106…コード、107…テクスチャ、109…走査領域、110…柱、111…駆動機構、301…角度、302…距離、303…高さ、304…距離、305…ベクトル、306…角度、307…計測点、401…スキャン角度、402…スキャン角度、403…スキャン角度、404…ライン、405…ライン、406…ライン、407…ライン、408…ライン、409…グラフ、410…グラフ、411…グラフ、501…スキャンデータ、601…上面図、602…側面図、603…三次元モデル、604…矢印、701…上面図、702…側面図、703…三次元モデル、704…矢印、801…三次元モデル、802…三次元モデル、803…矢印、804…計測点、805…テクスチャ情報、901…三次元モデル、903…撮影画像、904…背景領域、905…前景領域、1001…物品、1002…物品。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23