(58)【調査した分野】(Int.Cl.,DB名)
自走式装置の走行領域における位置に関する位置情報と、当該位置において撮影された画像から算出された第1の特徴量とが対応付けられた地図情報を記憶部に記憶させるステップと、
表示部を有する撮像装置により、前記走行領域における第1の位置に存在する対象物を撮影した対象物画像を取得するステップと、
前記対象物画像から第2の特徴量を算出するステップと、
前記記憶部から前記第2の特徴量に一致する前記第1の特徴量を含む前記地図情報を抽出するステップと、
抽出した前記地図情報に基づいて、前記第1の位置に対応する第2の位置を特定するステップと、
特定した前記第2の位置に前記自走式装置を移動させるための指示を通知するステップと、
前記撮像装置の前記表示部に、特定した前記第2の位置が表示された地図画面を表示させるステップと、
ユーザにより前記撮像装置に対して入力された、前記地図画面における前記第2の位置の修正位置を示す修正情報を受信するステップと、
前記修正情報に基づいて、特定した前記第2の位置を調整するステップと、を含む
位置指示方法。
前記算出するステップでは、ORB(Oriented FAST and Rotated BRIEF(Binary Robust Independent Elementary Features))、SIFT(Scale−Invariant Feature Transform)及びSURF(Speeded Up Robust Features)のうちいずれかのアルゴリズムを用いて前記第2の特徴量を算出する
請求項1〜9のいずれか1項に記載の位置指示方法。
自走式装置の走行領域における位置に関する位置情報と、当該位置において撮影された画像から算出された第1の特徴量とが対応付けられた地図情報を記憶部に記憶させるステップと、
表示部を有する撮像装置により、前記走行領域における第1の位置に存在する対象物を撮影した対象物画像を取得するステップと、
前記対象物画像から第2の特徴量を算出するステップと、
前記記憶部から前記第2の特徴量に一致する前記第1の特徴量を含む前記地図情報を抽出するステップと、
抽出した前記地図情報に基づいて、前記第1の位置に対応する第2の位置を特定するステップと、
特定した前記第2の位置に前記自走式装置を移動させるための指示を通知するステップ
と、
前記撮像装置の前記表示部に、特定した前記第2の位置が表示された地図画面を表示させるステップと、
ユーザにより前記撮像装置に対して入力された、前記地図画面における前記第2の位置の修正位置を示す修正情報を受信するステップと、
前記修正情報に基づいて、特定した前記第2の位置を調整するステップと、をコンピュータに実行させる
プログラム。
【発明を実施するための形態】
【0010】
本発明の一態様に係る位置指示方法は、自走式装置の走行領域における位置に関する位置情報と、当該位置において撮影された画像から算出された第1の特徴量とが対応付けられた地図情報を記憶部に記憶させるステップと、前記走行領域における第1の位置に存在する対象物を撮影した対象物画像を取得するステップと、前記対象物画像から第2の特徴量を算出するステップと、前記記憶部から前記第2の特徴量に一致する前記第1の特徴量を含む前記地図情報を抽出するステップと、抽出した前記地図情報に基づいて、前記第1の位置に対応する第2の位置を特定するステップと、特定した前記第2の位置に前記自走式装置を移動させるための指示を通知するステップと、を含む。
【0011】
本態様によれば、例えばユーザは、自走式装置を第1の位置に移動させたい場合には、第1の位置に存在する対象物の対象物画像を撮影する。この対象物画像から算出した第2の特徴量に一致する第1の特徴量を含む地図情報を抽出することにより、第1の位置に対応する第2の位置を特定することができる。したがって、任意の位置に存在する対象物の対象物画像を撮影するという簡単な操作により、自走式装置に対して当該任意の位置(又はその近傍の位置)への移動を容易に指示することができる。
【0012】
例えば、前記記憶させるステップでは、前記地図情報を前記記憶部に複数記憶させ、前記抽出するステップでは、前記記憶部から前記複数の地図情報を抽出し、前記特定するステップでは、抽出した前記複数の地図情報にそれぞれ含まれる複数の前記位置情報に基づいて、三角測量の原理により前記第2の位置を特定するように構成してもよい。
【0013】
本態様によれば、三角測量の原理により第2の位置を容易に特定することができる。
【0014】
例えば、前記複数の地図情報の各々には、前記位置情報に対応付けられた前記第1の特徴量が複数含まれており、前記算出するステップでは、前記対象物画像から前記第2の特徴量を複数算出し、前記抽出するステップでは、前記複数の地図情報の中から、前記複数の第1の特徴量と前記複数の第2の特徴量との一致度が所定の閾値を超える前記地図情報を抽出するように構成してもよい。
【0015】
本態様によれば、第2の位置をより正確に特定することができる。
【0016】
例えば、前記位置情報は、所定の座標系における前記位置を示す座標であり、前記特定するステップでは、前記第2の位置として、前記所定の座標系における前記第2の位置を示す座標を特定するように構成してもよい。
【0017】
本態様によれば、第2の位置を所定の座標系における座標で特定することができる。
【0018】
例えば、前記走行領域は部屋の床面であり、前記対象物は前記部屋の天井であり、前記自走式装置は、前記部屋の床面を走行しながら前記部屋の天井を前記画像として撮影し、撮影した前記画像に基づいて前記地図情報を生成するように構成してもよい。
【0019】
本態様によれば、自走式装置により地図情報を生成することができる。
【0020】
例えば、前記自走式装置は、SLAM(Simultaneous Localization And Mapping)を用いて前記地図情報を作成するように構成してもよい。
【0021】
本態様によれば、SLAMを用いて地図情報を容易に生成することができる。
【0022】
例えば、前記対象物画像は、前記自走式装置とネットワークを介して接続された撮像装置により撮影されるように構成してもよい。
【0023】
本態様によれば、撮像装置を用いて、任意の位置で対象物画像を撮影することができる。
【0024】
例えば、前記撮像装置は表示部を有し、前記位置指示方法は、さらに、前記撮像装置の前記表示部に、特定した前記第2の位置に関する情報を表示させるステップを含むように構成してもよい。
【0025】
本態様によれば、例えばユーザは、撮像装置の表示部に表示された情報を見ることにより、第2の位置が特定されたことを認識することができる。
【0026】
例えば、前記自走式装置は、自律して前記部屋の床面を走行しながら掃除する自走式掃除機であるように構成してもよい。
【0027】
本態様によれば、例えばユーザが自走式掃除機に任意の掃除位置を掃除させたい場合には、当該掃除位置に存在する部屋の天井を対象物画像として撮影するという簡単な操作により、自走式掃除機に対して当該掃除位置(又はその近傍の位置)への移動を容易に指示することができる。
【0028】
例えば、前記撮像装置は、さらに、第1の方向を撮影する第1の撮像部と、前記第1の方向と反対方向である第2の方向を撮影する第2の撮像部と、を有し、前記位置指示方法は、さらに、前記第2の撮像部を通して映った前記部屋の床面を前記表示部に表示させた状態で、前記第1の撮像部で前記部屋の天井を前記対象物画像として撮影するステップを含むように構成してもよい。
【0029】
本態様によれば、第1の撮像部で部屋の天井を対象物画像として撮影する際に、第2の撮像部を通して映った部屋の床面を表示部に表示させるので、ユーザは、自走式装置に掃除させたい掃除位置を直感的に捉えることができる。
【0030】
例えば、前記算出するステップでは、ORB(Oriented FAST and Rotated BRIEF(Binary Robust Independent Elementary Features))、SIFT(Scale−Invariant Feature Transform)及びSURF(Speeded Up Robust Features)のうちいずれかのアルゴリズムを用いて前記第2の特徴量を算出するように構成してもよい。
【0031】
本態様によれば、ORB、SIFT及びSURFのうちいずれかのアルゴリズムを用いて第2の特徴量を容易に算出することができる。
【0032】
本発明の一態様に係る位置指示装置は、自走式装置の走行領域における位置に関する位置情報と、当該位置において撮影された画像から算出された第1の特徴量とが対応付けられた地図情報を記憶する記憶部と、前記走行領域における第1の位置に存在する対象物を撮影した対象物画像を取得する取得部と、前記対象物画像から第2の特徴量を算出する算出部と、前記記憶部から前記第2の特徴量に一致する前記第1の特徴量を含む前記地図情報を抽出する抽出部と、抽出した前記地図情報に基づいて、前記第1の位置に対応する第2の位置を特定する特定部と、特定した前記第2の位置に前記自走式装置を移動させるための指示を前記自走式装置に通知する通知部と、を備える。
【0033】
本態様によれば、例えばユーザは、自走式装置を第1の位置に移動させたい場合には、第1の位置に存在する対象物の対象物画像を撮影する。この対象物画像から算出した第2の特徴量に一致する第1の特徴量を含む地図情報を抽出することにより、第1の位置に対応する第2の位置を特定することができる。したがって、任意の位置に存在する対象物の対象物画像を撮影するという簡単な操作により、自走式装置に対して当該任意の位置(又はその近傍の位置)への移動を容易に指示することができる。
【0034】
本発明の一態様に係る自走式装置は、上述したいずれかの位置指示装置による指示に基づいて動作する。
【0035】
本態様によれば、自走式装置は、位置指示装置により指示された第2の位置に容易に移動することができる。
【0036】
本発明の一態様に係るプログラムは、自走式装置の走行領域における位置に関する位置情報と、当該位置において撮影された画像から算出された第1の特徴量とが対応付けられた地図情報を記憶部に記憶させるステップと、前記走行領域における第1の位置に存在する対象物を撮影した対象物画像を取得するステップと、前記対象物画像から第2の特徴量を算出するステップと、前記記憶部から前記第2の特徴量に一致する前記第1の特徴量を含む前記地図情報を抽出するステップと、抽出した前記地図情報に基づいて、前記第1の位置に対応する第2の位置を特定するステップと、特定した前記第2の位置に前記自走式装置を移動させるための指示を通知するステップと、をコンピュータに実行させる。
【0037】
本態様によれば、例えばユーザは、自走式装置を第1の位置に移動させたい場合には、第1の位置に存在する対象物の対象物画像を撮影する。この対象物画像から算出した第2の特徴量に一致する第1の特徴量を含む地図情報を抽出することにより、第1の位置に対応する第2の位置を特定することができる。したがって、任意の位置に存在する対象物の対象物画像を撮影するという簡単な操作により、自走式装置に対して当該任意の位置(又はその近傍の位置)への移動を容易に指示することができる。
【0038】
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROM等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
【0039】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0040】
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0041】
(実施の形態)
[1.システムの全体構成]
まず、
図1を参照しながら、実施の形態に係る位置指示方法を実現するためのシステム2の全体構成について説明する。
図1は、実施の形態に係る位置指示方法を実現するためのシステム2の全体構成を模式的に示すブロック図である。
【0042】
図1に示すように、実施の形態に係るシステム2は、自走式掃除機4(自走式装置の一例)と、情報端末6(撮像装置の一例)と、位置指示装置8とを備えている。これらの自走式掃除機4、情報端末6及び位置指示装置8は、インターネット10(ネットワークの一例)を介して相互に接続されている。
【0043】
自走式掃除機4は、自律して例えば一般家屋等の建物12内の部屋14の床面16(走行領域の一例)を走行しながら掃除するロボット型の掃除機である。自走式掃除機4は、部屋14の様子をカメラ又はレーザレンジファインダ等のセンサを用いて観測することにより、部屋14の床面16をどの経路で走行して掃除するかを自律的に判断する。自走式掃除機4は、ルータ18を介してインターネット10に接続されている。なお、本明細書において、部屋14は、建物12内の1つの区画であってもよいし、建物12内の複数の区画を統合した総称であってもよい。
【0044】
情報端末6は、ユーザの操作を受け付けるユーザインタフェースを有する携帯端末であり、例えばスマートフォンである。なお、情報端末6のユーザインタフェースは、例えばタッチパネル、音声対話又はジェスチャー認識等で構成される。情報端末6は、画像を撮影する機能を有している。後述するように、ユーザは、自走式掃除機4に部屋14内の任意の第1の位置を掃除させたい場合には、当該第1の位置に存在する天井20(対象物の一例)の画像(以下、「天井画像」ともいう)(対象物画像の一例)を情報端末6により撮影する。撮影された天井画像は、情報端末6からインターネット10を介して位置指示装置8に送信される。
【0045】
位置指示装置8は、情報端末6から受信した天井画像に基づいて、上記第1の位置に対応する第2の位置を特定し、自走式掃除機4に対して特定した第2の位置に移動するように指示するための装置である。
【0046】
位置指示装置8は、サーバ装置22と、地図データベース(DB)24(記憶部の一例)とを有している。サーバ装置22は、例えばクラウド上に設けられた物理的又は仮想的な計算機である。地図データベース24は、例えば各家庭が所有する自走式掃除機4から収集した地図情報(後述する)が蓄積されたデータベースである。
【0047】
以下、上述したシステム2の各構成要素について詳細に説明する。
【0048】
[2.自走式掃除機の構成]
図2を参照しながら、自走式掃除機4のハードウェア構成について説明する。
図2は、実施の形態に係る自走式掃除機4のハードウェア構成を示すブロック図である。
【0049】
図2に示すように、自走式掃除機4は、ハードウェア構成として、自走式掃除機4の走行を制御する走行制御部26と、部屋14(
図1参照)の床面16上の塵埃等を捕集する集塵部28と、走行制御部26及び集塵部28へ電力を供給するバッテリ30とを有している。
【0050】
走行制御部26は、CPU(Central Processing Unit)32と、クラウド通信部34と、カメラ36と、RAM(Random Access Memory)38と、ROM(Read Only Memory)40と、モータ42と、車輪44とを有している。
【0051】
CPU32は、走行制御ソフトウェアを実行する演算ユニットである。クラウド通信部34は、Wi−Fi(登録商標)又はBluetooth(登録商標)等の無線通信を行うための通信モジュールである。カメラ36は、自走式掃除機4が配置された部屋14の天井20の画像(以下、「天井画像」ともいう)を撮影するカメラモジュールである。なお、カメラ36は、部屋14の天井20の画像を撮影可能なように、例えば鉛直上向きの姿勢で設置されている。RAM38は、走行制御ソフトウェアの実行時データ等を記憶する揮発性メモリである。ROM40は、走行制御ソフトウェア及び地図情報(後述する)等を記憶する不揮発性メモリである。モータ42は、車輪44を回転させることにより、自走式掃除機4を前進、後退又は旋回させる。
【0052】
なお、走行制御部26及び集塵部28は、独立した2枚の基板上にそれぞれ実装されていてもよいし、同一の基板上に実装されていてもよい。
【0053】
次に、
図3を参照しながら、自走式掃除機4の走行制御ソフトウェアを実現するための機能構成について説明する。
図3は、実施の形態に係る自走式掃除機4の機能構成を示すブロック図である。
【0054】
図3に示すように、自走式掃除機4は、機能構成として、走行経路指示部46と、地図生成部48と、画像取得部50と、地図データベース(DB)52と、地図情報アップロード部54と、位置情報受信部56と、クラウド接続部58と、車輪制御部60とを有している。
【0055】
走行経路指示部46は、車輪制御部60に自走式掃除機4の走行経路を指示するためのソフトウェアモジュールである。より具体的には、走行経路指示部46は、地図生成部48が生成した建物12(
図1参照)の間取り情報(後述する)と自走式掃除機4の現在位置及び移動方向とに基づいて、まだ掃除が完了していない建物12内の区画情報を算出する。これにより、走行経路指示部46は、建物12内における最適な走行経路を決定し、車輪制御部60に自走式掃除機4の移動先及び移動速度等を指示する。
【0056】
地図生成部48は、画像取得部50が取得した天井画像に基づいて、自走式掃除機4が配置された建物12の間取りや、建物12内における自走式掃除機4の現在位置及び移動方向等を推定する。これにより、地図生成部48は、建物12の間取りを示す間取り情報及び地図情報を生成し、これらを地図データベース52に記憶させる。上述した推定処理には、例えばSLAM(Simultaneous Location And Mapping)が用いられる。
【0057】
なお、本実施の形態では、カメラ36で撮影した天井画像のみを用いて上述した推定処理を行う手法について説明するが、天井画像に加えて自走式掃除機4が備えるジャイロセンサ(図示せず)又はホイールエンコーダ(図示せず)等からの検出結果を用いて推定処理を行ってもよい。これにより、より一層精度の高い推定処理を行うことができる。
【0058】
画像取得部50は、カメラ36により撮影された天井画像を取得するソフトウェアモジュールである。
【0059】
地図データベース52は、地図生成部48が生成した間取り情報及び地図情報等が蓄積されたデータベースである。地図情報のデータ構造については後で詳述する。
【0060】
地図情報アップロード部54は、クラウド接続部58を通じて、地図データベース52に記憶された地図情報をサーバ装置22へ送信するソフトウェアモジュールである。
【0061】
位置情報受信部56は、サーバ装置22からクラウド接続部58を通じて、ユーザが掃除を希望する位置(すなわち、自走式掃除機4の移動先である第2の位置)に関する位置情報を受信するソフトウェアモジュールである。位置情報受信部56は、サーバ装置22から受信した位置情報を走行経路指示部46に出力する。これにより、走行経路指示部46は、車輪制御部60に対して、受信した位置情報が示す第2の位置へ自走式掃除機4を移動させる指示を出力する。
【0062】
クラウド接続部58は、クラウド通信部34を用いて、サーバ装置22と自走式掃除機4との間で双方向通信を行うためのソフトウェアモジュールである。
【0063】
車輪制御部60は、走行経路指示部46からの指示に基づいて、モータ42の駆動を制御することにより、自走式掃除機4を所定の位置へ移動させる。
【0064】
ここで、
図4〜
図7を参照しながら、地図生成部48が生成する地図情報について説明する。
図4は、画像取得部50が取得する天井画像62の一例を示す図である。
図5は、
図4の天井画像62から抽出した複数の特徴点70a,70b,70c,70d及び70eの一例を示す図である。
図6は、ORBのアルゴリズムを用いて算出された特徴量の一例を示す図である。
図7は、地図生成部48が生成する地図情報の一例を示す図である。
【0065】
図4に示すように、画像取得部50が取得する天井画像62には、例えば部屋14の天井20と、天井20に設置された照明器具66と、部屋14の床面16に設置された家具68とが写っている。
図5に示すように、地図生成部48は、このような天井画像62が有する複数の画素から、周囲の画素と比べて輝度又は色の変化量が大きい画素である複数の特徴点70a,70b,70c,70d及び70eを抽出する。地図生成部48は、一つの天井画像62から複数の特徴点70a〜70eを抽出する。特徴点70a〜70eの抽出には、例えばFAST(Features from Accelerated Segment Test)アルゴリズム等が用いられる。
【0066】
また、地図生成部48は、ある特徴点と別の特徴点とを区別するため、各特徴点に対して特徴量と呼ばれる情報を算出する。特徴量の算出には、例えばORB(Oriented FAST and Rotated BRIEF(Binary Robust Independent Elementary Features))、SIFT(Scale−Invariant Feature Transform)又はSURF(Speeded Up Robust Features)等のアルゴリズムが用いられる。
図6に示すように、例えばORBのアルゴリズムを用いた場合には、地図生成部48は、32バイトのバイナリ列として特徴量を算出する。
【0067】
地図生成部48は、上述のようにして算出した特徴量を用いることにより、第1の撮影位置で撮影した第1の天井画像と、第1の撮影位置とは異なる第2の撮影位置で撮影した第2の天井画像とに基づいて、第1の撮影位置と第2の撮影位置との間における自走式掃除機4の移動量及び移動方向を推定することができる。より具体的には、地図生成部48は、第1の天井画像及び第2の天井画像の各々に含まれる複数の特徴点の中から特徴量が一致する特徴点のペアを抽出し、抽出したペアの特徴点の天井画像上における位置の変化量に基づいて、三角測量の原理により自走式掃除機4の移動量及び移動方向を算出する。さらに、地図生成部48は、第1の撮影位置と第2の撮影位置との間における自走式掃除機4の移動量及び移動方向の推定結果に基づいて、三角測量の原理により各天井画像に写った特徴点の座標も算出することができる。地図生成部48は、定期的に画像取得部50から新しい天井画像を取得して上記の推定処理を繰り返すことにより、各天井画像を撮影した際の自走式掃除機4の位置と、当該位置から観測できる特徴点の座標とを算出することができる。
【0068】
地図生成部48は、上述のように算出した特徴量に基づいて地図情報を生成する。
図7に示すように、地図情報は、建物12内の部屋14における位置に関する位置情報と、当該位置において撮影された天井画像から算出された特徴量とが対応付けられた情報である。
図7には、例えば2つの地図情報を含む表が図示されている。
【0069】
図7に示す表において、列72は、画像取得部50が取得した天井画像を識別するための識別子であり、例えば画像取得部50が新しい画像を取得する度に連番で付与される。すなわち、列72に示される識別子は、地図情報を識別するためのものでもある。列74は、各天井画像を撮影した際の自走式掃除機4の位置(推定位置)を示すXY座標系(所定の座標系の一例)における2次元座標(位置情報の一例)である。列76は、各天井画像に含まれる特徴点の特徴量(第1の特徴量の一例)である。列78は、各特徴点の位置を示すXYZ座標系における3次元座標(推定座標)である。上述したXY座標系及びXYZ座標系の各々は、充電台102(後述する
図11参照)を原点とする座標系である。なお、列78は、XY座標系における2次元座標であってもよい。また、行80及び行82の各々は、自走式掃除機4が走行した各位置の座標と、当該位置で撮影された天井画像に含まれる特徴点の特徴量及び座標とを対応付けた地図情報(以下、「キーフレーム」ともいう)である。
【0070】
図7に示す例では、識別子「1」の地図情報では、自走式掃除機4の位置は(X,Y)=(20,0)であり、特徴量Aの位置は(X,Y,Z)=(10,20,200)であり、特徴量Bの位置は(X,Y,Z)=(100,−20,200)であり、特徴量Cの位置は(X,Y,Z)=(500,70,200)である。
【0071】
[3.位置指示装置の構成]
次に、
図8及び
図9を参照しながら、位置指示装置8の機能構成について説明する。
図8は、実施の形態に係る位置指示装置8の機能構成を示すブロック図である。
図9は、地図データベース24に蓄積された地図情報の一例を示す図である。
【0072】
図8に示すように、位置指示装置8のサーバ装置22は、機能構成として、取得部84と、算出部86と、抽出部88と、特定部90と、通知部92とを有している。
【0073】
取得部84は、情報端末6により撮影された、部屋14(
図1参照)内の第1の位置に存在する天井20の天井画像を取得する。
【0074】
算出部86は、取得部84により取得された天井画像から第2の特徴量を算出する。
【0075】
抽出部88は、地図データベース24から、第2の特徴量に一致する第1の特徴量を含む地図情報を抽出する。
【0076】
特定部90は、抽出部88により抽出された地図情報に基づいて、第1の位置に対応する第2の位置を特定する。なお、特定部90は、第2の位置として、XY座標系における第2の位置を示す2次元座標を特定する。
【0077】
通知部92は、特定部90により特定された第2の位置に自走式掃除機4を移動させるための指示を自走式掃除機4に通知する。
【0078】
図9に示すように、位置指示装置8の地図データベース24には、例えばSQL(Structured Query Language)又はRDB(Relational Database)等で構成された地図情報のデータベースが蓄積されている。
【0079】
図9には、例えば2つの地図情報を含む表が図示されている。
図9に示す表では、列94は、各家庭が所有する自走式掃除機4を識別するための識別子を示す機器IDである。この機器IDとしては、例えばクラウド通信部34に付与されたMAC(Media Access Control)アドレスや、自走式掃除機4の製造ベンダが独自のルールで付与した番号等を用いることができる。列96は、
図7に示す列72、列74、列76及び列78と同一であるため、その説明を省略する。このように、サーバ装置22は、地図データベース24上で、各家庭が所有する自走式掃除機4により生成された地図情報と、自走式掃除機4の機器IDとを紐付けて管理する。
【0080】
[4.情報端末の構成]
次に、
図10を参照しながら、情報端末6の構成について説明する。
図10は、実施の形態に係る情報端末6の正面側を示す図である。
【0081】
図10に示すように、情報端末6は、表示部98と、インカメラ100(第1の撮像部の一例)とを有している。
【0082】
表示部98は、情報端末6の正面側に配置されている。表示部98は、例えば液晶パネルであり、各種画面を表示する。また、表示部98は、ユーザによる各種指示を受け付けるユーザインタフェースとしてのタッチパネルでもある。
【0083】
インカメラ100は、情報端末6の正面側に配置されており、情報端末6の正面方向(第1の方向の一例)を撮影する。
【0084】
[5.システムの動作]
[5−1.システムの動作の概要]
次に、
図11を参照しながら、上述したシステム2の動作の概要について説明する。
図11は、実施の形態に係るシステム2の動作の概要を説明するための図である。
【0085】
図11に示すように、まず、自走式掃除機4は、建物12内の部屋14の床面16を走行しながら部屋14の天井20(
図1参照)の天井画像を撮影し、撮影した天井画像に基づいて地図情報を生成する。生成された地図情報は、自走式掃除機4からインターネット10(
図1参照)を介して位置指示装置8にアップロードされる(S1)。
【0086】
その後、ユーザは、自走式掃除機4に部屋14内の任意の第1の位置P1を掃除させたい場合には、当該第1の位置P1に存在する天井20の天井画像を情報端末6により撮影する。撮影された天井画像は、情報端末6からインターネット10を介して位置指示装置8に送信される(S2)。
【0087】
その後、位置指示装置8は、情報端末6から受信した天井画像に基づいて、上記第1の位置P1に対応する第2の位置P2を特定する(S3)。なお、特定された第2の位置P2は、第1の位置P1と同一位置であってもよいし、第1の位置P1の近傍の位置であってもよい。
【0088】
その後、位置指示装置8は、自走式掃除機4に対して、特定した第2の位置P2に移動するように指示する(S4)。
【0089】
その後、自走式掃除機4は、位置指示装置8からの指示に基づいて、部屋14内に配置された充電台102から第2の位置P2に移動する(S5)。
【0090】
以下、上述したステップS1〜S4の各処理について詳細に説明する。
【0091】
[5−2.ステップS1の処理]
図12〜
図14を参照しながら、
図11のステップS1の処理について詳細に説明する。
図12は、実施の形態に係る自走式掃除機4が地図情報を生成及びアップロードする流れを示すフローチャートである。
図13は、
図12のステップS13の内容を具体的に示すフローチャートである。
図14は、
図12のステップS18の内容を具体的に示すシーケンス図である。
【0092】
例えばユーザが自走式掃除機4の本体ボタン又はリモコンボタンを押下することにより、自走式掃除機4は掃除の開始の指示を受け付ける。これにより、自走式掃除機4は、部屋14の床面16を所定の走行経路に沿って走行しながら掃除する。このとき、自走式掃除機4は、走行中にカメラ36で部屋14の天井20の天井画像を撮影する。
【0093】
図12に示すように、走行経路指示部46は、地図生成部48を起動する(S11)。次に、自走式掃除機4は、掃除完了までステップS13及びS14の各処理を繰り返す(S12,S15)。ここで、掃除完了のケースとしては、例えば、a)地図生成部48により生成された間取り情報が示す間取りにおいて未掃除の区画がないと判断される、b)ユーザの操作(本体ボタン又はリモコンボタンの押下等)により掃除の停止が指示される、又は、c)バッテリ30の残量が所定の値以下になる等のケースが想定される。
【0094】
ステップS13では、地図生成部48は、画像取得部50から取得した天井画像に基づいて、自走式掃除機4の現在位置と天井画像に含まれる特徴点の座標とを推定することにより、地図情報を生成する。
【0095】
ここで、
図13を参照しながら、ステップS13の処理について具体的に説明する。
図13に示すように、地図生成部48は、画像取得部50から天井画像を取得し(S131)、取得した天井画像から特徴点を複数抽出する(S132)。その後、地図生成部48は、抽出した複数の特徴点の各々の特徴量を算出する(S133)。
【0096】
その後、地図生成部48は、ステップS131で取得した天井画像に含まれる特徴点と、直前のステップS12〜ステップS15のループで取得した天井画像に含まれる特徴点とに基づいて、この間に自走式掃除機4が移動した方向、距離及び現在位置を算出(推定)する(S134)。その後、地図生成部48は、ステップS131で取得した天井画像に含まれる特徴点の座標を算出(推定)する(S135)。このようにして、地図生成部48は、地図情報を生成する。
【0097】
その後、地図生成部48は、地図データベース52内に蓄積されている既存の地図情報と、ステップS135で生成した地図情報とが類似しているか否かを判断する(S136)。このとき、地図生成部48は、両地図情報に含まれる特徴点のうち、特徴量が一致する特徴点のペアが所定の割合以上含まれている場合に、両地図情報が類似していると判断する。
【0098】
地図生成部48は、両地図情報が類似していないと判断した場合には(S136でNO)、生成した地図情報を地図データベース52に記憶させ(S137)、上述したステップS131〜S136の各処理を繰り返し実行する。一方、地図生成部48は、両地図情報が類似していると判断した場合には(S136でYES)、生成した地図情報を地図データベース52に記憶させずに、上述したステップS131〜S136の各処理を繰り返し実行する。これにより、地図データベース52のデータ量を低減させることができる。
【0099】
図12に戻り、ステップS13の後に、走行経路指示部46は、ステップS13で生成した地図情報に基づいて、自走式掃除機4の現在位置と目的地とから移動方向及び移動速度を算出し、算出した移動方向及び移動速度を車輪制御部60に指示する。これにより、自走式掃除機4は、指示された移動方向及び移動速度で走行する。
【0100】
その後、掃除完了と判断された場合には(S12,S15)、自走式掃除機4は充電台102に帰還する(S16)。その後、走行経路指示部46は地図生成部48を停止し(S17)、地図情報のアップロード処理を実行する(S18)。
【0101】
ここで、
図14を参照しながら、ステップS18の処理について具体的に説明する。
図14に示すように、サーバ装置22は、各家庭が所有する自走式掃除機4との接続を待機している(S181)。自走式掃除機4の地図情報アップロード部54は、クラウド接続部58を通じてサーバ装置22への接続を確立する(S182)。なお、地図情報アップロード部54とサーバ装置22との接続には、例えばHTTP(Hypertext Transport Protocol)又はWebSocket等のプロトコルを用いることができる。あるいは、地図情報アップロード部54とサーバ装置22との間で双方向又は片方向の認証を行い、例えばSSL(Secure Sockets Layer)等の暗号化通信を行ってもよい。
【0102】
接続が確立された後は、地図情報アップロード部54は、サーバ装置22へ地図情報及び自走式掃除機4の機器IDをサーバ装置22に送信する(S183)。サーバ装置22は、地図情報アップロード部54からの地図情報及び機器IDを受信し(S184)、これらを地図データベース24へ蓄積する(S185)。以上のようにして、各家庭の自走式掃除機4が生成した地図情報をサーバ装置22へアップロードすることができる。
【0103】
[5−3.ステップS2〜S5の各処理]
次に、
図10及び
図15〜
図18を参照しながら、
図11のステップS2〜S5の各処理について詳細に説明する。
図15は、実施の形態に係る自走式掃除機4に移動先を指示する流れを示すシーケンス図である。
図16は、
図15のステップS35の内容を具体的に示すフローチャートである。
図17は、三角測量の原理により第2の位置P2を特定する方法を説明するための図である。
図18は、
図15のステップS41の内容を具体的に示すフローチャートである。
【0104】
図15に示すように、まず、ユーザは、情報端末6にインストールされた、掃除位置を指示するためのアプリケーションを起動する(S31)。その後、アプリケーションは、ユーザに掃除したい位置の天井20を撮影するように指示する(S32)。このとき、例えば
図10に示すように、情報端末6の表示部98には、ユーザに掃除したい位置の天井20を撮影するように指示するメッセージボックス104が表示される。ユーザは、掃除したい部屋14内の第1の位置P1(
図11参照)に立った状態で、インカメラ100が天井20側(鉛直上方)を向くように情報端末6を把持し、インカメラ100で天井画像106(
図10参照)を撮影する(S33)。このとき、
図10に示すように、情報端末6の表示部98には、インカメラ100で撮影された天井画像106が表示される。
【0105】
その後、ユーザは、情報端末6を操作することにより、撮影した天井画像106を、ユーザが所有する自走式掃除機4の機器IDとともにサーバ装置22へ送信する(S33)。なお、自走式掃除機4の機器IDは、例えばユーザが機器IDを示すQRコード(登録商標)等を情報端末6で読み取ることにより、上述したアプリケーションに予め設定されている。
【0106】
その後、サーバ装置22の取得部84は、情報端末6からの天井画像106を取得(受信)する(S34)。その後、サーバ装置22は、受信した天井画像106に基づいて、掃除位置を特定する処理を実行する(S35)。
【0107】
ここで、
図16を参照しながら、ステップS35の処理について具体的に説明する。
図16に示すように、まず、サーバ装置22の抽出部88は、地図データベース24から、情報端末6から送信されてきた機器IDと一致する機器IDと紐付けられた全ての地図情報(キーフレーム)を抽出する(S351)。
【0108】
その後、サーバ装置22の算出部86は、情報端末6から送信されてきた天井画像106に含まれる複数の特徴点の各々の第2の特徴量を算出する(S352)。第2の特徴量の算出方法は、
図13のステップS133で説明した算出方法と同様である。
【0109】
その後、サーバ装置22の抽出部88は、地図データベース24から、ステップS351で抽出した複数の地図情報から、ステップS352で算出した複数の第2の特徴量と最も一致する複数の第1の特徴量を有する地図情報を検索する(S353)。
【0110】
その後、サーバ装置22の抽出部88は、ステップS352で算出した複数の第2の特徴量とステップS353で検索した地図情報の複数の第1の特徴量との一致度が所定の閾値(例えば90%)以下であるか否かを判定する(S354)。一致度が所定の閾値を超える場合には(S354でNO)、ステップS353で検索した地図情報を抽出する(S355)。一方、一致度が所定の閾値以下である場合には(S354でYES)、ステップS353で検索した地図情報を抽出せずに、処理を終了する。
【0111】
ステップS355の後、サーバ装置22の特定部90は、ステップS355で抽出された複数の地図情報にそれぞれ含まれる複数の位置情報に基づいて、三角測量の原理により第2の位置P2を特定する(S356)。上述したように、第2の位置P2は、XY座標系における第1の位置P1に対応する位置を示す2次元座標である。
【0112】
ここで、
図17を参照しながら、三角測量の原理により第2の位置P2を特定する方法について説明する。
図17の(a)において、撮影位置1及び2はそれぞれの位置におけるカメラ36のレンズ中心であり、位置P11は撮影位置1で撮影された天井画像における第2の位置P2の座標であり、位置P12は撮影位置2で撮影された天井画像における第2の位置P2の座標である。なお、撮影位置1及び2の各々で撮影された天井画像に関する地図情報は地図データベース24に予め蓄積され、且つ、撮影位置1及び2におけるカメラ36のレンズの姿勢(向き及び位置)は既知であるとする。第1の位置P1で撮影された天井画像には、撮影位置1及び2の各々で撮影された天井画像に含まれる特徴点と同じ特徴点が含まれている。地図データベース24に蓄積された地図情報(
図9参照)を参照することにより、まず、第1の位置P1で撮影された天井画像に含まれる特徴点の特徴量の座標を特定し、その後、当該特徴点を含む画像が撮影された撮影位置1及び2の各座標を特定する。その後、
図17の(a)に示すように、撮影位置1と位置P11とを結ぶ直線と、撮影位置2と位置P12とを結ぶ直線との交点を第2の位置P2の座標として特定する。
【0113】
なお、撮影位置1の座標と、第2の位置P2の座標と、撮影位置1におけるカメラ36のレンズの姿勢とがそれぞれ既知である場合には、次のようにして撮影位置2の座標と撮影位置2におけるカメラ36のレンズの姿勢とを算出することができる。
図17の(b)に破線で示すように、撮影位置1と位置P11とを結ぶ直線は、撮影位置2で撮影された天井画像上に直線状のエピポーラ線108として投影される。位置P12は、エピポーラ線108上に観測されるという幾何学的特性に基づいて、撮影位置2の座標と撮影位置2におけるカメラ36のレンズの姿勢とを算出することができる。
【0114】
図15に戻り、ステップS35の後に、サーバ装置22は、情報端末6へ掃除位置の特定結果(特定した第2の位置に関する情報)を送信する(S36)。情報端末6は、サーバ装置22からの特定結果を受信し(S37)、受信した特定結果を表示部98に表示させる(S38)。このとき、表示部98には、特定結果として例えば「掃除位置を特定しました」等のメッセージが表示される。ユーザは、表示部98に表示された特定結果を見ることにより、掃除位置が特定されたことを認識することができる。
【0115】
なお、ステップS35において掃除位置特定処理が失敗していた場合には、ユーザに天井20の撮影を再度実行するように促すメッセージボックス104(
図10参照)を表示部98に表示させてもよい。この場合、上述したステップS32〜S35の各処理が再度実行される。
【0116】
その後、サーバ装置22の通知部92は、掃除開始要求を自走式掃除機4に送信する(S39)。すなわち、通知部92は、自走式掃除機4に対して、特定した第2の位置P2に自走式掃除機4を移動させるための指示を通知する。その後、自走式掃除機4は、サーバ装置22からの掃除開始要求を受信し(S40)、掃除動作処理を実行する(S41)。
【0117】
ここで、
図18を参照しながら、ステップS41の処理について具体的に説明する。
図18に示すように、位置情報受信部56は、サーバ装置22から第2の位置P2の座標を示す位置情報を取得する(S411)。その後、位置情報受信部56は、走行経路指示部46へ当該位置情報を通知する(S412)。その後、走行経路指示部46は、通知された位置情報の座標への走行経路を算出する(S413)。その後、走行経路指示部46は、車輪制御部60を制御することにより、自走式掃除機4を第2の位置P2へ移動させる(S414)。このとき、バッテリ30の残量が所定の値以下である場合には、走行経路指示部46は、バッテリ30の残量が充電台102からの電力により回復するのを待ってから、自走式掃除機4の第2の位置P2への移動を開始させてもよい。
【0118】
[6.効果]
上述したように、ユーザが掃除したい任意の位置に存在する天井20を情報端末6で撮影するという簡単な操作により、自走式掃除機4に対して当該任意の位置(又はその近傍の位置)への移動を容易に指示することができる。
【0119】
(変形例)
次に、
図19を参照しながら、実施の形態の変形例に係るシステムの動作について説明する。
図19は、実施の形態の変形例に係るシステムの動作を説明するための図である。
図19の(a)は、情報端末6の背面側を示す斜視図であり、
図19の(b)は、ユーザが情報端末6で天井画像を撮影する様子を示す斜視図である。
【0120】
図19の(a)に示すように、情報端末6は、上述したインカメラ100に加えて、アウトカメラ110(第2の撮像部の一例)を有している。アウトカメラ110は、情報端末6の背面側に配置されており、情報端末6の背面方向(上記第1の方向と反対方向である第2の方向の一例)を撮影する。
【0121】
本変形例では、上述した
図15のステップS32において、アプリケーションは、ユーザに掃除したい部屋14内の位置の床面16を撮影するように指示する。このとき、例えば情報端末6の表示部98には、ユーザに床面16を撮影するように指示するメッセージボックスが表示される。ユーザは、掃除したい部屋14内の第1の位置P1(
図11参照)に立った状態で、インカメラ100が天井20(
図1参照)側を向くように情報端末6を把持する。このとき、
図19の(b)に示すように、情報端末6の表示部98には、アウトカメラ110を通して映った床面16の床面画像112が表示される。
【0122】
上述した
図15のステップS33において、ユーザが情報端末6のシャッターボタン(図示せず)を押下すると、インカメラ100により天井20の天井画像が撮影される。撮影された天井画像は、情報端末6からサーバ装置22(
図1参照)に送信される。このとき、床面画像112は、情報端末6の表示部98に表示されるのみであり、アウトカメラ110により撮影されない。
【0123】
上述したように、天井画像の撮影時に床面画像112を情報端末6の表示部98に表示させることにより、ユーザは、自走式掃除機4に掃除させたい掃除位置を直感的に捉えることができる。
【0124】
(他の変形例)
以上、一つ又は複数の態様に係る位置指示方法等について、上記実施の形態及び変形例に基づいて説明したが、本開示は、これらの実施の形態及び変形例に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思い付く各種変形を実施の形態及び変形例に施したものや、異なる実施の形態又は変形例における構成要素を組み合わせて構築される形態も、一つ又は複数の態様の範囲内に含まれてもよい。例えば、上記実施の形態及び変形例をそれぞれ組み合わせるとしても良い。
【0125】
例えば、上記実施の形態等では、撮像装置としての情報端末6をスマートフォンで構成したが、これに限定されず、例えばタブレット端末等で構成してもよい。
【0126】
例えば、上記実施の形態等では、自走式装置が自走式掃除機4である場合について説明したが、これに限定されず、自走式装置は、例えば自律的に走行しながら物品を搬送する自走式搬送ロボット等であってもよい。
【0127】
例えば、上記実施の形態等では、
図15のステップS38において、情報端末6の表示部98に特定結果を表示させたが、第2の位置P2が表示された部屋14の地図画面を特定結果として表示部98に表示させてもよい。このとき、ユーザは、例えば第1の位置P1と第2の位置P2とのずれが大きい場合には、表示部98のタッチパネルを操作することにより、地図画面上で第2の位置P2の位置を微調整してもよい。これにより、微調整された第2の位置P2に関する位置情報が情報端末6からサーバ装置22に送信され、サーバ装置22側で微調整された第2の位置P2が再度特定される。
【0128】
上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしても良い。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしても良い。
【0129】
本発明は、上記に示す方法であるとしても良い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えばフレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray(登録商標) Disc)、半導体メモリなどに記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしても良い。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。