(57)【要約】【課題】自走ロボットの物体への衝突を低減する。【解決手段】実施形態によれば、情報処理装置は、第１の取得部と、第１の作成部と、第１の変換部と、第２の取得部と、第２の作成部と、第２の変換部と、比較部と、判断部とを備える。前記第１の取得部は、第１の高さでの検知に関連する第１の検知データを取得する。前記第１の作成部は、前記第１の検知データに基づく第１の環境地図を作成する。前記第１の変換部は、画像処理により前記第１の環境地図を第２の環境地図へ変換する。前記第２の取得部は、第２の高さでの検知に関連する第２の検知データを取得する。前記第２の作成部は、前記第２の検知データに基づく第３の環境地図を作成する。前記第２の変換部は、画像処理により前記第３の環境地図を第４の環境地図へ変換する。前記比較部は、前記第２の環境地図と前記第４の環境地図とを比較する。前記判断部は、前記第２の環境地図と前記第４の環境地図の何れが物体の外形を捉えているのかを判断する。【選択図】図１
2020154764.tif 000002
【特許請求の範囲】
【請求項１】
物体を検知するセンサから第１の高さでの検知に関連する第１の検知データを取得する第１の取得部と、
前記第１の検知データに基づく第１の環境地図を作成する第１の作成部と、
所定の画像処理により前記第１の環境地図を第２の環境地図へ変換する第１の変換部と、
前記センサから前記第１の高さとは異なる第２の高さでの検知に関連する第２の検知データを取得する第２の取得部と、
前記第２の検知データに基づく第３の環境地図を作成する第２の作成部と、
前記所定の画像処理により前記第３の環境地図を第４の環境地図へ変換する第２の変換部と、
前記第２の環境地図と前記第４の環境地図とを比較する比較部と、
前記第２の環境地図と前記第４の環境地図との比較結果に応じて、前記第２の環境地図と前記第４の環境地図の何れが前記物体の外形を捉えているのかを判断する判断部と、
を備える情報処理装置。
【請求項２】
前記比較部は、前記第２の環境地図に描画されている前記物体に対応する部分の画素数と前記第４の環境地図に描画されている前記物体に対応する部分の画素数とを比較する、
請求項１に記載の情報処理装置。
【請求項３】
前記比較部は、前記第２の環境地図に描画されている前記物体に対応する部分の外周の長さと前記第４の環境地図に描画されている前記物体に対応する部分の外周の長さとを比較する、
請求項１に記載の情報処理装置。
【請求項４】
前記所定の画像処理は、膨張収縮処理である、請求項１に記載の情報処理装置。
【請求項５】
物体を検知するセンサと、
前記センサから第１の高さでの検知に関連する第１の検知データを取得する第１の取得部と、
前記第１の検知データに基づく第１の環境地図を作成する第１の作成部と、
所定の画像処理により前記第１の環境地図を第２の環境地図へ変換する第１の変換部と、
前記センサから前記第１の高さとは異なる第２の高さでの検知に関連する第２の検知データを取得する第２の取得部と、
前記第２の検知データに基づく第３の環境地図を作成する第２の作成部と、
前記所定の画像処理により前記第３の環境地図を第４の環境地図へ変換する第２の変換部と、
前記第２の環境地図と前記第４の環境地図とを比較する比較部と、
前記第２の環境地図と前記第４の環境地図との比較結果に応じて、前記第２の環境地図と前記第４の環境地図の何れが前記物体の外形を捉えているのかを判断する判断部と、
を備える読取システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置及び読取システムに関する。
【背景技術】
【０００２】
近年、アンテナを備える自走ロボットを用いてＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｅｒ）などの無線タグを読み取る読取システムが提供されている。読取システムは、自走ロボットを無線タグの付された複数の物品が陳列されている棚などの什器の前を通過させて、無線タグを読み取る。
【０００３】
読取システムは、無線タグの読取に先立ち、自走ロボットの走行に用いる環境地図を作成する。例えば、読取システムは、自走ロボットの所定の高さに固定されたＬＲＦ（Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ）を用いて、周辺環境をスキャンしながら環境地図を作成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−２２８１９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、棚は、水平に延びる複数の棚板を有する凹凸の構造である。自走ロボットの所定の高さに固定されたＬＲＦによって検知される棚の形は、水平面に対して実際の棚を鉛直方向に投影して得られる形と異なることがある。自走ロボットは、環境地図を用いて走行するので、環境地図に描画されていない棚の一部に衝突する可能性がある。
【０００６】
上記の課題を解決するため、自走ロボットの物体への衝突を低減することができる技術を提供する。
【課題を解決するための手段】
【０００７】
実施形態によれば、情報処理装置は、第１の取得部と、第１の作成部と、第１の変換部と、第２の取得部と、第２の作成部と、第２の変換部と、比較部と、判断部とを備える。前記第１の取得部は、物体を検知するセンサから第１の高さでの検知に関連する第１の検知データを取得する。前記第１の作成部は、前記第１の検知データに基づく第１の環境地図を作成する。前記第１の変換部は、所定の画像処理により前記第１の環境地図を第２の環境地図へ変換する。前記第２の取得部は、前記センサから前記第１の高さとは異なる第２の高さでの検知に関連する第２の検知データを取得する。前記第２の作成部は、前記第２の検知データに基づく第３の環境地図を作成する。前記第２の変換部は、前記所定の画像処理により前記第３の環境地図を第４の環境地図へ変換する。前記比較部は、前記第２の環境地図と前記第４の環境地図とを比較する。前記判断部は、前記第２の環境地図と前記第４の環境地図との比較結果に応じて、前記第２の環境地図と前記第４の環境地図の何れが前記物体の外形を捉えているのかを判断する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る読取システムを例示する図である。
【図２】図２は、実施形態に係る読取システムの構成例を示す概略図である。
【図３】図３は、実施形態に係る読取システムの構成例を示すブロック図である。
【図４】図４は、実施形態に係る自走ロボットによる第１の高さでの検知例を示す図である。
【図５】図５は、実施形態に係る第１の環境地図を例示する図である。
【図６】図６は、実施形態に係る第２の環境地図を例示する図である。
【図７】図７は、実施形態に係る自走ロボットによる第２の高さでの検知例を示す図である。
【図８】図８は、実施形態に係る第３の環境地図を例示する図である。
【図９】図９は、実施形態に係る第４の環境地図を例示する図である。
【図１０】図１０は、実施形態に係る読取システムによる環境地図の作成動作例を示すフローチャートである。
【図１１】図１１は、実施形態に係る読取システムによる環境地図の比較動作及び判断動作の一例を示すフローチャートである。
【図１２】図１２は、実施形態に係る読取システムによる環境地図の比較動作及び判断動作の他の例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら実施形態について詳細に説明する。
【００１０】
図１は、読取システム１を例示する図である。  
読取システム１は、複数個の無線タグが存在する領域において、複数個の無線タグを読み取るシステムである。例えば、読取システム１は、複数の棚を備える店舗での物品の棚卸などに用いられる。
【００１１】
ここでは、読取システム１は、所定の領域Ａにおける無線タグの読取を実行するものとする。例えば、領域Ａは、壁Ｂによって四方を囲まれた店舗である。領域Ａには、レジ台Ｃ、棚Ｄ１及び棚Ｄ２が存在する。棚Ｄ１及び棚Ｄ２は、同じ形の棚であるものとする。棚Ｄ１及び棚Ｄ２には、読取システム１による読取対象となる無線タグの付された複数の物品が陳列されている。壁Ｂ、レジ台Ｃ、棚Ｄ１及び棚Ｄ２のそれぞれは、有形の物体の一例である。なお、領域Ａには、壁Ｂ、レジ台Ｃ、棚Ｄ１及び棚Ｄ２以外の物体が存在していてもよい。物体は、障害物ということもある。
【００１２】
読取システム１は、システムコントローラ１０及び自走ロボット１００を備える。システムコントローラ１０及び自走ロボット１００は、互いに電気的に接続する。
【００１３】
システムコントローラ１０は、読取システム１全体を制御する。システムコントローラ１０は、領域Ａにおける複数個の無線タグの読取動作に先立ち、領域Ａの環境地図を作成する。領域Ａは、読取システム１による複数個の無線タグの読取対象領域である。領域Ａは、読取システム１による環境地図の作成対象領域でもある。
【００１４】
環境地図は、自走ロボット１００が自律的に走行する領域に存在する物体の位置を示す情報を含む地図である。環境地図は、高さ方向の任意の高さにおける水平面の二次元の地図である。例えば、環境地図は、領域Ａに存在する壁Ｂ、レジ台Ｃ、棚Ｄ１及び棚Ｄ２のそれぞれの位置を示す情報を含む地図である。環境地図は、自走ロボット１００が領域Ａにおいて自律的に走行するために用いられる。
【００１５】
システムコントローラ１０は、環境地図を用いて、自走ロボット１００の走行及び複数個の無線タグの読取を制御する。システムコントローラ１０は、情報処理装置の一例である。システムコントローラ１０については、後述する。
【００１６】
自走ロボット１００は、システムコントローラ１０の制御に従って領域Ａを走行する。自走ロボット１００については、後述する。
【００１７】
図２は、読取システム１の構成例を示す概略図である。  
自走ロボット１００は、筐体１０１、車輪１０２、センサ１０３及びアンテナ１０４ａ〜１０４ｄを備える。
【００１８】
筐体１０１は、自走ロボット１００の外殻を形成する。筐体１０１は、車輪１０２、センサ１０３及びアンテナ１０４ａ〜１０４ｄが取り付けられる。
【００１９】
車輪１０２は、筐体１０１の下部に取り付けられる。車輪１０２は、後述するモータ２０２によって駆動し筐体１０１を移動させる。また、車輪１０２は、筐体１０１の方向を変更する。
【００２０】
センサ１０３は、センサ１０３の検知範囲に存在する物体を検知するセンサである。例えば、センサ１０３は、ＬＲＦである。ＬＲＦは、レーザを用いる距離計の一例である。センサ１０３は、レーザを用いてセンサ１０３の周辺環境を水平にスキャンし、領域Ａに存在する物体との距離を測定する。センサ１０３は、検知データをシステムコントローラ１０へ送信する。検知データは、環境地図の作成に用いられる。また、検知データは、自走ロボット１００による複数個の無線タグの読取動作中の自走ロボット１００の移動の妨げとなる物体の検知に用いられる。なお、センサ１０３は、ＬＲＦ以外のレーザを用いる距離計であってもよい。センサ１０３は、レーザ以外を用いるセンサであってもよい。
【００２１】
センサ１０３の高さ方向の位置は、ユーザの手作業によるセンサ１０３の取り付けまたはスライドによって適宜変更可能である。これに代えて、センサ１０３の高さ方向の位置は、プロセッサ１１によるセンサ１０３の図示しない可動機構の制御によって適宜変更可能であってもよい。
【００２２】
アンテナ１０４ａ〜１０４ｄは、筐体１０１の上部から下方にかけて順に形成される。また、アンテナ１０４ａ〜１０４ｄは、自走ロボット１００の進行方向と直交する方向を向くように筐体１０１に形成される。例えば、アンテナ１０４ａ〜１０４ｄは、自走ロボット１００の進行方向に対して左側に形成される。
【００２３】
アンテナ１０４ａについて説明する。  
アンテナ１０４ａは、棚に陳列されている物品に付された無線タグと無線でデータを送受信するデバイスである。アンテナ１０４ａは、無線タグへ電波を送信する。また、アンテナ１０４ａは、無線タグからの電波を受信する。例えば、アンテナ１０４ａは、指向性を有するものであってもよい。アンテナ１０４ａは、アンテナ１０４ａの特性（指向性など）及び設置向き等により電波を送受信するための検知範囲を設定される。
【００２４】
アンテナ１０４ｂ、アンテナ１０４ｃ及びアンテナ１０４ｄの構成は、アンテナ１０４ａと同様であるため説明を省略する。アンテナ１０４ａ〜１０４ｄの検知範囲の合算は、領域Ａに存在する最も高い棚の上端から下端までを包含するように設定される。アンテナ１０４ａ〜１０４ｄのうちの少なくとも１つを指すために、単にアンテナ１０４ということもある。
【００２５】
なお、自走ロボット１００が備えるアンテナ１０４の個数及び位置は、特定の構成に限定されない。例えば、自走ロボット１００は、領域Ａに存在する最も高い棚の上端から下端までを包含する検知範囲を設定された１つのアンテナ１０４を有していてもよい。
【００２６】
図３は、読取システム１の構成例を示すブロック図である。  
システムコントローラ１０は、プロセッサ１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ＮＶＭ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ）１４及び通信部１５などを備える。プロセッサ１１と、ＲＯＭ１２、ＲＡＭ１３、ＮＶＭ１４及び通信部１５とは、データバスなどを介して互いに接続される。
【００２７】
プロセッサ１１は、システムコントローラ１０全体の動作を制御する。例えば、プロセッサ１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。プロセッサ１１は、制御部の一例である。プロセッサ１１は、内部メモリ及び各種のインターフェースなどを備えてもよい。プロセッサ１１は、内部メモリ、ＲＯＭ１２またはＮＶＭ１４などに予め記憶したプログラムを実行することにより種々の処理を実現する。
【００２８】
なお、プロセッサ１１がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウェア回路により実現されるものであってもよい。この場合、プロセッサ１１は、ハードウェア回路により実行される機能を制御する。
【００２９】
ＲＯＭ１２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ１２は、製造段階で制御プログラム及び制御データなどを記憶した状態でシステムコントローラ１０に組み込まれる。即ち、ＲＯＭ１２に記憶される制御プログラム及び制御データは、予めシステムコントローラ１０の仕様に応じて組み込まれる。
【００３０】
ＲＡＭ１３は、揮発性のメモリである。ＲＡＭ１３は、プロセッサ１１の処理中のデータなどを一時的に格納する。ＲＡＭ１３は、プロセッサ１１からの命令に基づき種々のアプリケーションプログラムを格納する。また、ＲＡＭ１３は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【００３１】
ＮＶＭ１４は、データの書き込み及び書き換えが可能な不揮発性のメモリである。例えば、ＮＶＭ１４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＥＥＰＲＯＭ（登録商標）（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはフラッシュメモリなどから構成される。ＮＶＭ１４は、システムコントローラ１０の運用用途に応じて制御プログラム、アプリケーション及び種々のデータなどを格納する。ＮＶＭ１４は、記憶部の一例である。
【００３２】
通信部１５は、有線または無線でデータを送受信するためのインターフェースである。例えば、通信部１５は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）接続をサポートするインターフェースである。通信部１５は、有線または無線で自走ロボット１００とデータを送受信する。通信部１５は、有線または無線で表示装置３０へ送信する。例えば、表示装置３０は、液晶ディスプレイであるが、これに限定されない。表示装置３０は、読取システム１が備える要素であっても、読取システム１とは異なる要素であってもよい。
【００３３】
自走ロボット１００は、センサ１０３、アンテナ１０４ａ〜１０４ｄ、移動機構２００及びリーダ２１０などを備える。センサ１０３及びアンテナ１０４ａ〜１０４ｄについては、前述のとおりである。
【００３４】
移動機構２００は、自走ロボット１００を移動させる機構である。自走ロボット１００はアンテナ１０４ａ〜１０４ｄを備えるので、移動機構２００は、アンテナ１０４ａ〜１０４ｄを移動させる機構であるということもできる。移動機構２００は、車輪１０２、走行コントローラ２０１、モータ２０２及びロータリエンコーダ２０３などを備える。走行コントローラ２０１、モータ２０２及びロータリエンコーダ２０３は、互いに電気的に接続する。車輪１０２及びモータ２０２は、互いに物理的に接続する。車輪１０２は、前述のとおりである。
【００３５】
走行コントローラ２０１は、システムコントローラ１０の制御に従って自走ロボット１００を移動させる。走行コントローラ２０１は、モータ２０２などを制御して自走ロボット１００を移動させる。例えば、走行コントローラ２０１は、モータ２０２に電力またはパルスなどを供給する。
【００３６】
走行コントローラ２０１は、プロセッサなどから構成される。走行コントローラ２０１は、プロセッサがソフトウェアを実行することで実現されてもよい。また、走行コントローラ２０１は、プロセッサとしてのＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのハードウェアから構成されてもよい。
【００３７】
モータ２０２は、走行コントローラ２０１の制御に従って駆動する。モータ２０２は、ギアまたはベルトなどを介して車輪１０２に接続する。モータ２０２は、自身の駆動力によって車輪１０２を回転させる。
【００３８】
ロータリエンコーダ２０３は、モータ２０２の回転軸に接続する。ロータリエンコーダ２０３は、モータ２０２の回転角度を測定する。ロータリエンコーダ２０３は、回転角度を示すデータをシステムコントローラ１０へ送信する。以下では、回転角度を示すデータは、回転角度データともいう。なお、ロータリエンコーダ２０３は、モータ２０２に内蔵されるものであってもよい。
【００３９】
リーダ２１０は、アンテナ１０４ａ〜１０４ｄを通じて無線タグと無線でデータを送受信するためのインターフェースである。リーダ２１０は、無線タグとデータ通信することで無線タグのタグ情報を読み取る。例えば、リーダ２１０は、システムコントローラ１０の制御に基づいて所定のリードコマンドを無線タグに送信する。リーダ２１０は、リードコマンドに対するレスポンスとしてタグ情報を受信する。リーダ２１０は、受信したタグ情報をシステムコントローラ１０へ送信する。
【００４０】
なお、自走ロボット１００は、システムコントローラ１０を搭載してもよい。また、自走ロボット１００は、システムコントローラ１０のプロセッサ１１が実現する機能（または機能の一部）を実現するものであってもよい。
【００４１】
なお、読取システム１は、前述の要素以外に必要に応じた要素を備えていても、読取システム１から特定の要素が除外されていてもよい。
【００４２】
次に、プロセッサ１１が実現する機能について説明する。  
プロセッサ１１は、ＲＯＭ１２またはＮＶＭ１４などに格納されるソフトウェアを実行することで以下に例示する機能を実現する。
【００４３】
プロセッサ１１は、以下に例示するように、環境地図を作成する機能を備える。  
まず、プロセッサ１１は、領域Ａで自走ロボット１００を巡回させるように制御する。プロセッサ１１は、自走ロボット１００の巡回に応じて、センサ１０３から検知データを受信し、ロータリエンコーダ２０３から回転角度データを受信する。次に、プロセッサ１１は、検知データ及び回転角度データなどに基づいて、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ）を行う。プロセッサ１１は、ＳＬＡＭにより、環境地図を作成する。プロセッサ１１は、環境地図を示すデータをＮＶＭ１４に格納する。
【００４４】
プロセッサ１１は、以下に例示するように、環境地図を用いて自走ロボット１００を移動させる機能を備える。  
まず、プロセッサ１１は、ユーザによる作業を開始する入力を受け付ける。次に、プロセッサ１１は、ユーザによる入力に対応する作業開始位置をＮＶＭ１４から取得する。次に、プロセッサ１１は、ＮＶＭ１４から環境地図を示すデータを取得する。プロセッサ１１は、環境地図を用いて、領域Ａに存在する物体に衝突しないように、自走ロボット１００の現在位置から作業開始位置までの経路を特定する。次に、プロセッサ１１は、環境地図を用いて、領域Ａに存在する物体に衝突しないように、作業開始位置から目的位置までの経路を特定する。次に、プロセッサ１１は、移動機構２００を制御して、現在位置から作業開始位置までの経路に沿って、自走ロボット１００を移動させる。次に、プロセッサ１１は、移動機構２００を制御して、作業開始位置から目的位置までの経路に沿って、自走ロボット１００を移動させる。なお、プロセッサ１１は、センサ１０３が検知した物体を避けるために経路を適宜修正してもよい。
【００４５】
プロセッサ１１は、以下に例示するように、アンテナ１０４及びリーダ２１０を用いて無線タグを読み取る機能を有する。  
まず、プロセッサ１１は、検知データ及び回転角度データなどに基づいて、自走ロボット１００が作業開始位置に到達したと判断する。次に、プロセッサ１１は、自走ロボット１００が作業開始位置に到達した後に、アンテナ１０４及びリーダ２１０を用いた無線タグへのリクエストの送信を開始する。プロセッサ１１は、自走ロボット１００が作業開始位置から目的位置まで移動する間、アンテナ１０４及びリーダ２１０を用いて無線タグへリクエストを送信する。次に、プロセッサ１１は、アンテナ１０４及びリーダ２１０を用いて無線タグからタグ情報を取得する。
【００４６】
次に、センサ１０３の高さ方向の位置の決定例について説明する。  
プロセッサ１１は、自走ロボット１００による複数個の無線タグの読取動作に先立ち、センサ１０３の高さ方向の位置を決定する。ここでは、プロセッサ１１は、領域Ａの水平な床面からの複数の高さでのセンサ１０３による検知に関連する検知データに基づく環境地図を比較する。複数の高さは、第１の高さ及び第１の高さとは異なる第２の高さの２つの高さであるものとして説明するが、３つ以上の高さであってもよい。
【００４７】
まず、センサ１０３が領域Ａの床面から第１の高さにある例について説明する。  
図４は、自走ロボット１００による第１の高さでの検知例を示す図である。  
図４は、センサ１０３による棚Ｄ１のうち棚板Ｄ１２、棚板Ｄ１３及び棚板Ｄ１４の位置する部分の検知例を示す。
【００４８】
棚Ｄ１は、第１の高さにおいて棚板を備えていない。そのため、センサ１０３は、棚Ｄ１のうち棚板Ｄ１２、棚板Ｄ１３及び棚板Ｄ１４の位置する部分において、背板Ｄ１１を検知する。
【００４９】
プロセッサ１１は、センサ１０３による第１の高さでの検知に関連して、以下に例示するように、第１の取得部、第１の作成部及び第１の変換部を実装する。  
プロセッサ１１は、センサ１０３から第１の高さでの検知に関連する第１の検知データを取得する第１の取得部を実装する。第１の検知データは、第１の高さに位置するセンサ１０３によって検知される検知データである。第１の検知データは、領域Ａに存在する全ての物体の検知に関連する検知データである。例えば、プロセッサ１１は、領域Ａにおける自走ロボット１００の巡回に応じて、センサ１０３から第１の検知データを取得する。
【００５０】
プロセッサ１１は、第１の検知データに基づく第１の環境地図Ｍ１を作成する第１の作成部を実装する。  
例えば、プロセッサ１１は、第１の検知データに基づいてＳＬＡＭによって第１の環境地図Ｍ１を作成する。プロセッサ１１は、第１の検知データに加えて、回転角度データなどを用いて第１の環境地図Ｍ１を作成してもよい。
【００５１】
図５は、第１の環境地図Ｍ１を例示する図である。  
第１の環境地図Ｍ１は、二値画像で構成されている。
【００５２】
第１の環境地図Ｍ１を構成する黒画素は、領域Ａにおいてセンサ１０３によって検知される部分を示す。そのため、第１の環境地図Ｍ１を構成する黒画素は、主として、領域Ａにおける物体を示す。第１の環境地図Ｍ１を構成する白画素は、領域Ａにおいてセンサ１０３によって検知されない部分を示す。そのため、第１の環境地図Ｍ１を構成する白画素は、主として、領域Ａにおける物体以外の空間を示す。第１の環境地図Ｍ１を構成する白画素は、領域Ａにおける物体のうちセンサ１０３によって検知されない部分を示すこともある。物体のうちセンサ１０３によって検知されない部分は、物体のうちセンサ１０３によって捉えられない部分ということもできる。なお、黒画素及び白画素が示す対象は、逆であってもよい。
【００５３】
第１の環境地図Ｍ１に描画されている棚Ｄ１に対応する部分の外周（外縁）は、部分的に欠落している。棚Ｄ１は、棚Ｄ１の外周を規定することが可能な程度にはっきりと第１の環境地図Ｍ１に描画されていない。壁Ｂ、レジ台Ｃ及び棚Ｄ２についても同様である。
【００５４】
第１の環境地図Ｍ１では、棚Ｄ１の背板Ｄ１１は描画されているが、棚Ｄ１の棚板は描画されていない。そのため、第１の環境地図Ｍ１に描画されている棚Ｄ１に対応する部分の形は、実際の棚Ｄ１の外形とは異なる。ここでは、棚Ｄ１外形は、棚Ｄ１を水平面に投影して得られる二次元の形または棚Ｄ１の水平面における形のうち最も大きい二次元の形を指すものとする。センサ１０３が棚板を検知していないため、第１の環境地図Ｍ１に描画されている棚Ｄ１に対応する形は、棚Ｄ１の外形よりも小さい。
【００５５】
プロセッサ１１は、所定の画像処理により第１の環境地図Ｍ１を第２の環境地図Ｍ２へ変換する第１の変換部を実装する。  
ここでは、所定の画像処理は、膨張収縮処理であるものとして説明する。例えば、膨張収縮処理は、モルフォロジー（Ｍｏｒｐｈｏｌｏｇｙ）に関連するものである。例えば、プロセッサ１１は、各黒画素について周囲の八つの画素を黒画素に置き換え、その後、各白画素について対する周囲の八つの画素を白画素に置き換える。これにより、黒画素の数は、前者の処理により膨張し、後者の処理により収縮する。なお、膨張収縮処理は、ここに例示する手法に限定されず、種々の手法を適用可能である。なお、所定の画像処理は、膨張収縮処理に限定されない。
【００５６】
例えば、プロセッサ１１は、第１の環境地図Ｍ１に膨張収縮処理を施すことにより、第１の環境地図Ｍ１を第２の環境地図Ｍ２へ変換する。プロセッサ１１は、第２の環境地図Ｍ２を示すデータをＮＶＭ１４に格納する。
【００５７】
図６は、第２の環境地図Ｍ２を例示する図である。  
第２の環境地図Ｍ２は、二値画像で構成されている。
【００５８】
図６に示す第２の環境地図Ｍ２では、第１の環境地図Ｍ１に対する膨張収縮処理により、棚Ｄ１の外周のうち欠落した画素は、黒画素で補完される。棚Ｄ１は、棚Ｄ１の外周を規定することが可能な程度にはっきりと第２の環境地図Ｍ２に黒画素で描画されている。壁Ｂ、レジ台Ｃ及び棚Ｄ２についても同様である。
【００５９】
次に、センサ１０３が領域Ａの床面から第２の高さにある例について説明する。  
図７は、自走ロボット１００による第２の高さでの検知例を示す図である。  
図７は、センサ１０３による棚Ｄ１のうち棚板Ｄ１２、棚板Ｄ１３及び棚板Ｄ１４の位置する部分の検知例を示す。
【００６０】
棚Ｄ１は、第２の高さにおいて棚板Ｄ１４を備える。そのため、センサ１０３は、棚Ｄ１のうち棚板Ｄ１２、棚板Ｄ１３及び棚板Ｄ１４の位置する部分において、棚板Ｄ１４を検知する。
【００６１】
プロセッサ１１は、センサ１０３による第２の高さでの検知に関連して、以下に例示するように、第２の取得部、第２の作成部及び第２の変換部を実装する。  
プロセッサ１１は、センサ１０３から第２の高さでの検知に関連する第２の検知データを取得する第２の取得部を実装する。第２の検知データは、第２の高さに位置するセンサ１０３によって検知される検知データである。第２の検知データは、領域Ａに存在する全ての物体の検知に関連する検知データである。例えば、プロセッサ１１は、領域Ａにおける自走ロボット１００の巡回に応じて、センサ１０３から第２の検知データを取得する。
【００６２】
プロセッサ１１は、第２の検知データに基づく第３の環境地図Ｍ３を作成する第２の作成部を実装する。  
例えば、プロセッサ１１は、第２の検知データに基づいてＳＬＡＭによって第３の環境地図Ｍ３を作成する。プロセッサ１１は、第２の検知データに加えて、回転角度データなどを用いて第３の環境地図Ｍ３を作成してもよい。
【００６３】
図８は、第３の環境地図Ｍ３を例示する図である。  
第３の環境地図Ｍ３は、二値画像で構成されている。
【００６４】
第３の環境地図Ｍ３を構成する黒画素は、領域Ａにおいてセンサ１０３によって検知される部分を示す。そのため、第３の環境地図Ｍ３を構成する黒画素は、主として、領域Ａにおける物体を示す。第３の環境地図Ｍ３を構成する白画素は、領域Ａにおいてセンサ１０３によって検知されない部分を示す。そのため、第３の環境地図Ｍ３を構成する白画素は、主として、領域Ａにおける物体以外の空間を示す。第３の環境地図Ｍ３を構成する白画素は、領域Ａにおける物体のうちセンサ１０３によって検知されない部分を示すこともある。物体のうちセンサ１０３によって検知されない部分は、物体のうちセンサ１０３によって捉えられない部分ということもできる。なお、黒画素及び白画素が示す対象は、逆であってもよい。
【００６５】
第３の環境地図Ｍ３に描画されている棚Ｄ１に対応する部分の外周は、部分的に欠落している。棚Ｄ１は、棚Ｄ１の外周を規定することが可能な程度にはっきりと第３の環境地図Ｍ３に描画されていない。壁Ｂ、レジ台Ｃ及び棚Ｄ２についても同様である。
【００６６】
第３の環境地図Ｍ３では、棚Ｄ１の棚板Ｄ１４は描画されている。そのため、第１の環境地図Ｍ１に描画されている棚Ｄ１に対応する部分の形は、実際の棚Ｄ１の外形と同じまたは略同じである。
【００６７】
プロセッサ１１は、所定の画像処理により第３の環境地図Ｍ３を第４の環境地図Ｍ４へ変換する第２の変換部を実装する。  
ここでは、所定の画像処理は、膨張収縮処理であるものとして説明する。
【００６８】
例えば、プロセッサ１１は、第３の環境地図Ｍ３に膨張収縮処理を施すことにより、第３の環境地図Ｍ３を第４の環境地図Ｍ４へ変換する。プロセッサ１１は、第４の環境地図Ｍ４を示すデータをＮＶＭ１４に格納する。
【００６９】
図９は、第４の環境地図Ｍ４を例示する図である。  
図９に示す第４の環境地図Ｍ４では、第３の環境地図Ｍ３に対する膨張収縮処理により、棚Ｄ１の外周のうち欠落した画素は、黒画素で補完される。棚Ｄ１は、棚Ｄ１の外周を規定することが可能な程度にはっきりと第４の環境地図Ｍ４に黒画素で描画されている。壁Ｂ、レジ台Ｃ及び棚Ｄ２についても同様である。
【００７０】
プロセッサ１１は、センサ１０３の高さ方向の位置を決定するために、以下に例示するように、比較部及び判断部を実装する。
【００７１】
プロセッサ１１は、第２の環境地図Ｍ２と第４の環境地図Ｍ４とを比較する比較部を実装する。  
一例では、プロセッサ１１は、環境地図に描画されている棚Ｄ１に対応する部分の画素数に基づいて第２の環境地図Ｍ２と第４の環境地図Ｍ４とを比較する。この例では、プロセッサ１１は、第２の環境地図Ｍ２に描画されている棚Ｄ１に対応する部分の画素数Ｏ１を算出する。画素数Ｏ１は、棚Ｄ１に対応する部分の黒画素の数である。プロセッサ１１は、第４の環境地図Ｍ４に描画されている棚Ｄ１に対応する部分の画素数Ｏ２を算出する。画素数Ｏ２は、棚Ｄ１に対応する部分の黒画素の数である。
【００７２】
プロセッサ１１は、画素数Ｏ１と画素数Ｏ２とを比較する。棚Ｄ１に対応する部分の画素数が多くなるにつれ、環境地図に描画されている棚Ｄ１に対応する部分の形は大きくなる。つまり、棚Ｄ１に対応する部分の画素数が多くなるほど、環境地図に描画されている棚Ｄ１の形は、実際の棚Ｄ１の外形に近づく。
【００７３】
別の例では、プロセッサ１１は、環境地図に描画されている棚Ｄ１に対応する部分の外周の長さに基づいて第２の環境地図Ｍ２と第４の環境地図Ｍ４とを比較する。この例では、プロセッサ１１は、第２の環境地図Ｍ２に描画されている棚Ｄ１に対応する部分の外周の長さＬ１を算出する。プロセッサ１１は、第４の環境地図Ｍ４に描画されている棚Ｄ１に対応する部分の外周の長さＬ２を算出する。長さＬ１及び長さＬ２は、棚Ｄ１に対応する部分の大きさに関連するので、棚Ｄ１の外周を規定する黒画素の数にも関連する。
【００７４】
プロセッサ１１は、長さＬ１と長さＬ２とを比較する。棚Ｄ１に対応する部分の外周の長さが長くなるにつれ、環境地図に描画されている棚Ｄ１に対応する部分の形は大きくなる。つまり、棚Ｄ１に対応する部分の外周の長さが長くなるほど、環境地図に描画されている棚Ｄ１の形は、実際の棚Ｄ１の外形に近づく。
【００７５】
なお、外周の長さに基づく比較例では、所定の画像処理は、膨張収縮処理とは異なる画像処理であってもよい。所定の画像処理は、環境地図に描画されている物体の外周をはっきりさせるように画素を補完する処理であればよい。
【００７６】
プロセッサ１１は、第２の環境地図Ｍ２と第４の環境地図Ｍ４との比較結果に応じて、第２の環境地図Ｍ２と第４の環境地図Ｍ４の何れが棚Ｄ１の外形を捉えているのかを判断する判断部を実装する。ここで、棚Ｄ１の外形を捉えているとは、環境地図に描画されている棚Ｄ１の形が実際の棚Ｄ１の外形と同じまたは略同じであることを意味する。棚Ｄ１の外形を捉えている環境地図は、自走ロボット１００の走行に適した環境地図であるといえる。
【００７７】
まず、環境地図に描画されている棚Ｄ１に対応する部分の画素数に基づく第２の環境地図Ｍ２と第４の環境地図Ｍ４との比較結果を例にして説明する。プロセッサ１１は、画素数Ｏ１が画素数Ｏ２よりも多いことを示す比較結果に応じて、第２の環境地図Ｍ２が棚Ｄ１の外形を捉えていると判断する。つまり、プロセッサ１１は、第４の環境地図Ｍ４よりも第２の環境地図Ｍ２を採用した方が自走ロボット１００の走行に適していると判断する。他方、プロセッサ１１は、画素数Ｏ３が画素数Ｏ１よりも多いことを示す比較結果に応じて、第４の環境地図Ｍ４が棚Ｄ１の外形を捉えていると判断する。つまり、プロセッサ１１は、第２の環境地図Ｍ２よりも第４の環境地図Ｍ４を採用した方が自走ロボット１００の走行に適していると判断する。
【００７８】
次に、環境地図に描画されている棚Ｄ１に対応する部分の外周の長さに基づく第２の環境地図Ｍ２と第４の環境地図Ｍ４との比較結果を例にして説明する。プロセッサ１１は、長さＬ１が長さＬ２よりも長いことを示す比較結果に応じて、第２の環境地図Ｍ２が棚Ｄ１の外形を捉えていると判断する。つまり、プロセッサ１１は、第４の環境地図Ｍ４よりも第２の環境地図Ｍ２を採用した方が自走ロボット１００の走行に適していると判断する。他方、プロセッサ１１は、長さＬ３が長さＬ１よりも長いことを示す比較結果に応じて、第４の環境地図Ｍ４が棚Ｄ１の外形を捉えていると判断する。つまり、プロセッサ１１は、第２の環境地図Ｍ２よりも第４の環境地図Ｍ４を採用した方が自走ロボット１００の走行に適していると判断する。
【００７９】
なお、プロセッサ１１は、棚Ｄ１に基づいて自走ロボット１００の走行に適している環境地図を判断しているが、領域Ａに存在する棚Ｄ１以外の棚に基づいて判断してもよい。
【００８０】
プロセッサ１１は、第２の環境地図Ｍ２及び第４の環境地図Ｍ４のうち外形を捉えていると判断した環境地図を領域Ａにおける自走ロボット１００の走行に採用する。そのため、プロセッサ１１は、第２の環境地図Ｍ２及び第４の環境地図Ｍ４のうち外形を捉えていると判断した環境地図を示すデータをＮＶＭ１４に保存した状態を維持する。他方、プロセッサ１１は、第２の環境地図Ｍ２及び第４の環境地図Ｍ４のうち外形を捉えていないと判断した環境地図を領域Ａにおける自走ロボット１００の走行に採用しない。そのため、プロセッサ１１は、第２の環境地図Ｍ２及び第４の環境地図Ｍ４のうち外形を捉えていないと判断した環境地図を示すデータをＮＶＭ１４から消去する。
【００８１】
これにより、プロセッサ１１は、第２の環境地図Ｍ２及び第４の環境地図Ｍ４のうち外形を捉えていると判断した環境地図を用いて自走ロボット１００を移動させる。
【００８２】
なお、プロセッサ１１は、外形を捉えていると判断した環境地図に関連するセンサ１０３の高さを示す情報をユーザへ報知してもよい。一例では、プロセッサ１１は、センサ１０３の高さ方向の位置を示す情報を表示装置３０に表示させることにより、ユーザへ報知する。他の例では、プロセッサ１１は、センサ１０３の高さ方向の位置を示す情報を図示しないスピーカから音声で出力させることにより、ユーザへ報知する。ユーザは、適切な位置にセンサ１０３を移動させることができる。
【００８３】
なお、プロセッサ１１は、可動機構の制御によって、外形を捉えていると判断した環境地図に関連するセンサ１０３の高さ方向の位置にセンサ１０３を移動させてもよい。
【００８４】
これにより、センサ１０３の高さ方向の位置は、自走ロボット１００の移動に用いられる環境地図の作成の基となる検知データに関連する高さに対応する。
【００８５】
次に、プロセッサ１１の動作例について説明する。  
まず、図１０は、プロセッサ１１による環境地図の作成動作例を示すフローチャートである。
【００８６】
プロセッサ１１は、センサ１０３から第１の高さでの検知に関連する第１の検知データを取得する（Ａｃｔ１０１）。プロセッサ１１は、第１の検知データに基づく第１の環境地図Ｍ１を作成する（Ａｃｔ１０２）。プロセッサ１１は、所定の画像処理により第１の環境地図Ｍ１を第２の環境地図Ｍ２へ変換する（Ａｃｔ１０３）。
【００８７】
プロセッサ１１は、センサ１０３から第２の高さでの検知に関連する第２の検知データを取得する（Ａｃｔ１０４）。プロセッサ１１は、第２の検知データに基づく第３の環境地図Ｍ３を作成する（Ａｃｔ１０５）。プロセッサ１１は、所定の画像処理により第３の環境地図Ｍ３を第４の環境地図Ｍ４へ変換する（Ａｃｔ１０６）。
【００８８】
プロセッサ１１は、第２の環境地図Ｍ２と第４の環境地図Ｍ４とを比較する（Ａｃｔ１０７）。プロセッサ１１は、第２の環境地図Ｍ２と第４の環境地図Ｍ４との比較結果に応じて、第２の環境地図Ｍ２と第４の環境地図Ｍ４の何れが棚Ｄ２の外形を捉えているのかを判断する（Ａｃｔ１０８）。
【００８９】
実施形態によれば、読取システム１は、複数の環境地図から物体の外形を捉えている環境地図を判断することで、物体の外形を捉えている環境地図を採用することができる。また、読取システム１は、センサ１０３が適切な位置に設けられた状態で、自走ロボット１００を移動させることができる。これらにより、読取システム１は、センサ１０３が物体を検知することができずに自走ロボット１００が物体へ衝突することを低減することができる。
【００９０】
実施形態によれば、読取システム１は、膨張収縮処理を用いることで、物体の外形を捉えている環境地図の判断に適した形式に画像処理することができる。読取システム１は、物体の外形を捉えている環境地図の判断精度を向上させることができる。
【００９１】
次に、前述の図１０に示すＡｃｔ１０７における比較動作及びＡｃｔ１０８における判断動作の典型例について説明する。  
図１１は、プロセッサ１１による環境地図の比較動作及び判断動作の一例を示すフローチャートである。
【００９２】
プロセッサ１１は、第２の環境地図Ｍ２に描画されている棚Ｄ１に対応する部分の画素数Ｏ１を算出する（Ａｃｔ２０１）。プロセッサ１１は、第４の環境地図Ｍ４に描画されている棚Ｄ１に対応する部分の画素数Ｏ２を算出する（Ａｃｔ２０２）。プロセッサ１１は、画素数Ｏ１と画素数Ｏ２とを比較する（Ａｃｔ２０３）。画素数Ｏ１が画素数Ｏ２よりも多い場合（Ａｃｔ２０３、Ｙｅｓ）、プロセッサ１１は、第２の環境地図Ｍ２が棚Ｄ１の外形を捉えていると判断する（Ａｃｔ２０４）。画素数Ｏ２が画素数Ｏ１よりも多い場合（Ａｃｔ２０３、Ｎｏ）、プロセッサ１１は、第４の環境地図Ｍ４が棚Ｄ１の外形を捉えていると判断する（Ａｃｔ２０５）。
【００９３】
実施形態によれば、読取システム１は、物体に対応する部分の画素数に基づいて複数の環境地図を比較する。これにより、読取システム１は、物体の外形を捉えている環境地図の判断精度を向上させることができる。
【００９４】
図１２は、プロセッサ１１による環境地図の比較動作及び判断動作の他の例を示すフローチャートである。
【００９５】
プロセッサ１１は、第２の環境地図Ｍ２に描画されている棚Ｄ１に対応する部分の外周の長さＬ１を算出する（Ａｃｔ３０１）。プロセッサ１１は、第４の環境地図Ｍ４に描画されている棚Ｄ１に対応する部分の外周の長さＬ２を算出する（Ａｃｔ３０２）。プロセッサ１１は、長さＬ１と長さＬ２とを比較する（Ａｃｔ３０３）。長さＬ１が長さＬ２よりも長い場合（Ａｃｔ３０３、Ｙｅｓ）、プロセッサ１１は、第２の環境地図Ｍ２が棚Ｄ１の外形を捉えていると判断する（Ａｃｔ３０４）。長さＬ２が長さＬ１よりも長い場合（Ａｃｔ３０３、Ｎｏ）、プロセッサ１１は、第４の環境地図Ｍ４が棚Ｄ１の外形を捉えていると判断する（Ａｃｔ３０５）。
【００９６】
実施形態によれば、読取システム１は、物体に対応する部分の外周の長さに基づいて複数の環境地図を比較する。これにより、読取システム１は、物体の外形を捉えている環境地図の判断精度を向上させることができる。
【００９７】
なお、上述のセンサ１０３の高さ方向の位置の決定は、システムコントローラ１０のプロセッサ１１によって実行される例を説明したが、これに限定されない。上述のセンサ１０３の高さ方向の位置の決定は、読取システム１と接続されるサーバによって実行されてもよい。この場合、サーバは、情報処理装置の一例となる。
【００９８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９９】
１…読取システム、１０…システムコントローラ、１１…プロセッサ、１２…ＲＯＭ、１３…ＲＡＭ、１４…ＮＶＭ、１５…通信部、１００…自走ロボット、１０２…車輪、１０３…センサ、１０４…アンテナ、１０４ａ…アンテナ、１０４ｂ…アンテナ、１０４ｃ…アンテナ、１０４ｄ…アンテナ、２００…移動機構、２０１…走行コントローラ、２０２…モータ、２０３…ロータリエンコーダ、２１０…リーダ、Ａ…領域、Ｂ…壁、Ｃ…レジ台、Ｄ１…棚、Ｄ２…棚、Ｄ１１…背板、Ｄ１２…棚板、Ｄ１３…棚板、Ｄ１４…棚板、Ｍ１…第１の環境地図、Ｍ２…第２の環境地図、Ｍ３…第３の環境地図、Ｍ４…第４の環境地図。
【図１】
2020154764.tif 000003
【図２】
2020154764.tif 000004
【図３】
2020154764.tif 000005
【図４】
2020154764.tif 000006
【図５】
2020154764.tif 000007
【図６】
2020154764.tif 000008
【図７】
2020154764.tif 000009
【図８】
2020154764.tif 000010
【図９】
2020154764.tif 000011
【図１０】
2020154764.tif 000012
【図１１】
2020154764.tif 000013
【図１２】
2020154764.tif 000014