以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
[物流管理システム100の概要]
図1は、物流管理システム100のシステム構成の一例を概略的に示す。本実施形態において、物流管理システム100は、バンニングシステム120と、デバンニングシステム140と、管理サーバ160とを備える。本実施形態において、バンニングシステム120は、積み降ろしシステム122を有する。本実施形態において、デバンニングシステム140は、積み降ろしシステム142を有する。
物流管理システム100は、物流システムの一例であってよい。デバンニングシステム140は、物流システムの一例であってよい。積み降ろしシステム122は、積み降ろし装置及びロボットの一例であってよい。積み降ろしシステム142は、積み降ろし装置及びロボットの一例であってよい。本願明細書において、「1以上」という用語は、「1又は複数」を意味する。
本実施形態において、バンニングシステム120は、積み降ろしシステム122を利用して、トラック12に、1又は複数の荷物を積み込む。バンニングシステム120は、トラック12に積み込まれた1以上の荷物のそれぞれについて、当該荷物のサイズに関する情報を取得してよい。バンニングシステム120は、トラック12に積み込まれた1以上の荷物のそれぞれについて、当該荷物を認識するための特徴点に関する情報を取得してもよい。バンニングシステム120は、トラック12に積み込まれた1以上の荷物のそれぞれについて、当該荷物の質量に関する情報を取得してもよい。
バンニングシステム120が各荷物に関する上記の情報を取得する方法は、特に限定されない。一実施形態において、上記の情報は、荷物の荷主の端末又は荷物の配送業者の端末に入力され、当該端末からバンニングシステム120又は管理サーバ160に送信される。他の実施形態において、上記の情報は、バンニングシステム120に配されたセンサにより取得される。上記のセンサは、荷物の画像又は荷物表面の点群を取得するためのセンサであってよい。上記のセンサは、荷物質量を取得するためのセンサであってよい。
バンニングシステム120は、例えば、通信ネットワーク10を介して、上記の情報を管理サーバ160に送信する。バンニングシステム120の詳細は後述される。
本実施形態において、デバンニングシステム140は、積み降ろしシステム142を利用して、トラック12から、1又は複数の荷物を取り出す。デバンニングシステム140は、例えば、通信ネットワーク10を介して管理サーバ160にアクセスして、管理サーバ160から、トラック12に積み込まれた1以上の荷物のそれぞれのサイズに関する情報を取得する。デバンニングシステム140は、管理サーバ160から、トラック12に積み込まれた1以上の荷物のそれぞれの特徴点に関する情報を取得してもよい。デバンニングシステム140は、管理サーバ160から、トラック12に積み込まれた1以上の荷物のそれぞれの質量に関する情報を取得してもよい。
デバンニングシステム140は、管理サーバ160から取得した各種の情報を利用して、トラック12から1以上の荷物を取り出してよい。なお、デバンニングシステム140は、上記の各種の情報を、バンニングシステム120、荷物の荷主の端末、又は、荷物の配送業者の端末から取得してもよい。デバンニングシステム140の詳細は後述される。
本実施形態において、管理サーバ160は、バンニングシステム120及びデバンニングシステム140との間で、互いに情報を送受する。例えば、管理サーバ160は、バンニングシステム120から、トラック12の積荷に関する情報を取得する。管理サーバ160は、トラック12の積荷に関する情報を、記憶装置に格納してよい。管理サーバ160は、例えば、デバンニングシステム140からの要求に応じて、トラック12の積荷に関する情報を、デバンニングシステム140に送信してよい。管理サーバ160の詳細は後述される。
本実施形態において、通信ネットワーク10は、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。通信ネットワーク10は、無線パケット通信網、インターネット、P2Pネットワーク、専用回線、VPN、電力線通信回線などを含んでもよい。通信ネットワーク10は、(i)携帯電話回線網などの移動体通信網を含んでもよく、(ii)無線MAN、無線LAN、Bluetooth(登録商標)、Zigbee(登録商標)、NFC(Near Field Communication)などの無線通信網を含んでもよい。無線MANは、WiMAX(登録商標)であってよい。無線LANは、WiFi(登録商標)であってよい。
なお、本実施形態においては、バンニングシステム120の積み降ろしシステム122が、トラック12に荷物を積み込み、デバンニングシステム140の積み降ろしシステム142が、トラック12から荷物を取り出す場合を例として、物流管理システム100の詳細が説明される。しかしながら、積み降ろしシステム122及び積み降ろしシステム142は本実施形態に限定されない。他の実施形態において、積み降ろしシステム122及び積み降ろしシステム122の少なくとも一方が、トラック12への荷物の積込作業、及び、トラック12からの荷物の取出作業の両方の作業を実施することができるように構成される。
[物流管理システム100の各部の具体的な構成]
物流管理システム100の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエア及びソフトウエアにより実現されてもよい。物流管理システム100の各部は、その少なくとも一部が、単一のサーバによって実現されてもよく、複数のサーバによって実現されてもよい。物流管理システム100の各部は、その少なくとも一部が、仮想サーバ上又はクラウドシステム上で実現されてもよい。物流管理システム100の各部は、その少なくとも一部が、パーソナルコンピュータ又は携帯端末によって実現されてもよい。携帯端末としては、携帯電話、スマートフォン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどを例示することができる。物流管理システム100の各部は、ブロックチェーンなどの分散型台帳技術又は分散型ネットワークを利用して、情報を格納してもよい。
物流管理システム100を構成する構成要素の少なくとも一部がソフトウエアにより実現される場合、当該ソフトウエアにより実現される構成要素は、一般的な構成の情報処理装置において、当該構成要素に関する動作を規定したプログラムを起動することにより実現されてよい。上記の一般的な構成の情報処理装置は、(i)CPU、GPUなどのプロセッサ、ROM、RAM、通信インタフェースなどを有するデータ処理装置と、(ii)キーボード、ポインティングデバイス、タッチパネル、カメラ、音声入力装置、ジェスチャ入力装置、各種センサ、GPS受信機などの入力装置と、(iii)表示装置、音声出力装置、振動装置などの出力装置と、(iv)メモリ、HDD、SSDなどの記憶装置(外部記憶装置を含む。)とを備えてよい。上記の一般的な構成の情報処理装置において、上記のデータ処理装置又は記憶装置は、上記のプログラムを記憶してよい。上記のプログラムは、プロセッサによって実行されることにより、上記の情報処理装置に、当該プログラムによって規定された動作を実行させる。上記のプログラムは、非一時的なコンピュータ可読記録媒体に格納されていてもよい。上記のプログラムは、CD−ROM、DVD−ROM、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。
上記のプログラムは、コンピュータを、物流管理システム100又はその一部として機能させるためのプログラムであってよい。上記のプログラムは、物流管理システム100の各部の動作を規定したモジュールを備えてよい。これらのプログラム又はモジュールは、データ処理装置、入力装置、出力装置、記憶装置等に働きかけて、コンピュータを物流管理システム100の各部として機能させたり、コンピュータに物流管理システム100の各部における情報処理方法を実行させたりする。上記のプログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、物流管理システム100の少なくとも一部を構成するコンピュータにインストールされてよい。上記のプログラムが実行されることにより、コンピュータが、物流管理システム100の各部の少なくとも一部として機能してもよい。上記のプログラムに記述された情報処理は、当該プログラムがコンピュータに読み込まれることにより、当該プログラムに関連するソフトウエアと、物流管理システム100又はその一部の各種のハードウエア資源とが協働した具体的手段として機能する。そして、上記の具体的手段が、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、当該使用目的に応じた物流管理システム100が構築される。
上記のプログラムは、コンピュータに、物流管理システム100又はその一部における情報処理方法を実行させるためのプログラムであってよい。一実施形態において、物流管理システム100又はその一部における情報処理方法は、物品の3次元形状を示す情報を生成する方法であってよい。
上記の情報を生成する方法は、例えば、積み上げられた複数の物品を第1地点から撮像又は走査して得られた、複数の物品の表面の第1領域の3次元情報を取得する第1情報取得段階を有する。上記の情報を生成する方法は、例えば、複数の物品を第2地点から撮像又は走査して得られた、複数の物品の表面の第2領域の3次元情報を取得する第2情報取得段階を有する。上記の情報を生成する方法は、例えば、第1情報取得段階において取得された第1領域の3次元情報、及び、第2情報取得段階において取得された第2領域の3次元情報に基づいて、複数の物品の表面の少なくとも一部の3次元形状を示す情報を生成する合成段階を有する。上記の情報を生成する方法において、第1地点及び第2地点の位置は、互いに異なってよい。上記の情報を生成する方法において、合成段階は、第1領域の3次元情報及び第2領域の3次元情報の一方を他方により補完して、複数の物品の表面の少なくとも一部の3次元形状を示す情報を生成する段階を含んでよい。
他の実施形態において、物流管理システム100又はその一部における情報処理方法は、ロボットを制御するための制御方法であってよい。上記のロボットは、例えば、マニピュレータを用いて、積み上げられた複数の物品の中から、少なくとも1つの物品を取り出す。
上記の制御方法は、例えば、複数の物品を第1地点から撮像又は走査して得られた、複数の物品の表面の第1領域の3次元情報を取得する第1情報取得段階を有する。上記の制御方法は、例えば、複数の物品を第2地点から撮像又は走査して得られた、複数の物品の表面の第2領域の3次元情報を取得する第2情報取得段階を有する。上記の制御方法は、例えば、第1情報取得段階において取得された第1領域の3次元情報、及び、第2情報取得段階において取得された第2領域の3次元情報に基づいて、複数の物品の表面の少なくとも一部の3次元形状を示す情報を生成する合成段階を有する。上記の制御方法において、第1地点及び第2地点の位置は、互いに異なってよい。上記の制御方法において、合成段階は、第1領域の3次元情報及び第2領域の3次元情報の一方を他方により補完して、複数の物品の表面の少なくとも一部の3次元形状を示す情報を生成する段階を含んでよい。
図2は、バンニングシステム120の内部構成の一例を概略的に示す。本実施形態において、バンニングシステム120は、積み降ろしシステム122と、積み降ろしシステム122を制御するシステム制御部210とを備える。バンニングシステム120は、荷物20を搬送するコンベア270を備えてよい。バンニングシステム120は、コンベア270が搬送する荷物20を撮像又は走査する3次元カメラ280を備えてもよい。
本実施形態において、積み降ろしシステム122は、マニピュレータ220と、台座230と、レール232と、駆動部240と、駆動制御部250とを備える。本実施形態において、マニピュレータ220は、ロボットハンド222と、ロボットアーム224とを有する。
本実施形態において、積み降ろしシステム122は、マニピュレータ220を用いて、トラック12のコンテナ22に、少なくとも1つの荷物20を積み込む。荷物20は、物品の一例であってよい。
例えば、積み降ろしシステム122は、まず、コンベア270により搬送されてきた荷物20の形状及び現在位置を特定する。積み降ろしシステム122は、例えば、3次元カメラ280が撮像した画像を取得し、当該画像に基づいて、荷物20の形状及び現在位置を特定する。3次元カメラ280は、荷物20の距離画像又は点群データを取得してもよい。
次に、積み降ろしシステム122は、荷物20の形状に基づいて、コンテナ22の内部における荷物20の配置を決定する。荷物20の配置としては、荷物20の位置及び姿勢が例示される。積み降ろしシステム122は、例えば、管理サーバ160から、コンテナ22の内部における荷物20の配置に関する情報を取得してもよい。その後、積み降ろしシステム122は、コンベア270から荷物20をピックアップして、コンテナ22の内部の特定の位置に配置する。
積み降ろしシステム122は、単一のマニピュレータ220を備えてもよく、複数のマニピュレータ220を備えてもよい。積み降ろしシステム122は、単一のマニピュレータ220を用いて単一の荷物20を積み込んでもよく、複数のマニピュレータ220を用いて単一の荷物20を積み込んでもよい。積み降ろしシステム122は、単一のマニピュレータ220を用いて、一度に複数の荷物20を積み込んでもよい。
本実施形態において、マニピュレータ220のロボットハンド222は、荷物20を把持する。ロボットハンド222の把持方式は特に限定されるものではない。ロボットハンド222の把持方式としては、低圧により荷物20を吸着する方式、複数の指モジュールにより荷物20を把持する方式などを例示することができる。ロボットハンド222は、作業内容によって交換されてもよい。ロボットハンド222は、接触センサ、質量計測センサ、負荷計測センサなどの各種センサを有してよい。ロボットハンド222は、カメラを有してもよい。上記のカメラは、距離画像又は点群データを取得する3次元カメラを含んでよい。3次元カメラは、複数の撮像素子を有してよい。3次元カメラは、測距用のレーザ照射機を有してもよい。
本実施形態において、マニピュレータ220のロボットアーム224は、ロボットハンド222に連結され、ロボットハンド222の位置及び姿勢を調整する。ロボットアーム224の構造は特に限定されるものではないが、例えば、複数の関節を有する多関節ロボットアームが用いられる。ロボットアーム224は、質量計測センサ、負荷計測センサなどの各種センサを有してよい。負荷計測センサは、ロボットアーム224の各関節を駆動する駆動部240のトルク、電流値又は電圧値を計測するセンサであってよい。
本実施形態において、台座230は、マニピュレータ220を支持する。台座230は、固定式の台座であってもよく、可動式の台座であってもよい。本実施形態において、台座230は、レール232の延伸方向に沿って、レール232の上を移動することができる。これにより、ロボットハンド222が、コンテナ22の奥まで到達し得る。台座230は、その内部に、駆動部240の少なくとも一部を収容してよい。台座230は、その内部に、駆動制御部250の少なくとも一部を収容してよい。
本実施形態において、駆動部240は、マニピュレータ220を駆動する。一実施形態において、駆動部240は、ロボットハンド222を駆動する。例えば、駆動部240は、ロボットハンド222に空気を供給したり、ロボットハンド222から空気を吸引したりする。駆動部240は、ポンプであってよい。駆動部240は、1以上のポンプを有してよい。他の実施形態において、駆動部240は、ロボットアーム224を駆動する。例えば、駆動部240は、ロボットアーム224の各関節の角度を調整する。駆動部240は、モータであってよい。駆動部240は、1以上のモータを有してよい。
本実施形態において、駆動部240は、台座230を駆動する。例えば、駆動部240は、コンテナ22と、台座230との相対位置を調整する。駆動部240は、モータであってよい。駆動部240は、1以上のモータを有してよい。
駆動制御部250は、駆動部240を制御する。例えば、駆動制御部250は、システム制御部210から、積み降ろしシステム122の動作を制御するための命令を受信する。駆動制御部250は、システム制御部210からの命令に基づいて、駆動部240を制御する。
積み降ろしシステム122の動作を制御するための命令は、ロボットハンド222の軌道を示す情報であってよい。ロボットハンド222の軌道を示す情報としては、(i)ロボットハンド222の初期配置、通過配置及び最終配置、並びに、移動時間を示す情報、(ii)初期配置、通過配置及び最終配置におけるロボットハンド222の各関節の角度、並びに、移動時間を示す情報、(iii)移動時間中の各時刻におけるロボットハンド222の配置を示す情報、(iv)移動時間中の各時刻におけるロボットハンド222の各関節の角度を示す情報などを例示することができる。ロボットハンド222の配置は、例えば、ロボットハンド222の位置及び姿勢により特定される。
図3は、デバンニングシステム140の内部構成の一例を概略的に示す。本実施形態において、デバンニングシステム140は、積み降ろしシステム142と、積み降ろしシステム142を制御するシステム制御部210を備える。デバンニングシステム140は、荷物20を搬送するコンベア270を備えてよい。デバンニングシステム140は、コンベア270が搬送する荷物20を撮像又は走査する3次元カメラ280を備えてもよい。
本実施形態において、積み降ろしシステム142は、マニピュレータ220と、台座230と、レール232と、駆動部240と、駆動制御部250とを備える。本実施形態において、マニピュレータ220は、ロボットハンド222と、ロボットアーム224とを有する。
システム制御部210は、形状認識装置、及び、制御措置の一例であってよい。駆動制御部250は、形状認識装置、及び、制御措置の一例であってよい。
本実施形態において、積み降ろしシステム142は、トラック12のコンテナ22の内部に積み上げられた複数の荷物20の中から、少なくとも1つの荷物20を取り出す。積み降ろしシステム142は、コンテナ22から取り出された荷物20を、例えば、コンベア270の上に配置する。
積み降ろしシステム142は、単一のマニピュレータ220を備えてもよく、複数のマニピュレータ220を備えてもよい。積み降ろしシステム142は、単一のマニピュレータ220を用いて単一の荷物20を取り出してもよく、複数のマニピュレータ220を用いて単一の荷物20を取り出してもよい。積み降ろしシステム142は、単一のマニピュレータ220を用いて、一度に複数の荷物20を取り出してもよい。
積み降ろしシステム142の各部は、積み降ろしシステム122の各部と同様の構成を有してよい。積み降ろしシステム142の詳細は後述される。なお、積み降ろしシステム122の各部は、技術的に矛盾が生じない範囲において、積み降ろしシステム142の各部と同様の構成を有してよい。
本実施形態において、システム制御部210は、積み降ろしシステム142を制御する。システム制御部210の詳細は後述される。なお、積み降ろしシステム122のシステム制御部210は、技術的に矛盾が生じない範囲において、積み降ろしシステム142のシステム制御部210と同様の構成を有してよい。
図4及び図5を用いて、積み降ろしシステム142のシステム構成の一例が説明される。図4は、積み降ろしシステム142の側面図の一例を概略的に示す。図5は、積み降ろしシステム142の上面図を概略的に示す。
図4及び図5に関連して説明される実施形態によれば、積み降ろしシステム142は、3次元カメラ260として、3次元カメラ462、3次元カメラ464、3次元カメラ466及び3次元カメラ468を備える。本実施形態において、3次元カメラ462、3次元カメラ464、3次元カメラ466及び3次元カメラ468は、それぞれ、架台430の異なる位置に配される。
3次元カメラ462、3次元カメラ464、3次元カメラ466及び3次元カメラ468の1つは、第1情報取得部の一例であってよい。3次元カメラ462、3次元カメラ464、3次元カメラ466及び3次元カメラ468の他の1つは、第2情報取得部の一例であってよい。架台430上の各カメラが配された位置は、第1地点又は第2地点の一例であってよい。
3次元カメラ462は、当該カメラの設置位置から、コンテナ22の内部を撮像又は走査する。これにより、コンテナ22の内部に積み上げられた複数の荷物20の表面の一部の領域に関する3次元情報が取得される。3次元情報としては、点群データ、距離画像などが例示される。点群データは、計測点の3次元座標値の集合であってよい。3次元カメラ462は、複数の撮像素子を利用して3次元情報を取得してよい。3次元カメラ462は、レーザ照射機を有してもよい。
同様に、3次元カメラ464は、当該カメラの設置位置から、コンテナ22の内部を撮像又は走査する。3次元カメラ466は、当該カメラの設置位置から、コンテナ22の内部を撮像又は走査する。3次元カメラ468は、当該カメラの設置位置から、コンテナ22の内部を撮像又は走査する。3次元カメラ464、3次元カメラ466及び3次元カメラ468のそれぞれは、3次元カメラ462と同様の構成を有してよい。
図6は、システム制御部210の内部構成の一例を概略的に示す。本実施形態において、システム制御部210は、点群情報取得部620と、合成マップ生成部630と、取出作業決定部640と、ロボット制御部650と、格納部660とを備える。
点群情報取得部620は、第1情報取得部及び第2情報取得部の一例であってよい。合成マップ生成部630は、合成部の一例であってよい。取出作業決定部640は、取出対象決定部及び取出方向決定部の一例であってよい。
本実施形態において、点群情報取得部620は、3次元カメラ462、3次元カメラ464、3次元カメラ466及び3次元カメラ468のそれぞれが、コンテナ22の内部を撮像又は走査して得られた情報を取得する。例えば、点群情報取得部620は、3次元カメラ462、3次元カメラ464、3次元カメラ466及び3次元カメラ468のそれぞれが取得した、コンテナ22の内部の点群データを取得する。
これにより、点群情報取得部620は、コンテナ22の内部に積み上げられた複数の荷物20の表面に関する、複数セットの点群データを取得することができる。複数のセットの点群データのそれぞれは、複数の荷物20の表面の一部を、互いに異なる地点から撮像又は走査することで得られる。
小型のワークのピッキング装置においては、容器に収容されたワークが、主に、当該ワークの上方から撮像又は走査される。また、ピッキング装置のロボットハンドは、ワークの上方から当該ワークに接近する。これに対して、本実施形態によれば、上下方向に積み上げられた複数の荷物20が、主に、荷物20の側面の側から撮像又は走査される。また、ロボットハンド222は、荷物20の側面の側から荷物20に接近する。
本実施形態において、合成マップ生成部630は、点群情報取得部620が取得した、コンテナ22の内部の状況を示す複数セットの点群データに基づいて、コンテナ22の内部の状況を示す単一の点群データ(合成点群データと称される場合がある。)を生成する。合成マップ生成部630は、複数セットの点群データのうち、一のセットの点群データを、他のセットの点群データにより補完して、合成点群データを生成してよい。合成マップ生成部630は、(i)複数セットの点群データのそれぞれから、マニピュレータ220の表面に関する点群データを除去した後、(ii)当該複数セットの点群データに基づいて、合成点群データを生成してもよい。
合成点群データによれば、コンテナ22の内部の複数の荷物20の表面の少なくとも一部の3次元形状が示される。例えば、合成点群データは、(i)複数の荷物20の上面の一部の3次元形状と、(ii)複数の荷物20の側面のうち、取り出し口側を向いた面の3次元形状とを示す。
合成マップ生成部630は、(i)複数セットの点群データ、又は、(ii)当該複数セットの点群データを利用して生成された合成点群データに基づいて、コンテナ22の内部の表面形状の一部、又は、複数の荷物20の表面形状の一部を示す3次元マップを生成してよい。例えば、合成マップ生成部630は、コンテナ22の内部に仮想的に設定された複数のボクセルのそれぞれについて、(a)占有情報、(b)空白情報、又は、(c)不明情報が対応付けられたマップ情報(合成デプスマップと称される場合がある)を生成する。
(a)占有情報は、当該ボクセルの内部に、荷物20の表面の一部に対応する点群が存在することを示す情報であってよい。これにより、当該ボクセルの位置に、荷物20の表面の一部が存在することが示される。(b)空白情報は、当該ボクセルの内部に、荷物20の表面の一部に対応する点群が存在しないことを示す情報であってよい。空白情報は、当該ボクセルの内部に点群が存在しないことを示す情報であってもよい。これにより、当該ボクセルの位置に、荷物20の表面が存在しないことが示される。(c)不明情報は、当該ボクセルの内部に、荷物20の表面の一部に対応する点群の存否が不明であることを示す情報であってよい。これにより、当該ボクセルの位置における、荷物20の表面の一部の存否が不明であることが示される。
コンテナ22の内部に積み上げられた複数の荷物20の中には、サイズの異なる荷物が含まれる。そのため、複数の荷物20の表面の凹凸によって、複数の荷物20の表面に、単一の3次元カメラでは点群データを取得できない領域が存在し得る。また、積み降ろしシステム122の各3次元カメラは、マニピュレータ220がコンテナ22の外部に位置する場合だけでなく、マニピュレータ220がコンテナ22の内部に配されたコンテナ22を取り出すための作業を実行している間にも、コンテナ22の内部を撮像又は走査する。そのため、各3次元カメラの画角にマニピュレータ220が写り込むことによって、複数の荷物20の表面に、単一の3次元カメラでは点群データを取得できない領域が存在し得る。
本実施形態によれば、合成マップ生成部630が、互いに異なる地点から撮像又は走査されて得られた複数セットの点群データを合成して、複数の荷物20の表面の少なくとも一部の3次元形状を示す合成点群データが生成される。これにより、例えば、システム制御部210は、複数の荷物20の表面のより広い領域に関する点群データに基づいて、積み降ろしシステム142を制御することができる。
本実施形態においては、説明を簡単にすることを目的として、合成マップ生成部630が、3次元カメラ462が取得した点群データと、3次元カメラ466が取得した点群データとに基づいて、合成点群データを生成する場合を例として、合成マップ生成部630の詳細が説明される。しかしながら、合成マップ生成部630は、本実施形態に限定されない。他の実施形態において、合成マップ生成部630は、4つの3次元カメラの他の組み合わせに係る、複数セットの点群データに基づいて、合成点群データを生成してよい。合成マップ生成部630は、3以上のセットの点群データに基づいて、合成点群データを生成してもよい。
[複数の点群データの合成]
例えば、合成マップ生成部630は、3次元カメラ462が取得した点群データと、3次元カメラ466が取得した点群データとを取得する。一実施形態において、合成マップ生成部630は、3次元カメラ462が取得した点群データ、及び、3次元カメラ466が取得した点群データの一方を、他方の点群データにより補完して、合成点群データを生成する。
他の実施形態において、合成マップ生成部630は、3次元カメラ462が取得した点群データから、マニピュレータ220の表面に関する点群データを除去する。合成マップ生成部630は、3次元カメラ466が取得した点群データから、マニピュレータ220の表面に関する点群データを除去する。一実施形態において、合成マップ生成部630は、特定の点群データを削除、消去又は除外することで、当該特定の点群データを除去する。他の実施形態において、合成マップ生成部630は、特定の点群データに含まれる距離情報を、距離が不明であることを示す情報に書き換えることで、当該点群データを除去する。
次に、合成マップ生成部630は、(i)マニピュレータ220の表面に関する点群が除去された、3次元カメラ462が取得した点群データ、及び、(ii)マニピュレータ220の表面に関する点群が除去された、3次元カメラ466が取得した点群データの一方を他方により補完して、合成点群データを生成する。補完処理は、例えば、下記の手順により生成される。
本実施形態によれば、合成マップ生成部630は、格納部660から、3次元カメラ462及び3次元カメラ466のそれぞれについて、積み降ろしシステム142の任意の位置(基準位置と称される場合がある。)に対する、三次元空間における相対位置を示す情報を取得する。3次元カメラ462が取得した点群データは、例えば、コンテナ22の内部に存在する物体の表面上の各点に関する3次元カメラ462からの角度及び距離を示す。3次元カメラ466が取得した点群データは、例えば、コンテナ22の内部に存在する物体の表面上の各点に関する3次元カメラ466からの角度及び距離を示す。
合成マップ生成部630は、3次元カメラ462及び3次元カメラ466のそれぞれの上記相対位置を示す情報と、3次元カメラ462及び3次元カメラ466のそれぞれが取得した点群データに基づいて、3次元カメラ466が取得した各点群データにより示される点の位置と、3次元カメラ466が取得した各点群データにより示される点の位置とを算出する。合成マップ生成部630は、3次元カメラ466が取得した各点群データにより示される点の位置と、3次元カメラ466が取得した各点群データにより示される点の位置とを比較する。合成マップ生成部630は、比較結果に基づいて、(i)マニピュレータ220の表面に関する点群が除去された、3次元カメラ462が取得した点群データと、(ii)マニピュレータ220の表面に関する点群が除去された、3次元カメラ466が取得した点群データであって、3次元カメラ462が取得した点群データにより示される点とは異なる点を示す点群データとを結合又は併合することで、合成点群データを生成する。
[合成デプスマップの生成]
例えば、合成マップ生成部630は、3次元カメラ462が取得した点群データと、3次元カメラ466が取得した点群データとを取得する。合成マップ生成部630は、3次元カメラ462が取得した点群データに基づいて、コンテナ22の内部に仮想的に設定された複数のボクセルのそれぞれについて、(a)占有情報、(b)空白情報、又は、(c)不明情報が対応付けられた第1デプスマップを生成してよい。合成マップ生成部630は、3次元カメラ466が取得した点群データに基づいて、コンテナ22の内部に仮想的に設定された複数のボクセルのそれぞれについて、(a)占有情報、(b)空白情報、又は、(c)不明情報が対応付けられた第2デプスマップを生成してよい。
合成マップ生成部630は、第1デプスマップ及び第2デプスマップの一方を他方により補完して、複数のボクセルのそれぞれについて、(a)占有情報、(b)空白情報、又は、(c)不明情報が対応付けられた、合成デプスマップを生成してよい。例えば、合成マップ生成部630は、コンテナ22の内部に仮想的に設定された複数のボクセルのそれぞれについて、第1デプスマップの情報と、第2デプスマップの情報とを結合又は併合することで、合成デプスマップを生成する。
コンテナ22の内部は、積み降ろしシステム142の作業空間の一例であってよい。第1デプスマップは、第1マップ情報の一例であってよい。第2デプスマップは、第2マップ情報の一例であってよい。合成デプスマップは、合成マップ情報の一例であってよい。
他の実施形態において、合成マップ生成部630は、3次元カメラ462が取得した点群データから、マニピュレータ220の表面に関する点群を除去した後、第1デプスマップを生成してよい。合成マップ生成部630は、3次元カメラ466が取得した点群データから、マニピュレータ220の表面に関する点群を除去した後、第2デプスマップを生成してよい。
他の実施形態において、合成マップ生成部630は、3次元カメラ462が取得した、複数の時点における点群データに基づいて、第1デプスマップを生成してよい。合成マップ生成部630は、3次元カメラ466が取得した、複数の時点における点群データに基づいて、第2デプスマップを生成してよい。
例えば、3次元カメラ462が時刻t2において取得した点群データから、マニピュレータ220の表面に関する点群が除去されると、荷物20の表面に関する点群の数が極端に減少する場合がある。そこで、合成マップ生成部630は、時刻t2よりも前の時刻である時刻t1において、3次元カメラ462が取得した点群データを利用して、3次元カメラ462が時刻t2において取得した点群データを補完する。具体的には、例えば、合成マップ生成部630は、3次元カメラ462が時刻t2において取得した点群データに基づいて生成された第1デプスマップの「不明情報」の少なくとも一部を、時刻t1において、3次元カメラ462が取得した点群データに基づいて、「占有情報」又は「空白情報」に置き換える。
他の実施形態において、合成マップ生成部630は、3次元カメラ462が取得した、1以上の時点における点群データに基づいて、第1デプスマップを生成してよい。合成マップ生成部630は、3次元カメラ466が取得した、1以上の時点における点群データに基づいて、第2デプスマップを生成してよい。
合成マップ生成部630が、第1デプスマップ及び第2デプスマップに基づいて、合成デプスマップを生成する場合に、同一のボクセルに関して、第1デプスマップのデータと、第2デプスマップのデータとが異なることもあり得る。また、同一のボクセルに関して、第1の時刻における第1デプスマップのデータと、第2の時刻における第1デプスマップのデータとが異なることもあり得る。同様に、同一のボクセルに関して、第3の時刻における第2デプスマップのデータと、第4の時刻における第2デプスマップのデータとが異なることもあり得る。
そこで、一実施形態によれば、合成マップ生成部630は、時間的に新しい方の情報を利用して、合成デプスマップを生成する。他の実施形態において、合成マップ生成部630は、マニピュレータ220の設置位置に近い方の情報を利用して、合成デプスマップを生成してもよい。
なお、本実施形態においては、合成デプスマップが、第1デプスマップ及び第2デプスマップに基づいて生成される場合が説明された。しかしながら、合成デプスマップの生成方法は、本実施形態に限定されない。他の実施形態において、合成マップ生成部630は、3次元カメラ462が取得した点群データと、3次元カメラ466が取得した点群データとを取得する。合成マップ生成部630は、3次元カメラ462が取得した点群データ、及び、3次元カメラ466が取得した点群データに基づいて、合成点群データを生成する。合成マップ生成部630は、合成点群データに基づいて、合成デプスマップを生成してよい。
本実施形態において、取出作業決定部640は、マニピュレータ220の作業の内容を決定する。例えば、取出作業決定部640は、マニピュレータ220による取出作業の対象となる荷物20を決定する。取出作業決定部640は、取出作業の対象となった荷物20を取り出す方向(取出方向と称される場合がある。)を決定してもよい。取出作業決定部640は、取出作業の対象となる荷物20及び荷物20の取出方向の少なくとも一方を決定できない場合、その旨を示す情報を、物流管理システム100の管理者又はユーザの端末に送信してよい。
一般的には、コンテナ22の中で、マニピュレータ220の設置位置に近い側(コンテナ22の取出口側と称される場合がある。)に配された荷物20ほど、3次元カメラ260を介して得られる情報量が多い。また、上方に位置する荷物20ほど、3次元カメラ260を介して得られる情報量が多い。そのため、取出作業決定部640は、例えば、取出作業の対象として、最上面に位置する荷物20であって、コンテナ22の取出口側に最も近い位置にある荷物20を選択し、選択された荷物20をコンテナ22の取出口側に向かって取り出す。しかしながら、取出対象の決定、及び、取出方向の決定は、本実施形態に限定されない。
一実施形態において、取出作業決定部640は、積み上げられた複数の荷物20のそれぞれの位置関係に基づいて、取出作業の対象となる荷物20を決定する。取出作業決定部640は、積み上げられた複数の荷物20における、上下方向の位置関係に基づいて、取出作業の対象となる荷物20を決定してよい。例えば、取出作業決定部640は、上方に配されている荷物20ほど、より優先的に取出作業の対象となるように、取出作業の対象となる荷物20を決定する。取出作業決定部640は、中程の位置に配されている荷物と比較して、中心よりも下方に配されている荷物20が優先的に取出作業の対象となるように、取出作業の対象となる荷物20を決定してもよい。なお、優先順位は、最上面に配された荷物20が最も優先されるように設定されてもよく、最上面以外の位置に配された荷物20が最も優先されるように設定されてもよい。
取出作業決定部640は、積み上げられた複数の荷物20における、コンテナ22の奥行方向の位置関係に基づいて、取出作業の対象となる荷物20を決定してもよい。例えば、取出作業決定部640は、コンテナ22の取出口側に配された荷物20ほど、より優先的に取出作業の対象となるように、取出作業の対象となる荷物20を決定する。なお、優先順位は、コンテナ22の取出口側に最も近い位置に配された荷物20が最も優先されるように設定されてもよく、コンテナ22の中の特定の領域に配された荷物20が最も優先されるように設定されてもよい。
次に、取出作業決定部640は、取出作業の対象とされた荷物20の取出方向を決定する。なお、荷物20の取出方向は、特に限定されない。
荷物20の取出方向は、鉛直方向上向きであってもよく、水平方向に略平行な一方向であってもよい。荷物20の取出方向は、鉛直方向又は水平方向に対して傾斜を有してもよい。荷物20の取出方向は、コンテナ22の奥行方向(図3の左右方向である。)に略平行であってもよく、コンテナ22の幅方向(図3の紙面に垂直な方向である。)に略平行であってもよい。荷物20の取出方向は、コンテナ22の奥行方向又は幅方向に対して傾斜を有してもよい。荷物20の取出方向は、荷物20の長手方向に略平行であってもよく、荷物20の短手方向に略平行であってもよい。荷物20の取出方向は、荷物20の長手方向又は短手方向に略平行であってもよい。
なお、取出方向が「上方」であるとは、取出方向が鉛直方向上向きの場合だけでなく、取出方向と、鉛直方向とのなす角度が、90度未満である場合をも含む。取出方向と、鉛直方向とのなす角度は、60度以下であってもよく、45度以下であってもよい。また、取出方向が「奥行方向」若しくは「幅方向」である、又は、取出方向が「奥行方向」若しくは「幅方向」に沿うとは、取出方向が水平方向に平行である場合だけでなく、取出方向と、水平方向とのなす角度が、90度未満である場合をも含む。取出方向と、水平方向とのなす角度は、60度以下であってもよく、45度以下であってもよい。
荷物20の取出方向に関する複数の候補が存在する場合、取出作業決定部640は、取出作業の対象となる荷物20及びマニピュレータ220と、他の荷物20又はコンテナ22の壁とが干渉せずに、荷物20を取り出すことのできる経路(取出経路と称される場合がある。)の有無を判定してよい。取出作業決定部640は、取出経路の有無に関する判定結果の確からしさを示す指標を算出してもよい取出作業決定部640は、各取出経路に沿って荷物20を取り出す場合に、当該取出作業に要する時間を推定してもよい。
取出作業決定部640は、荷物20の取出方向に関する複数の候補のうち、取出経路を確立することのできる候補を、取出方向として決定してよい。取出経路を確立することのできる候補の数が2以上である場合、取出作業決定部640は、上記の判定結果の確からしさを示す指標に基づいて、より確からしい取出経路に対応する候補を、取出方向として決定してよい。取出作業決定部640は、荷物20の取出方向に関する複数の候補のうち、取出経路を確立することができ、取出作業に要する時間の最も小さな候補を、取出方向として決定してもよい。
取出作業決定部640は、例えば、積み上げられた複数の荷物20のそれぞれの位置関係に基づいて、荷物20の取出方向を決定する。取出作業決定部640は、積み上げられた複数の荷物20における、上下方向の位置関係に基づいて、荷物20の取出方向を決定してよい。例えば、最上面に配された荷物20が取り出される場合、取出作業決定部640は、荷物20が上方に向かって引き抜かれるように、荷物20を取り出すことを決定する。中心よりも下方の位置に配されている荷物20が取り出される場合、取出作業決定部640は、荷物20がマニピュレータ220の側に向かって引き抜かれるように、又は、荷物20がコンテナ22の幅方向に沿って引き抜かれるように、荷物20を取り出すことを決定してよい。
取出作業決定部640は、積み上げられた複数の荷物20における、コンテナ22の奥行方向の位置関係に基づいて、荷物20の取出方向を決定してもよい。例えば、コンテナ22の取出口側に最も近い位置に配された荷物20が取り出される場合、取出作業決定部640は、荷物20が取出口側に向かって引き抜かれるように、荷物20を取り出すことを決定する。取出作業の対象となる荷物20と、コンテナ22の取出口側との間に他の荷物20が存在する場合、取出作業決定部640は、荷物20が上方に向かって引き抜かれるように、又は、荷物20がコンテナ22の幅方向に沿って引き抜かれるように、荷物20を取り出すことを決定する。
本実施形態においては、積み上げられた複数の荷物20のそれぞれの位置関係に基づいて、取出作業の対象となる荷物20及び荷物20の取出方向の少なくとも一方が決定される場合を例として、取出作業決定部640の詳細が説明された。しかしながら、取出作業決定部640は、本実施形態に限定されない。
他の実施形態において、取出作業決定部640は、荷物20のサイズに基づいて、取出作業の対象となる荷物20及び荷物20の取出方向の少なくとも一方を決定してよい。例えば、取出作業決定部640は、複数の行又は列のそれぞれの最上面に位置する複数の荷物20のうち、サイズが小さい荷物20ほど、より優先的に取出作業の対象となるように、取出作業の対象となる荷物20を決定する。取出作業決定部640は、複数の行又は列のそれぞれの最上面に位置する複数の荷物20のうち、特定の範囲のサイズを有する荷物20ほど、より優先的に取出作業の対象となるように、取出作業の対象となる荷物20を決定してもよい。
取出作業決定部640は、一の荷物20のサイズと、当該一の荷物20よりも取出口側に位置する他の荷物20のサイズとに基づいて、当該一の荷物20を取出対象として選択するか否かを決定してよい。上記の他の荷物20は、上記の一の荷物20と同一の列に配された荷物20であってもよく、上記の一の荷物20とは異なる列に配された荷物20であってもよい。
例えば、サイズの大きな荷物20がコンテナ22の取出口に近い位置に存在すると、マニピュレータ220が他の荷物20を取り出したり、3次元カメラ260がコンテナ22の内部を撮像又は走査したりする際に、当該大きな荷物20が上記の作業の邪魔になることも考えられる。そこで、一の荷物20のサイズが、他の荷物20のサイズよりも大きい場合、取出作業決定部640は、当該一の荷物20を取出対象として選択しないことを決定する。これにより、サイズのより大きな荷物20が先に取り出される。その結果、コンテナ22に搭載された複数の荷物20の取り出しに要する時間が短縮される。また、上記の荷物20により生じていた3次元カメラ260の死角が消滅し、合成点群データ又は合成デプスマップの内容がより充実する。
他の実施形態において、取出作業決定部640は、管理サーバ160から、コンテナ22に積み込まれた複数の荷物20のそれぞれのサイズに関する情報を取得する。取出作業決定部640は、複数の荷物20のそれぞれのサイズに関する情報と、複数の荷物20の合成点群データ又は合成デプスマップとに基づいて、取出作業の対象となる荷物20及び荷物20の取出方向の少なくとも一方を決定してよい。
例えば、取出作業決定部640は、複数の荷物20の合成点群データ又は合成デプスマップを解析して、一の荷物20と他の荷物20との境界の少なくとも一部を検出する。取出作業決定部640は、検出された境界の情報に基づいて、一の荷物20の少なくとも1辺の長さを推定する。取出作業決定部640は、推定された少なくとも1辺の長さの情報と、複数の荷物20のそれぞれのサイズに関する情報とに基づいて、一の荷物20のサイズを推定する。
これにより、3次元カメラ260が、一の荷物20の一部分を撮像又は走査できない場合であっても、取出作業決定部640は、複数の荷物20のそれぞれのサイズに関する情報を利用することで、一の荷物20のサイズの候補を絞り込むことができる。その結果、取出作業決定部640は、一の荷物20のサイズの推定値を示す情報と、合成点群データ又は合成デプスマップとに基づいて、一の荷物20と、他の荷物20との重なり具合を推定することができる。
上記の重なり具合は、一の荷物20のサイズの候補として絞り込まれた値の統計値により示されてよい。統計値としては、最大値、最小値、平均値、中央値、最頻値などが例示される。例えば、上記の重なり具合は、一の荷物20と、他の荷物20との重複部分の長さの推定値の最小値及び最大値の少なくとも一方により示される。
例えば、取出作業決定部640は、3次元カメラ260が取得した情報に基づいて認識された1又は複数の荷物20のそれぞれについて、より上方に存在する他の荷物20との重なり具合を推定する。取出作業決定部640は、他の荷物20との重なり具合に基づいて、取出作業の対象となる荷物20を決定してよい。例えば、取出作業決定部640は、他の荷物20との重なり具合が小さい荷物20ほど、より優先的に取出作業の対象となるように、取出作業の対象となる荷物20を決定する。
荷物Aの上に、荷物Bが積み重なっている場合において、荷物Aと、荷物Bとの重なり具合が、予め定められた程度よりも軽度であるとき、取出作業決定部640は、荷物Aを荷物Bよりも先に取り出すことを決定してもよく、荷物Bを荷物Aよりも先に取り出すことを決定してもよい。一方、荷物Aと、荷物Bとの重なり具合が、予め定められた程度よりも重度であるとき、取出作業決定部640は、荷物Bを荷物Aよりも先に取り出すことを決定する。
取出作業決定部640は、一の荷物20と、当該一の荷物20より上方に存在する他の荷物20の重なり具合を示す情報に基づいて、荷物20の取出方向を決定してよい。上記の重なり具合が、予め定められた程度よりも軽度であるとき、取出作業決定部640は、一の荷物20の取出方向として、任意の方向を決定してよい。一方、上記の重なり具合が、予め定められた程度よりも重度であるとき、取出作業決定部640は、一の荷物20の取出方向として、上方以外の方向を決定してよい。
取出作業決定部640は、上記の重なり具合に基づいて、取出方向及び鉛直方向のなす角度の許容範囲又は許容値を決定してもよい。取出作業決定部640は、上記の重なり具合を示す情報に基づいて、一の荷物20を特定の方向に引き出した場合における取出経路の有無を判定してもよい。
他の実施形態において、取出作業決定部640は、一の荷物20と、他の荷物20との境界における影を評価する。取出作業決定部640は、影の形、影の大きさ及び影の濃さの少なくとも1つに基づいて、影を評価してよい。取出作業決定部640は、上記の影に関する評価に基づいて、取出作業の対象となる荷物20及び荷物20の取出方向の少なくとも一方を決定してよい。
例えば、取出作業決定部640は、3次元カメラ260が撮像した画像を解析して、一の荷物20と、他の荷物20との境界又は隙間に生じている影を認識する。上記の影の形、大きさ及び濃さは、光源の位置及び数、一の荷物20のサイズ、他の荷物20のサイズ、並びに、一の荷物20と、他の荷物20との位置関係に応じて変化する。
そこで、取出作業決定部640は、影の形、影の大きさ及び影の濃さの少なくとも1つに基づいて、一の荷物20又は他の荷物20の少なくとも1辺の長さを推定してよい。取出作業決定部640は、推定された少なくとも1辺の長さの情報と、複数の荷物20のそれぞれのサイズに関する情報とに基づいて、一の荷物20のサイズを推定してよい。また、取出作業決定部640は、影の形、影の大きさ及び影の濃さの少なくとも1つに基づいて、一の荷物20と、他の荷物20との重なり具合を推定してもよい。取出作業決定部640は、上述された手順と同様の手順により、取出作業の対象となる荷物20及び荷物20の取出方向の少なくとも一方を決定してよい。
上述のとおり、取出作業の対象となる荷物20及び荷物20の取出方向の少なくとも一方を決定するための考慮要素としては、(i)積み上げられた複数の荷物20のそれぞれの位置関係、(ii)複数の荷物20のそれぞれのサイズ、(iii)3次元カメラ260がコンテナ22の内部を撮像又は走査して得られた情報の解析結果(例えば、合成点群データ又は合成デプスマップである)、(iv)3次元カメラ260がコンテナ22の内部を撮像して得られた画像の解析結果(例えば、影の評価結果である)、(v)一の荷物20と、他の荷物20との重なり具合、(vi)取出経路の有無に関する判定結果の確からしさ、(vii)取出作業に要する時間などが例示される。取出作業決定部640は、2以上の考慮要素の組み合わせに基づいて、取出作業の対象となる荷物20及び荷物20の取出方向の少なくとも一方を決定してもよい。
本実施形態において、ロボット制御部650は、マニピュレータ220を制御する。例えば、ロボット制御部650は、マニピュレータ220を制御して、取出作業決定部640が決定した荷物20を、複数の荷物20の中から取り出して、コンベア270の上に配置する。ロボット制御部650は、上記の作業を実施するためのロボットハンド222の軌道を決定してよい。ロボット制御部650は、ロボットハンド222の軌道を示す命令を生成して、当該命令を駆動制御部250に送信してよい。
本実施形態において、格納部660は、各種の情報を格納する。例えば、格納部660は、管理サーバ160から、コンテナ22に積み込まれた複数の荷物20のそれぞれのサイズに関する情報を取得し、当該情報を格納してよい。格納部660は、管理サーバ160から、コンテナ22に積み込まれた複数の荷物20のそれぞれの特徴点に関する情報を取得し、当該情報を格納してよい。
図7、図8及び図9を用いて、点群データについて説明する。図7及び図8は、特定の高さの位置における点群データの一例を概略的に示す。図7は、マニピュレータ220がカメラの画角に入っていない場合の例を示す。図7は、マニピュレータ220がカメラの画角に入っている場合の例を示す。図9は、複数の時点における点群データの一例を概略的に示す。
図7は、3次元カメラ466が取得した点群データ702を、コンテナ22の内部に配された荷物72、荷物74及び荷物76とともに示す。同様に、図7は、3次元カメラ462が取得した点群データ704を、コンテナ22の内部に配された荷物72、荷物74及び荷物76とともに示す。図7において、小さな丸710は、点群を構成する点を示す。図7に示されるとおり、複数の荷物の凹凸の具合によって、単一の3次元カメラでは点群を取得することのできない領域が存在する。
図8は、3次元カメラ466が取得した点群データ802を、コンテナ22の内部に配された荷物72、荷物74及び荷物76、並びに、マニピュレータ220とともに示す。同様に、図7は、3次元カメラ462が取得した点群データ804を、コンテナ22の内部に配された荷物72、荷物74及び荷物76、並びに、マニピュレータ220とともに示す。図8に示されるとおり、マニピュレータ220が3次元カメラの画角に入り込むことによって、単一の3次元カメラでは点群を取得することのできない領域が存在する。
図9は、時刻t1において、3次元カメラ466が点群データ702を取得し、3次元カメラ462が点群データ704を取得したことを示す。同様に、図9は、時刻t2において、3次元カメラ466が点群データ802を取得し、3次元カメラ462が点群データ804を取得したことを示す。図9において、太線は、点群を示す。図9において、点線で囲まれた領域は、荷物20の表面の一部に対応する点群の存否が不明である領域を示す。
図10は、合成マップ生成部630における情報処理の一例を概略的に示す。上述のとおり、合成マップ生成部630は、3次元カメラ462から、3次元カメラ462が取得した点群データを取得する。同様に、合成マップ生成部630は、3次元カメラ466から、3次元カメラ466が取得した点群データを取得する。
合成マップ生成部630は、3次元カメラ462が取得した点群データと、3次元カメラ466が取得した点群データとに基づいて、合成デプスマップ1000を生成する。合成マップ生成部630は、1以上の時点において3次元カメラ462が取得した点群データと、1以上の時点において3次元カメラ466が取得した点群データとに基づいて、合成デプスマップ1000を生成してもよい。合成デプスマップ1000において、占有情報が格納されている複数のボクセルを結ぶことで、複数の荷物20の表面形状1010が得られる。
図11は、データテーブル1100の一例を概略的に示す。本実施形態において、データテーブル1100は、第1デプスマップ、第2デプスマップ及び合成デプスマップの一例であってよい。本実施形態において、データテーブル1100は、各ボクセルを識別するためのボクセルID1120と、各ボクセルに関連する点群に関する情報1140と、合成結果を示す情報1160とを対応付けて格納する。
本実施形態において、各ボクセルに関連する点群に関する情報1140は、当該点群を取得した3次元カメラを識別するためのカメラIDと、当該点群が取得された時刻を示す情報と、当該点群に基づいて定められたボクセルの評価を示す情報とを含んでよい。ボクセルの評価を示す情報としは、占有情報、空白情報、不明情報などが例示される。
なお、合成デプスマップのデータテーブルは、ボクセルID1120と、合成結果を示す情報1160とを対応付けて格納してよい。第1デプスマップ及び第2デプスマップのデータテーブルは、ボクセルID1120と、点群情報1140とを対応付けて格納してよい。
図12は、管理サーバ160の内部構成の一例を概略的に示す。本実施形態において、管理サーバ160は、通信制御部1210と、荷物情報管理部1220とを備える。
本実施形態において、通信制御部1210は、管理サーバ160と、バンニングシステム120及びデバンニングシステム140の少なくとも一方との間の通信を制御する。通信制御部1210は、通信インタフェースであってよい。
本実施形態において、荷物情報管理部1220は、トラック12に積み込まれた複数の荷物20のそれぞれに関する情報を管理する。例えば、荷物情報管理部1220は、トラック12に積み込まれた複数の荷物20のそれぞれのサイズに関する情報を、バンニングシステム120から取得する。荷物情報管理部1220は、トラック12に積み込まれた複数の荷物20のそれぞれの特徴点に関する情報を、バンニングシステム120から取得してもよい。荷物情報管理部1220は、トラック12に積み込まれた複数の荷物20のそれぞれの質量に関する情報を、バンニングシステム120から取得してもよい。荷物情報管理部1220は、トラック12の積荷に関する各種の情報を、記憶装置に格納してよい。荷物情報管理部1220は、例えば、デバンニングシステム140からの要求に応じて、トラック12の積荷に関する情報を、デバンニングシステム140に送信してよい。
図13は、データテーブル1300の一例を概略的に示す。本実施形態において、データテーブル1300は、トラック12の積荷に関する情報の一例であってよい。本実施形態において、データテーブル1300は、各荷物が積み込まれたコンテナを識別するためのコンテナID1320と、各荷物を識別するための荷物ID1330と、各荷物のサイズに関する情報1340と、各荷物の形状に関する情報1350と、各荷物の特徴点に関する情報1360とを対応付けて格納する。各荷物の特徴点に関する情報1360は、各荷物の特徴点を示す電子データのURIであってもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。また、各構成要素は、名称が同一で、参照符号が異なる他の構成要素と同様の特徴を有してもよい。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。