(57)【要約】【課題】簡単な操作で、自走式機器に自ら走行経路を生成させる。【解決手段】端末（１０）と通信する自走式機器（２０）であって、端末が撮影する対象物画像を含む映像を受信する映像受信部と、複数の対象物それぞれについて、当該対象物の画像と、基準位置からの当該対象物の位置を示す位置データとを有するマップを取得するマップ取得部と、受信する映像中の画像と、マップ取得部が取得する対象物の画像それぞれとを照合し、照合結果に基づき、映像から１つ以上の対象物画像を抽出する照合抽出部と、照合抽出部により抽出された対象物画像に対応する位置データを、マップから検出する位置検出部と、自走式機器の現在位置を示す現在位置データと、位置検出部により検出された位置データとに基づき、走行経路の情報を生成する経路生成部と、を備える。【選択図】図１
2014059737.tif 000002
【特許請求の範囲】
【請求項１】
端末と通信する自走式機器であって、
前記端末が撮影する対象物画像を含む映像を受信する映像受信部と、
複数の対象物それぞれについて、当該対象物の画像と、基準位置からの当該対象物の位置を示す位置データとを有するマップを取得するマップ取得部と、
受信する映像中の画像と、前記マップ取得部が取得する対象物の画像それぞれとを照合し、照合結果に基づき、前記映像から１つ以上の対象物画像を抽出する照合抽出部と、
前記照合抽出部により抽出された前記対象物画像に対応する前記位置データを、前記マップから検出する位置検出部と、
前記自走式機器の現在位置を示す現在位置データと、前記位置検出部により検出された前記位置データとに基づき、走行経路の情報を生成する経路生成部と、を備える、自走式機器。
【請求項２】
前記対象物の位置と前記現在位置は、前記基準位置からの距離と方向に基づく位置を示す、請求項１に記載の自走式機器。
【請求項３】
被写体を撮影し映像を出力するカメラ部と、
前記自走式機器の前記現在位置を検出する現在位置検出部と、をさらに備え、
前記マップ取得部は、
前記基準位置から走行を開始した走行中に、前記カメラ部が出力する撮影画像データから前記複数の対象物それぞれについて対象物の画像を抽出し、抽出した各対象物の画像と、当該対象物の撮影時に検出される前記現在位置を示す前記位置データとを対応づけて前記マップを作成するマップ作成部を含む、請求項１または２に記載の自走式機器。
【請求項４】
前記映像受信部が受信する映像は、前記走行経路の到達目標を撮影した目標画像と前記対象物画像を含む時系列の複数の画像からなり、
前記経路生成部は、
前記対象物画像と、当該対象物画像の後に撮影された前記目標画像とから、画像の移動距離および移動方向を検出し、検出した移動距離および移動方向と、当該対象物の前記位置データとから、当該目標の位置データを算出する、請求項１から３のいずれかに記載の自走式機器。
【請求項５】
前記映像受信部が受信する映像は、前記自走式機器を撮影した機器画像を含み、
受信する映像から前記機器画像を検出する機器画像検出部と、
前記自走式機器の走行方向を検出する走行方向検出部と、をさらに備え、
検出される前記機器画像から前記自走式機器が撮影されている方向を検出し、検出した撮影方向と、検出される前記走行方向から前記自走式機器の走行方向を変更する、請求項１から４のいずれかに記載の自走式機器。
【請求項６】
端末と、
前記端末と通信する自走式機器とを、備えるシステムであって、
前記自走式機器は、
前記端末が撮影する対象物画像を含む映像を受信する映像受信部と、
複数の対象物それぞれについて、当該対象物の画像と、基準位置からの当該対象物の位置を示す位置データとを有するマップを取得するマップ取得部と、
受信する映像中の画像と、前記マップ取得部が取得する対象物の画像それぞれとを照合し、照合結果に基づき、前記映像から１つ以上の対象物画像を抽出する照合抽出部と、
前記照合抽出部により抽出された前記対象物画像に対応する前記位置データを、前記マップから検出する位置検出部と、
前記自走式機器の現在位置を示す現在位置データと、前記位置検出部により検出された前記位置データとに基づき、走行経路の情報を生成する経路生成部と、を含む、システム。
【請求項７】
端末と通信する自走式機器の制御方法であって、
前記端末が撮影する対象物画像を含む映像を受信するステップと、
複数の対象物それぞれについて、当該対象物の画像と、基準位置からの当該対象物の位置を示す位置データとを有するマップを取得するステップと、
受信する映像中の画像と、前記マップを取得するステップにより取得する対象物の画像それぞれとを照合し、照合結果に基づき、前記映像から１つ以上の対象物画像を抽出するステップと、
抽出された前記対象物画像に対応する前記位置データを、前記マップから検出するステップと、
前記自走式機器の現在位置を示す現在位置データと、前記検出するステップにより検出された前記位置データとに基づき、走行経路の情報を生成するステップと、を備える、自走式機器の制御方法。
【請求項８】
プロセッサを備えるコンピュータに、端末と通信する自走式機器の制御方法を実行させるためのプログラムであって、
前記プログラムは、前記プロセッサに、
前記端末が撮影する対象物画像を含む映像を受信するステップと、
複数の対象物それぞれについて、当該対象物の画像と、基準位置からの当該対象物の位置を示す位置データとを有するマップを取得するステップと、
受信する映像中の画像と、前記マップを取得するステップにより取得する対象物の画像それぞれとを照合し、照合結果に基づき、前記映像から１つ以上の対象物画像を抽出するステップと、
抽出された前記対象物画像に対応する前記位置データを、前記マップから検出するステップと、
前記自走式機器の現在位置を示す現在位置データと、前記検出するステップにより検出された前記位置データとに基づき、走行経路の情報を生成するステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は自走式機器に関し、特に、端末により誘導される自走式機器に関する。
【背景技術】
【０００２】
携帯端末を用いて自走式機器を特定位置に誘導する方法として、たとえば、特許文献１（特開２０１１−２３３１４９号公報）および特許文献２（特開２００２−８５３０５号公報)では、携帯端末の画面上に表示されたマップ上で最終到達位置または領域を指定する方法、特許文献３（特開２００７−１２２３０４号公報）では、携帯端末の画面上で表示されたマップ上でマウスなどを用いて経路設定し、最終到達位置を指定する方法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３３１４９号公報
【特許文献２】特開２００２−８５３０５号公報
【特許文献３】特開２００７−１２２３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１、２および３では、携帯端末は自走式機器が作成するマップを画面上に表示し場所を指定するため、ユーザが見ている目標物の位置を自走式機器の最終到達点に指定したい場合、ユーザは直感的にピンポイントで指定することが困難である。
【０００５】
それゆえに、本発明の目的は、ユーザの簡単操作で、自ら走行経路を生成するような自走式機器を提供することである。
【課題を解決するための手段】
【０００６】
この発明のある局面に従う、端末と通信する自走式機器は、端末が撮影する対象物画像を含む映像を受信する映像受信部と、複数の対象物それぞれについて、当該対象物の画像と、基準位置からの当該対象物の位置を示す位置データとを有するマップを取得するマップ取得部と、受信する映像中の画像と、マップ取得部が取得する対象物の画像それぞれとを照合し、照合結果に基づき、映像から１つ以上の対象物画像を抽出する照合抽出部と、照合抽出部により抽出された対象物画像に対応する位置データを、マップから検出する位置検出部と、自走式機器の現在位置を示す現在位置データと、位置検出部により検出された前位置データとに基づき、走行経路の情報を生成する経路生成部と、を備える。
【０００７】
好ましくは、対象物の位置と現在位置は、基準位置からの距離と方向に基づく位置を示す。
【０００８】
好ましくは、被写体を撮影し映像を出力するカメラ部と、自走式機器の現在位置を検出する現在位置検出部と、をさらに備え、マップ取得部は、基準位置から走行を開始した走行中に、カメラ部が出力する撮影画像データから複数の対象物それぞれについて対象物の画像を抽出し、抽出した各対象物の画像と、当該対象物の撮影時に検出される現在位置を示す位置データとを対応づけてマップを作成するマップ作成部を含む。
【０００９】
好ましくは、映像受信部が受信する映像は、走行経路の到達目標を撮影した目標画像と対象物画像を含む時系列の複数の画像からなり、経路生成部は、対象物画像と、当該対象物画像の後に撮影された目標画像とから、画像の移動距離および移動方向を検出し、検出した移動距離および移動方向と、当該対象物の位置データとから、当該目標の位置データを算出する。
【００１０】
好ましくは、映像受信部が受信する映像は、自走式機器を撮影した機器画像を含み、受信する映像から機器画像を検出する機器画像検出部と、自走式機器の走行方向を検出する走行方向検出部と、をさらに備え、検出される機器画像から自走式機器が撮影されている方向を検出し、検出した撮影方向と、検出される走行方向から自走式機器の走行方向を変更する。
【００１１】
この発明の他の局面に従うシステムは、端末と、端末と通信する自走式機器とを、備えるシステムであって、自走式機器は、端末が撮影する対象物画像を含む映像を受信する映像受信部と、複数の対象物それぞれについて、当該対象物の画像と、基準位置からの当該対象物の位置を示す位置データとを有するマップを取得するマップ取得部と、受信する映像中の画像と、マップ取得部が取得する対象物の画像それぞれとを照合し、照合結果に基づき、映像から１つ以上の対象物画像を抽出する照合抽出部と、照合抽出部により抽出された対象物画像に対応する位置データを、マップから検出する位置検出部と、自走式機器の現在位置を示す現在位置データと、位置検出部により検出された位置データとに基づき、走行経路の情報を生成する経路生成部と、を含む。
【００１２】
この発明のさらに他の局面に従うと、端末と通信する自走式機器の制御方法であって、端末が撮影する対象物画像を含む映像を受信するステップと、複数の対象物それぞれについて、当該対象物の画像と、基準位置からの当該対象物の位置を示す位置データとを有するマップを取得するステップと、受信する映像中の画像と、マップを取得するステップにより取得する対象物の画像それぞれとを照合し、照合結果に基づき、映像から１つ以上の対象物画像を抽出するステップと、抽出された対象物画像に対応する位置データを、マップから検出するステップと、自走式機器の現在位置を示す現在位置データと、検出するステップにより検出された位置データとに基づき、走行経路の情報を生成するステップと、を備える。
【００１３】
この発明のさらに他の局面に従うと、プロセッサを備えるコンピュータに、端末と通信する自走式機器の制御方法を実行させるためのプログラムであって、プログラムは、プロセッサに、端末が撮影する対象物画像を含む映像を受信するステップと、複数の対象物それぞれについて、当該対象物の画像と、基準位置からの当該対象物の位置を示す位置データとを有するマップを取得するステップと、受信する映像中の画像と、マップを取得するステップにより取得する対象物の画像それぞれとを照合し、照合結果に基づき、映像から１つ以上の対象物画像を抽出するステップと、抽出された対象物画像に対応する位置データを、マップから検出するステップと、自走式機器の現在位置を示す現在位置データと、検出するステップにより検出された位置データとに基づき、走行経路の情報を生成するステップと、を実行させる。
【発明の効果】
【００１４】
本発明によれば、ユーザは端末で撮影した映像を送信するという簡単な操作で、自走式機器に自ら走行経路を生成させることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係る全体構成図である。
【図２】本実施の形態に係る端末の外観図である。
【図３】本発明の実施の形態に係る端末のハードウェア構成図である。
【図４】本発明の実施の形態に係る掃除機の外観図である。
【図５】本発明の実施の形態に係る掃除機のハードウェア構成図である。
【図６】本発明の実施の形態に係る端末の機能構成図である。
【図７】本発明の実施の形態に係る掃除機の機能構成図である。
【図８】本発明の実施の形態に係る地図データ作成方法を説明する図である。
【図９】本発明の実施の形態に係る特徴点マップの一例を示す図である。
【図１０】本発明の実施の形態に係る掃除機の電源ＯＮから待機状態までの処理フローチャートである。
【図１１】本発明の実施の形態に係る掃除機の待機状態から掃除するまでの処理フローチャートである。
【図１２】本発明の実施の形態に係る掃除機の待機状態から掃除するまでの処理フローチャートである。
【図１３】本発明の実施の形態に係る掃除機の待機状態から掃除するまでの処理フローチャートである。
【図１４】本発明の実施の形態に係る処理を説明する図である。
【図１５】本発明の実施の形態に係る処理を説明する図である。
【図１６】本発明の実施の形態に係る処理を説明する図である。
【図１７】本発明の実施の形態に係る処理を説明する図である。
【図１８】本発明の実施の形態に係る処理を説明する図である。
【図１９】本発明の実施の形態に係る処理を説明する図である。
【図２０】本発明の実施の形態に係る処理を説明する図である。
【図２１】本発明の実施の形態に係る処理を説明する図である。
【図２２】本発明の実施の形態に係る表示リストの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について図面を参照し詳細に説明する。なお、同一の構成要素には各図において同一の符号を付し、詳細な説明は繰返さない。
【００１７】
本実施の形態では、制御対象である自走式機器として自走式掃除機を示し、これを遠隔から誘導する端末装置として、たとえばスマートフォン（多機能端末）などの携帯型の端末装置を示す。なお、自走式機器は、自走式の掃除機に限定されない。
【００１８】
＜システム構成＞
図１は、本発明の実施の形態に係る全体構成図である。図１を参照して、室内にいるユーザが携帯型端末１０（以下、端末１０と略す）を所持し、端末１０が撮影した映像を自走式掃除機２０（以下、掃除機２０と略す）に送信しながら、掃除機２０は映像中の特徴点を抽出し、抽出した特徴点の位置から最終到達の目標（たとえば、掃除すべきゴミ）位置、すなわち最終到達位置までの経路を検出し、検出した経路に従って走行する。これにより、端末１０のユーザは撮影する映像を用いて掃除機２０を目標まで誘導することができる。
【００１９】
ここでは、特徴点および目標は、掃除機２０の走行経路を特定するための目印となるべき対象物、またはその画像であって、より特定的には位置固定の対象物またはその画像を示す。
【００２０】
図２は、本発明の実施の形態に係る端末１０の外観図である。図３は、本発明の実施の形態に係る端末１０のハードウェア構成図である。図２と図３を参照して、端末１０は、ＣＰＵ（Central  Processing  Unitの略）１１、時間を計時し時間データをＣＰＵ１１に出力するタイマー１１Ａ、ＣＣＤ（Charge Coupled Device）からなるカメラ部１１Ｂ、ＨＤＤ（Hard  Disc  Driveの略）、ＳＳＤ（Solid  State  Driveの略）、フラッシュメモリ、ＲＯＭ（Read  Only  Memoryの略）、ＲＡＭ（Random  Access  Memoryの略）などの記憶媒体を含む記憶部１２、画像などを表示するための表示部１３、ユーザにより操作されるボタン・キー１４１などを含む操作部１４、アンテナを接続し変復調回路および符号化・復号化回路を含む通信部１５、外部から着脱自在に記憶媒体１７が装着され、装着された記憶媒体１７のデータを読書きするためのメモリドライバに相当する外部Ｉ／Ｆ（Interfaceの略）１６、およびリモコン（リモートコントローラの略）信号を送受信するための受発光素子１９１などを含むＩＲ（InfraRed）通信部１８、および音声出力部１９を備える。通信部１５は通信ネットワークからの信号を送受信するためのアンテナを接続する。記憶部１２には、掃除機２０を目標まで誘導するための掃除機２０を制御するための専用アプリケーションプログラム１２１（以下、専用アプリ１２１という）が格納される。
【００２１】
端末１０は、表示部１３と操作部１４の一部を、これらを一体的に構成した入出力装置であるタッチパネル１８Ａとして備える。表示部１３には、ＬＣＤ（Liquid  Crystal  Displayの略）ディスプレイ、有機ＥＬ（electroluminescenceの略）ディスプレイなどを適用することができる。
【００２２】
通信部１５は、有線ＬＡＮ（Local  Area  Network）、ＷｉＦｉ（Wireless  Fidelityの略）、３Ｇ（3rd  Generationの略）、Bluetooth（登録商標）などの通信方式に従う有線または無線の通信処理機能を有する。
【００２３】
図４は、本発明の実施の形態に係る掃除機２０の外観図である。図５は、本発明の実施の形態に係る掃除機２０のハードウェア構成図である。図４と図５を参照し、掃除機２０は、被写体を撮影し画像データを出力するカメラ部２６、他の各部を制御するための制御ユニットであるＣＰＵ２１、時間を計時し時間データをＣＰＵ２１に出力するタイマー２１Ａ、ＳＳＤ、フラッシュメモリ、ＲＯＭ、ＲＡＭなどの記憶媒体を含む記憶部２２、操作用のボタン・キーなどを含みユーザ操作を受付けるための操作部２４、端末１０を含む外部装置と通信するためのアンテナを接続する通信部２５、センサ部３０、自走のための車輪を含む走行部２７Ａ、走行部２７Ａを駆動するモータなどを含む駆動部２７、ランプ，ディスプレイなどの出力部２８、集塵のための掃除ブラシ、吸引部などを含む掃除ユニット２９Ａ、掃除ユニット２９Ａを駆動するモータなどからなる駆動部２９、および充電池などを有する電源部３６を含む。
【００２４】
駆動部２７は、ＣＰＵ２１からの制御信号に基づきモータを回転させて、モータ回転に連動して走行部２７Ａの車輪が回転する。駆動部２７に与えられる制御信号は、車輪の走行方向を切替えるための信号と車輪の回転を制御（回転方向、回転数の制御）するための信号を含む。駆動部２９もＣＰＵ２１からの制御信号に基づきモータを回転し、モータ回転に連動して掃除ユニット２９Ａの掃除ブラシが回転する。
【００２５】
カメラ部２６は、掃除機２０の上方の被写体を撮影する上方カメラ部２６１および掃除機２０の進行方向の被写体を撮影する前方カメラ部２６２を含む。これらカメラ部はＣＣＤカメラを含む。
【００２６】
センサ部３０は、掃除機２０の走行方向を検出するための走行方向検出部３１、壁などの障害物を検出するための障害物検出部３２、および走行距離を検出するための走行距離検出部３３を含む。
【００２７】
走行方向検出部３１は、ジャイロセンサであり、掃除機２０の走行方向（進行方向）、すなわち前方カメラ部２６２が向いている方向を検出する。ジャイロセンサは、掃除機２０が走行方向を変えようとする時、走行方向を変更する直前の走行方向に対し掃除機２０の転向した角度を検出する。転向した角度は、回転角度データΔθとして出力されるとする。
【００２８】
走行距離検出部３３は、車輪の回転数をエンコーダ等を用いて検出し、検出回転数と車輪のサイズから掃除機２０の単位時間あたりの走行距離を算出する。
【００２９】
障害物検出部３２は、掃除機２０の本体部の外周面に沿って配置された、赤外線を出射する発光素子と、反射されてきた赤外線を受光する受光素子との対を複数含む。出射した赤外線が受光されるときは、出射した方向に障害物有りと検出し、受光できないときは障害物なしと検出する。出射時間および受光時間、ならびに赤外線の速度（伝搬速度）から掃除機２０と障害物または壁との距離を測定することができる。なお、赤外線に代替して超音波を用いてもよい。
【００３０】
＜機能構成＞
図６は、本発明の実施の形態に係る端末１０の機能構成図である。図６を参照して、端末１０のＣＰＵ１１は、カメラ部１１Ｂが撮影したプレビュー映像を処理するための映像処理部１１１、表示部１３などで情報を表示することによりユーザに報知するための報知部１１２、およびリクエスト部１１３を備える。これら機能は、専用アプリ１２１により、または専用アプリ１２１と回路の組合わせにより実現される。
【００３１】
図７は、本発明の実施の形態に係る掃除機２０の機能構成図である。図７を参照して掃除機２０のＣＰＵ２１は、特徴点マップ４１を作成するための特徴点マップ作成部５０、映像を処理するための映像処理部５１、地図データ４２を作成するための地図作成部６０、および掃除機２０が走行する経路を算出することで走行経路を生成するための経路算出部７０を備える。
【００３２】
映像処理部５１は、映像から特徴点画像（以下、単に特徴点ともいう）を抽出する特徴点抽出部５２、抽出した特徴点画像と、予め定められた画像とをマッチング処理（照合処理）するための特徴点マッチング部５３、位置検出部５４、自己映像検出部５５、および端末１０を携帯するユーザの方向を検出するユーザ方向検出部５６を含む。図７では、これら各部に関連する周辺部として前方カメラ部２６２、通信部２５、記憶部２２およびセンサ部３０が示される。記憶部２２には、特徴点マップ作成部５０により作成された特徴点マップデータ（以下、特徴点マップという）４１および地図作成部６０により作成された地図データ４２が格納される。
【００３３】
（移動の軌跡）
ＣＰＵ２１は、掃除機２０が走行する場合に移動の軌跡を算出することにより、軌跡データを出力する。具体的には、走行距離検出部３３から出力される距離データΔｌと走行方向検出部３１から出力される回転角度データΔθに基づいて、距離データΔｌのＸ方向成分Δｘ（＝Δｌ×ｃｏｓθ）とＹ方向成分Δｙ（＝Δｌ×ｓｉｎθ）を算出する。たとえば、Ｘ方向に延びるＸ軸を想定すると、Ｙ方向はＸ軸と直交するＹ軸が延びる方向を示す。Ｘ方向は東西方向であり、Ｙ方向は南北方向であるとしてもよい。
【００３４】
そして、ＣＰＵ２１は、直前の算出された位置データ（Ｐｘ′，Ｐｙ′）に対して算出したＸ方向成分ΔｘとＹ方向成分Δｙとを加算することにより、現在位置データ（Ｐｘｃ′，Ｐｙｃ′）を算出し、記憶部２２の予め定められた領域に格納する。このように、ＣＰＵ２１は、掃除機２０が予め定められた距離だけ移動するごとに現在の位置データを算出する処理を繰返すことで得られる時系列の位置データから、掃除機２０の走行軌跡を算出することができる。算出した走行軌跡は、記憶部２２に格納される。
【００３５】
（地図の作成）
掃除機２０は、部屋を掃除するに際し、予め部屋の地図データ４２を作成するが、自走掃除機のための地図データの作成方法は公知であるので、ここでは簡単に説明する。図８は本発明の実施の形態に係る地図データ作成方法を説明する図である。
【００３６】
図８は部屋の平面図を表し、部屋内には、予め定められた位置に複数の障害物（テレビ、机、家具など）が載置されている。平面図はＸ軸と、これと直交するＹ軸で規定される２次元平面を示す。また、部屋内の予め定められた位置、たとえばＸ軸とＹ軸が交わる基準位置には、電源部３６を充電するための充電器（図示せず）が配置されており、掃除機２０は掃除しないとき、または掃除が終了すると基準位置にまで移動して充電器によって充電されると想定する。より具体的には、ＣＰＵ２１は、掃除作業が完了したか、または充電を必要とする場合には、掃除機２０が地図データ４２に基づき、基準位置に戻すための制御信号を生成し、駆動部２７に出力する。
【００３７】
基準位置において掃除機２０は電源がＯＮにされるか、または地図作成の指示が与えられると、走行を開始し図８（Ａ）の矢印の方向に移動を始める。移動を始めた掃除機２０は、図８（Ｂ）に示すように，掃除機２０に対し左手の壁（障害物）から予め定められた距離（例えば、１５ｃｍ）を保つように壁沿いに部屋内を一周する。予め定められた距離は、障害物検出部３２の出力から取得することができる。
【００３８】
一周する間に上述の走行軌跡が算出される。部屋内を一周したかどうかは走行軌跡から判断することができる。この際、地図作成部６０は、走行に伴い時系列に算出される位置データ（Ｐｘｃ′，Ｐｙｃ′）と、障害物検出部３２の出力とから検出した部屋内の壁と障害物の位置をもとに、部屋の地図データ４２を作成する。
【００３９】
具体的には、地図データ４２は、掃除する部屋をＸ軸およびこれに直交するＹ軸により規定される２次元座標平面であって、壁および障害物により走行が妨げられた領域と、走行が可能であった領域とを含む。基準位置を座標（０，０）と、基準位置からの掃除機２０の走行軌跡が示す位置データ（Ｐｘｃ′，Ｐｙｃ′）を所定の演算式を用いて、当該２次元座標データ（Ｐｘ，Ｐｙ）に換算することで、壁および障害物により走行が妨げられた領域と、走行が可能であった領域の座標データを取得できる。取得した座標データから地図データ４２を作成し、記憶部２２に格納する。以降は、掃除機２０のＣＰＵ２１は、地図データ４２に従って駆動部２７に制御信号を出力することにより、自走式掃除が可能になる。
【００４０】
なお、地図データ４２の作成方法は、ここで示した方法に限定されない。
（特徴点マップの作成）
図９は、本発明の実施の形態に係る特徴点マップ４１の一例を示す図である。特徴点マップ４１は、１つ以上のレコードを含み、各レコードは、特徴点データ４１１、画像データ４１２、位置データ４１３および撮影時の向きデータ４１４を含む。位置データ４１３は、対応する画像データ４１２の画像の略中央の座標位置を示すものとする。
【００４１】
特徴点マップ作成部５０は、掃除機２０が地図データ４２に従い走行中において特徴点マップ４１を作成する。基準位置に待機する掃除機２０に特徴点マップ４１作成指示が与えられると、掃除機２０は地図データ４２の作成時と同様に基準位置から走行を開始する。走行開始と同時に、前方カメラ部２６２による撮影が開始する。
【００４２】
掃除機２０が基準位置（座標（０，０））から走行を開始してから、特徴点マップ作成部５０は、センサ部３０の出力から、基準位置からのＸおよびＹ方向についての移動距離および移動方向を検出し、検出した移動方向および移動距離から、所定演算式を用いて、地図上の現在位置の座標データ（Ｐｘ，Ｐｙ）を算出する。
【００４３】
映像処理部５１は、走行中に前方カメラ部２６２から出力されるプレビュー映像を入力する。ここで、“プレビュー映像”とは、カメラにより被写体を撮影して得られる動画画像を示す。プレビュー映像は時系列の複数枚のフレーム画像からなり、１フレーム画像はたとえば（１／６０）秒の画像である。
【００４４】
映像処理部５１は、前方カメラ部２６２が出力するプレビュー映像から、同期信号などに基づき１フレーム単位の画像データ（以下、画像データと称する）に分離して時系列の順番に従って出力する。特徴点抽出部５２は、分離される画像データを入力し、入力画像データをエッジ処理（輪郭抽出）することにより、当該画像データから家具または家電の部分画像データを抽出する。ここでは、記憶部２２には、予め家具または家電の名称データと、当該名称データに関連付けて当該家具または家電の画像データが格納されていると想定する。
【００４５】
特徴点抽出部５２は、抽出した部分画像データと予め記憶部２２に格納された上述の家具または家電の画像データとをパターンマッチングなどマッチング処理することにより、両画像の類似度を算出し、算出した類似度に基づき、当該抽出部分画像データが家具または家電を表すかを判定する。家具または家電を表すと判定すると、判定された画像データに関連付けされた記憶部２２の名称データを読出す。特徴点抽出部５２は、家具または家電を表すと判定された抽出画像データと、読出された名称データと、当該画像データが撮影されたときに検出された座標データ（Ｐｘ，Ｐｙ）および撮影方向とを、特徴点データ４１１、画像データ４１２、位置データ４１３および撮影時の向きデータ４１４として格納するレコードを生成し、当該レコードを特徴点マップ４１に登録する。なお、撮影時の向きデータ４１４は、掃除機２０の走行方向に一致し、走行方向検出部３１の出力から検出される。
【００４６】
なお、図９では、特徴点データ４１１が“その他”に分類されるものは、家具や家電と認識されなかったものを示す。
【００４７】
ここでは、特徴点マップ４１と地図データ４２とは個別に作成したが、地図データ４２の作成時に、特徴点マップ４１を作成するとしてもよい。
【００４８】
（ユーザ方向の検出）
本実施の形態では、ユーザは掃除機２０を所望する目標位置にまで誘導するために、携帯する端末１０のカメラ部１１Ｂで撮像視野に入るように掃除機２０を撮影する。撮影したプレビュー映像は、通信部１５から掃除機２０に送信される。掃除機２０は、通信部２５から当該プレビュー映像を受信する。
【００４９】
映像処理部５１は、受信するプレビュー映像を上述のようにフレーム単位の時系列の画像データに分離し、時系列の順番に従って自己映像検出部５５とユーザ方向検出部５６に出力する。
【００５０】
自己映像検出部５５は、映像処理部５１が出力する画像データを時系列順に入力し、入力する各画像データにおいてパターンマッチング等のマッチング処理により掃除機２０を表す部分画像（以下、掃除機画像という）を検出（抽出）する。ユーザ方向検出部５６は掃除機２０から見たユーザの位置する方向（以下、ユーザ方向ともいう）を検出する。このユーザ方向検出処理は、自己映像検出部５５が掃除機画像をフレーム画像内で検出した場合（フレームインの場合）と、検出できない場合（フレームアウトの場合）とでは異なる。これを以下に説明する。
【００５１】
・フレームインの場合
ユーザ方向検出部５６は、自己映像検出部５５が抽出する掃除機画像と、予め定められた画像（掃除機２０の左・右側面の特徴、前・後面の特徴などを示す画像）とをパターンマッチング等のマッチング処理を施し、処理結果、得られる画像の類似度から、掃除機画像は掃除機２０をいずれの方向から撮影した画像であるか、すなわち左・右側面の画像および前・後面の画像のいずれを示すかを判定する。そして、この掃除機２０からみて掃除機２０が撮影されている方向を示す判定結果（左、右、前、後のいずれか）と走行方向検出部３１の出力が示す掃除機２０の走行方向とから、掃除機２０に対する端末１０のカメラ部１１Ｂの方向、すなわちユーザ方向を検出する。
【００５２】
具体的には、記憶部２２には、掃除機２０の走行方向と上記の“左、右、前、後”のいずれかを含む複数の組のデータと、当該複数の組それぞれに対応し、当該組のデータが検出される場合にユーザが位置する方向を示すデータとを登録したテーブル（図示せず）が予め格納される。ユーザ方向検出部５６は、判定結果（左、右、前、後のいずれか）と走行方向検出部３１の出力が示す掃除機２０の走行方向とに基づき、当該テーブルを検索することにより、対応するユーザが位置する方向のデータを読出す。これによりユーザ方向が検出される。当該テーブルのデータは、実験などにより予め取得されると想定する。
【００５３】
上述のようにユーザ方向が検出されると、ＣＰＵ２１は、走行方向検出部３１が検出する現在の走行方向と検出したユーザ方向とに基づき、ユーザ方向に走行させるための制御信号を生成し、駆動部２７に出力する。駆動部２７のモータは制御信号に従って回転し、モータ回転に連動して走行部２７Ａの車輪が回転する。これにより、掃除機２０は、ユーザ方向に走行する。
【００５４】
なお、ユーザ方向の検出方法は、上述のテーブルを用いる方法に限定されない。
・フレームアウトの場合
掃除機画像がフレームアウトする場合には、掃除機画像がフレームアウトするときの画像の移動方向と移動距離を用いてユーザ方向を検出する。
【００５５】
ユーザ方向検出部５６は、ベクトルデータを用いて移動方向と移動距離を検出する。つまり、前後のフレーム画像を比較してベクトルデータ（以下、動きベクトルという）を抽出し、抽出した動きベクトルから、掃除機画像がどの方向へどの程度（距離）動いているかを検出する。この動きベクトルを用いた画像の移動方向と移動距離の検出は公知であり、説明は繰り返さない。
【００５６】
ユーザ方向検出部５６は、フレームイン時に検出する動きベクトルに基づく掃除機画像の移動の軌跡から掃除機画像がフレームアウトするタイミング（時間）を、タイマー２１Ａの時間データから検出する。
【００５７】
ユーザ方向検出部５６はフレームアウトのタイミング以降において、端末１０のカメラ部１１Ｂが、より特定的にはカメラ部１１Ｂのレンズが「どの方向に」「どれぐらい移動」するかを検出する。この検出により、ユーザ方向を検出することができる。
【００５８】
具体的には、掃除機画像がフレームアウトした後もプレビュー映像から抽出する画面データに写っている（掃除機以外の）位置固定の物体の画像（物体画像という）の動きベクトルを検出し、検出した動きベクトルから、当該物体画像の移動方向および移動距離を算出する。この算出方法は、公知の方法であるから説明は繰り返さない。なお、「移動距離」に関しては、フレームアウト時に走行方向検出部３１が検出する走行方向を基準にして（基準方向という）、基準方向から右向きにｘｘメートル移動、さらにｙｙメートル左向きに移動、とうように移動方向と移動距離を計算する。この計算では、画像上で当該移動距離がｑｑミリメートル延びると、実際にはｓｓメートル動いているという換算が行われ、当該換算係数は予め記憶されていると想定する。
【００５９】
上述のように端末１０のカメラ部１１Ｂの「移動方向」と「移動距離」が検出できるので、ＣＰＵ２１は、検出した移動方向および移動距離に基づく制御信号を生成し駆動部２７に出力することで、走行部２７Ａは「移動方向」に「移動距離」だけ走行し、掃除機２０は、ユーザ方向に移動することができる。
【００６０】
なお、プレビュー映像上で軌跡を検出できない場合は、たとえば適当な物体画像を特定できなかった場合などには、端末１０の加速度センサ（図示せず）の検出情報を併せて利用すればカメラ部１１Ｂの「移動方向」の判定と「移動距離」の検出は可能である。
【００６１】
＜処理フローチャート＞
図１０は、本発明の実施の形態に係る掃除機２０の電源ＯＮから待機状態までの処理を示すフローチャートである。図１１〜図１３は、本発明の実施の形態に係る掃除機２０の待機状態から掃除するまでの処理フローチャートである。図１４〜図２１は、図１０〜図１３の処理を説明するための図である。図１０〜図１３に従うプログラムは予め記憶部２２に格納されており、ＣＰＵ２１が記憶部２２からプログラムを読出すことにより処理が実現される。
【００６２】
図１０を参照して、特徴点マップ４１を作成・更新する処理を説明する。なお、地図データ４２は、特徴点マップ４１の作成・更新に先だって、作成・更新されて記憶部２２に格納されていると想定する。図１４には、特徴点マップ４１を作成・更新する場合の部屋内の状態が模式的に示される。
【００６３】
図１４では、端末１０を携帯したユーザと、部屋内に配置されている机、テレビなどの特徴点と、掃除機２０とが示される。掃除機２０は基準位置から、矢印方向に移動を開始する。
【００６４】
図１０を参照し、掃除機２０が電源ＯＮされると、ＣＰＵ２１は、記憶部２２を検索し、特徴点マップ４１が格納されているか否か、すなわち特徴点マップ４１が作成済みであるか否かを判定する（ステップＳ３）。作成済みでないと判定すると（ステップＳ３でＮＯ）、掃除の際に特徴点マップ４１を作成する処理（ステップＳ９）に移行する。
【００６５】
たとえば掃除ユニット２９Ａで掃除しながら、特徴点マップ作成部５０は、前述したように特徴点マップ４１を作成し（ステップＳ９）、作成した特徴点マップ４１を記憶部２２に格納する（ステップＳ１１）。このとき、記憶部２２に既に格納されていた特徴点マップ４１は、ステップＳ９で作成された最新の特徴点マップ４１により更新（アップデート）される（ステップＳ１１）。その後、掃除機２０は待機状態となる。
【００６６】
ステップＳ３に戻り、特徴点マップ４１が作成済みと判定されると（ステップＳ３でＹＥＳ）、ＣＰＵ２１は、記憶部２２に格納されている特徴点マップ４１が格納された時間（作成された時間）を示す時間データと、タイマー２１Ａからの時間データとを比較し、記憶部２２の特徴点マップ４１が作成されてから２４時間経過しているか否かを判定する（ステップＳ５）。なお、特徴点マップ４１が格納された時間（作成された時間）を示す時間データは、記憶部２２に格納されていると想定する。
【００６７】
２４時間経過していると判定すると（ステップＳ５でＹＥＳ）、前述した特徴点マップ４１を作成し（ステップＳ９）、作成した特徴点マップ４１を記憶部２２に格納する（ステップＳ１１）。このとき、記憶部２２の２４時間前の特徴点マップ４１は、ステップＳ９で作成された最新の特徴点マップ４１により更新（アップデート）されて、待機状態に移行する。
【００６８】
一方、２４時間経過していないと判定すると（ステップＳ５でＮＯ）、ＣＰＵ２１は、駆動部２９が出力する掃除ユニット２９Ａへの駆動信号（電圧信号など）を検出し、検出した制御信号に基づき現在、掃除機２０により掃除中であるか否かを判定する（ステップＳ７）。
【００６９】
掃除中でないと判定すると（ステップＳ７でＮＯ）、掃除機２０は待機状態へ移行するが、掃除中であると判定すると（ステップＳ７でＹＥＳ）、特徴点マップ４１を作成するために、ステップＳ９の処理に移行する。
【００７０】
このように、本実施の形態では、特徴点マップ４１は掃除機２０により部屋の掃除がされる毎に作成されて記憶部２２に格納される。また、特徴点マップ４１が作成されてから２４時間たっていれば、新たな特徴点マップ４１が作成されて記憶部２２に格納される。これにより、特徴点マップ４１を部屋の模様替え（家具などのレイアウト変更）があったとしても、それに対応した特徴点マップ４１を得ることができる。
【００７１】
なお、ここでは特徴点マップ作成部５０が特徴点マップ４１を取得するマップ取得部に相当するが、マップ取得部は、図示しないホームサーバが特徴点マップ４１を作成し、作成した特徴点マップ４１をホームサーバから受信し記憶部２２に格納する機能であってもよい。
【００７２】
次に、図１１〜図１３を参照し、掃除機２０が基準位置での待機状態から、移動を開始し掃除するまでの処理について説明する。なお、掃除機２０が基準位置（座標（０，０））から走行を開始すると、ＣＰＵ２１の位置検出部５４は自己位置検出機能として、センサ部３０の出力から、基準位置からのＸおよびＹ方向についての移動距離および移動方向を検出し、検出した移動方向および移動距離から、所定演算式を用いて、地図上の掃除機２０の現在位置の座標データ（Ｐｘ，Ｐｙ）を算出する。この算出は、走行中において定期的に繰返し実行されて、現在位置データ（座標データ（Ｐｘ，Ｐｙ））が算出される毎に、当該現在位置データは記憶部２２に格納される。
【００７３】
ユーザは、掃除機２０を部屋内のゴミまで移動させて、ゴミを除去（清掃）させることを希望した場合に（図１５参照）、端末１０では、ＣＰＵ１１は記憶部１２の専用アプリ１２１を読出し起動する。起動後は、ＣＰＵ１１は専用アプリ１２１を実行開始する。開始されると映像処理部１１１はカメラ部１１Ｂを電源ＯＮし、撮影を開始させる。ここでは、ゴミとユーザの位置は接近しており、ユーザ方向は略ゴミ方向であるとする。
【００７４】
ユーザはカメラ部１１Ｂの視野内にゴミが入るように撮影し、撮影されたプレビュー映像は映像処理部１１１により表示部１３に表示される。ユーザは、表示部１３のプレビュー画面１３１（図１５参照）上で、ゴミの画像を手書き線などで囲み操作した後に、画面に表示されているアイコン１３２の掃除ボタンのアイコンを操作する。
【００７５】
アイコン操作により、ＣＰＵ１１には上述の掃除リクエストが入力されて、リクエスト部１１３は掃除リクエストを、通信部１５を介し掃除機２０に送信する。また掃除リクエスト送信時には、ゴミの場所を掃除機２０に通知するために、端末１０で表示中の手書き線入りのプレビュー映像は掃除機２０に送信される。
【００７６】
掃除機２０の通信部２５は掃除リクエストとプレビュー映像を受信し、受信した掃除リクエストをＣＰＵ２１に出力する。なお、端末１０と掃除機２０とは、ＩＲ通信部１８を用いた赤外線通信により掃除リクエストを送受信するとしてもよい。
【００７７】
ＣＰＵ２１は、掃除リクエストを入力するか否かを判定する（ステップＳ２１）。掃除リクエストを入力しないと判定すると（ステップＳ２１でＮＯ）、待機状態を継続するが、掃除リクエストを入力したと判定すると（ステップ２１でＹＥＳ）、ステップＳ２３に移行する。
【００７８】
なお、ユーザは、掃除機２０の操作部２４を操作して、掃除リクエストをＣＰＵ２１に対し入力するとしてもよい。
【００７９】
特徴点抽出部５２は、端末１０からのプレビュー映像のフレーム単位の画像データからエッジ抽出で得た画像データ（以下、部分画像データという）と、特徴点マップ４１の各レコードの画像データ４１２とをマッチング処理する（ステップＳ２３）。
【００８０】
このとき掃除リスクエストとともに受信するプレビュー映像には、特徴点（家具、テレビなど）が写っていないので、掃除機２０はゴミの場所を特定することができない。掃除機２０のＣＰＵ２１は端末１０に、マッチング処理の結果、特徴点マップ４１の特徴点を検出できなかったことから、“特徴点が見つからなかった旨”を通知する。報知部１１２は、表示部１３から、ユーザに特徴点をプレビュー映像で提供するように促すための報知をする。このとき、掃除機２０のＣＰＵ２１は掃除機２０側で把握している特徴点、すなわち特徴点マップ４１の特徴点データ４１１および画像データ４１２を読出し、端末１０に送信する。端末１０のＣＰＵ１１は掃除機２０からのデータを受信し、表示部１３にリスト形式（図２２を参照）で表示する。
【００８１】
ユーザはゴミ近辺の特徴点として、図２２のリストから特徴点を確認し、確認した特徴点（机、テレビなど）をカメラ部１１Ｂで撮影し、端末１０はプレビュー映像を掃除機２０に送信する。
【００８２】
図１６のように、プレビュー映像はゴミ→机→テレビに移動するように撮影されたものであり、掃除機２０が机やテレビを、特徴点マップ４１との画像マッチング処理により特徴点として検出した場合に、検出した特徴点から逆向きにゴミまでの経路を確立できるようにするための映像である。
【００８３】
特徴点の撮影はゴミから特徴点までのルートが含まれていればよく、ゴミ→テレビの順番に撮影してもいい。
【００８４】
掃除機２０の特徴点抽出部５２および特徴点マッチング部５３は、端末１０から受信する映像のフレーム画像からエッジ処理により特徴点を抽出する（ステップＳ２３）。
【００８５】
特徴点を抽出できないと判定すると（ステップＳ２５でＮＯ）、端末１０に対し、再度撮影の旨を通知し（ステップＳ２７）、端末１０のユーザは特徴点を再度、撮影し（ステップＳ２３）、プレビュー映像は掃除機２０に送信される。
【００８６】
受信映像から特徴点が抽出できたと判定すると（ステップＳ２５でＹＥＳ）、抽出した特徴点の画像データとマップ４１に登録の画像データ４１２をマッチング処理し、その結果に基づき特徴点マップ４１に未登録の新規の特徴点であるかを判定する（ステップＳ２９）。特徴点マップ４１に未登録の新規特徴点と判定すると（ステップＳ２９でＹＥＳ）、当該特徴点の画像データを、画像データ４１２として特徴点マップ４１に追加登録し（ステップＳ３１）、後述のステップＳ４１に移行する。
【００８７】
新規特徴点に対応の特徴点データ４１１として“その他”を登録する。また、対応の位置データ４１３と撮影時の向きデータ４１４は“空データ”ＮＵＬＬを登録する。
【００８８】
新規特徴点ではないと判定すると（ステップＳ２９でＮＯ）、すなわちマッチング処理結果が示す画像の類似度から、特徴点マップ４１に登録された特徴点であると判定すると、図１２のステップＳ４１に移行する。
【００８９】
図１２を参照して、経路算出部７０は、特徴点からゴミまでの経路を算出し、その結果から、経路を生成する（ステップＳ４１）。端末１０からのプレビュー映像が、ゴミ→机→テレビ→掃除機の順番で受信するときは、掃除機２０は特徴点経由でゴミまでの経路を生成することができる。掃除機２０がゴミまで移動するための経路としては、たとえば（１）掃除機の位置→テレビ→机→ゴミ、（２）掃除機の位置→机→ゴミの２通りがあるとする。
【００９０】
経路算出部７０は、記憶部２２に格納されている掃除機２０の現在位置データと、特徴点マップ４１の各特徴点の位置データ４１３から、掃除機の現在位置と各特徴点の距離、および特徴点間の距離（座標間距離）を算出する。
【００９１】
算出した距離から、経路（１）と（２）のそれぞれについて、掃除機２０の現在位置からゴミに至るまでの距離を算出する。なお、“ゴミ”の位置は、たとえば経路（１）の場合には、直前に撮影された特徴点（机）からの方向と距離で示される。具体的には、フレーム画像と当該ゴミのフレーム画像（手書き囲み線が描画された画像）間の動きベクトルが示す画像の移動方向と移動距離から、当該ゴミの直前に撮影された特徴点（机）からの方向と距離を算出する。算出結果から、“ゴミ”の座標位置を取得できる。ゴミの位置を示すデータは記憶部２２に格納される。なお、ゴミの座標位置は、手書き囲み線内の略中央位置としている。
【００９２】
経路算出部７０は経路（１）については“掃除機の位置→テレビ→机→ゴミ”の距離を算出し、経路（２）については“掃除機の位置→机→ゴミ”の距離を算出する。算出結果、ＣＰＵ２１は経路（１）よりも経路（２）の方が、距離は短いと判定すると、経路（２）の方を選択する。この経路選択により、ゴミに至るまでの経路が特定される。
【００９３】
ＣＰＵ２１は、上記の処理によりゴミまでの経路が特定できたか否かを判定する（ステップＳ４３）。経路が特定できた場合には（ステップＳ４３でＹＥＳ）、経路が特定できたことを端末１０に通知し、ＣＰＵ１１は通知を表示部１３に表示する。これにより、ユーザに経路特定に成功したことが報知される。
【００９４】
掃除機２０のＣＰＵ２１は特定した経路中の各特徴点の位置データ４１３および撮影時向きデータ４１４に従う制御信号を生成し駆動部２７に出力する。これにより、走行部２７Ａの車輪は回転し、掃除機２０は各特徴点を経由しながらゴミに向かって走行する（ステップＳ４５）。
【００９５】
走行中において、ＣＰＵ２１は記憶部２２の掃除機２０の現在位置データと上述の取得したゴミの位置データとを比較し、比較結果に基づき、掃除機２０がゴミの位置に到着したか否を判定する（ステップＳ４７）。比較結果、掃除機２０の現在位置はゴミの位置と一致しない、すなわちゴミに到着していないと判定される間（ステップＳ４７でＮＯ）は、ステップＳ４５の処理に戻り、ステップＳ４５とステップＳ４７の処理が繰返される。比較結果、掃除機２０の現在位置はゴミの位置と一致する、すなわちゴミの位置に到着したと判定されると（ステップＳ４７でＹＥＳ）、掃除ユニット２９Ａにより掃除が実行されて（ステップＳ４９）、その後掃除完了の通知が端末１０に送信される（図１３のステップＳ８１参照）。端末１０のＣＰＵ１１は、受信した通知を表示部１３に表示する。これにより、ユーザは掃除完了を確認できる。これは、掃除機２０が待機時の位置からゴミ位置まで直行するケース（図１７参照）である。
【００９６】
ここでは、掃除機２０がゴミの位置に到着したかの判定基準は、掃除機２０の現在位置がゴミ位置との一致であったが、これに限定されず、掃除機２０の現在位置がゴミの位置を含む所定範囲の位置を示すか否かを判定基準としてもよい。
【００９７】
その後、掃除は終了し、掃除機２０は基準点まで戻るように走行を開始し、基準点に到着すると充電器により充電される。
【００９８】
一方、ゴミまでの経路が特定できないと判定されると（ステップＳ４３でＮＯ）、以下の処理を実行する。なお、ゴミから特徴点までのプレビュー映像による画像の移動が複雑、または移動距離が長いなどの場合には、プレビュー映像の解析に失敗し、テレビまたは机などの特徴点を特定できても、ゴミの位置を特定できない場合がある。その場合には、経路を特定できないと判定される。
【００９９】
ＣＰＵ２１は、端末１０に経路を特定できない旨を通知する。端末１０のＣＰＵ１１は受信した通知を表示部１３に表示し、ユーザに経路が特定できない旨を報知する。
【０１００】
掃除機２０のＣＰＵ２１は、テレビおよび机のうちのどちらの特徴点がゴミに近いのか判定することができないため、机かテレビいずれかの特徴点まで走行させるための制御信号を駆動部２７に出力する。これにより、掃除機２０は、図１８のように、現在位置から当該特徴点まで移動する（ステップＳ５１）。なお、走行を開始し、どの特徴点にまで移動するかは、受信したプレビュー映像の最初に写っている特徴点であると決定してよく、または、他のアルゴリズムに従って決定してもよい。当該特徴点までの移動時に、ステップＳ５１では、ＣＰＵ２１は端末１０に特徴点までの経路が確定した旨を通知し、報知部１１２は表示部１３に通知を表示し、ユーザに特徴点までの経路が確定した旨を報知する。
【０１０１】
走行中において、ＣＰＵ２１は掃除機２０の現在位置データと特徴点の位置データ（特徴点マップ４１の位置データ４１３）とを比較し、比較結果に基づき、当該特徴点の位置に到着したか否を判定する（ステップＳ５３）。比較結果、掃除機２０の現在位置は当該特徴点の位置と一致する、すなわち特徴点の位置に到着したと判定されると（ステップＳ５３でＹＥＳ）、ＣＰＵ２１は駆動部２７に停止の制御信号を出力する。これにより走行部２７Ａの車輪は停止し、掃除機２０は当該特徴点の位置で停止して待機状態となる（ステップＳ５５）。
【０１０２】
待機状態において、ＣＰＵ２１は、端末１０からユーザ撮影のプレビュー映像を受信する。ＣＰＵ２１は、自己映像検出部５５の出力に基づき、受信するプレビュー映像において掃除機画像がフレームインしているか否かを判定する（ステップＳ５７）。フレームインしていないと判定すると（ステップＳ５７でＮＯ）、ステップＳ５５に戻るが、フレームインしていると判定すると（ステップＳ５７でＹＥＳ）、ユーザ方向検出部５６は、上述したフレームインの場合におけるユーザ方向検出処理により、ユーザ方向を検出する。
【０１０３】
ＣＰＵ２１は、検出したユーザ方向から制御信号を生成し駆動部２７に出力する。これにより、走行部２７Ａの車輪は回転を開始し、掃除機２０は待機状態から移動を開始し、ユーザ方向に走行する（ステップＳ６１）。その後、ステップＳ７１に移行する。
【０１０４】
ステップＳ５３に戻り、上記の比較結果、掃除機２０の現在位置は当該特徴点の位置と一致しない、すなわち特徴点の位置にまで到着していないと判定されると（ステップＳ５３でＮＯ）、ＣＰＵ２１は、自己映像検出部５５の出力に基づき、受信するプレビュー映像において掃除機画像がフレームインしているか否かを判定する（ステップＳ５９）。フレームインしていないと判定すると（ステップＳ５９でＮＯ）、ステップＳ５１に戻るが、フレームインしていると判定すると（ステップＳ５９でＹＥＳ）、ステップＳ６１に移行し、上述のようにユーザ方向を検出し、掃除機２０の現在位置からユーザ方向に移動を開始する。
【０１０５】
この移動ケースが図１９に模式的に示される。掃除機２０が、最終のゴミ位置までの移動途中である場合に、または途中の特徴点までは到達したが待機状態である場合には、ユーザはカメラ部１１Ｂで掃除機２０を撮影し、そのプレビュー映像を掃除機２０に送信することで、掃除機２０にユーザ方向を特定させて、特定したユーザ方向に移動を開始させることができる。これは、移動を開始したもののゴミの位置を特定できずにその後迷ってしまい待機状態になった場合などに有効である。
【０１０６】
図１３を参照して、ＣＰＵ２１は、端末１０から受信するプレビュー映像から掃除機２０がフレームアウトしたかどうかを、自己映像検出部５５の出力から判定する（ステップＳ７１）。フレームアウトしていないと判定すると（ステップＳ７１でＮＯ）、ステップＳ７５に移る。
【０１０７】
一方、フレームアウトしたと判定すると（ステップＳ７１でＹＥＳ）、ユーザ方向検出部５６は上述のフレームアウト時のユーザ方向を検出する。ＣＰＵ２１は、検出されるユーザ方向に移動するように、制御信号を生成し駆動部２７に出力する。これにより、掃除機２７は現在位置からユーザ方向に移動を開始する（ステップＳ７３）。この移動により、フレームアウト後の掃除機画像のフレームインが検出される。
【０１０８】
図２０を参照し、フレームアウト後のフレームインを説明する。ユーザがカメラ部１１Ｂで掃除機２０を撮影すると、掃除機画像のフレームインが検出されて、掃除機２０はユーザ方向を検出し、ユーザに向かって移動する。ここで、表示部１３を確認しながらずっとプレビュー画面１３１内に掃除機２０が写ったままの状態をキープしてゴミ位置まで誘導する操作は、ユーザに負担がかかり実際には難しい。
【０１０９】
そこで、図２０のプレビュー画面(a)のように掃除機２０がプレビュー画面からフレームアウトしそうな場合でも、掃除機２０は端末１０からリアルタイムで受信するプレビュー映像から、フレームアウト時のユーザ方向を特定できる。掃除機２０は特定したユーザ方向に移動することで図２０のレビュー画面(b)のように再度、フレームインすることができる。したがって、ユーザが表示部１３のプレビュー画面内で掃除機２０をとらえた後に、カメラ部１１Ｂを掃除機２０から背けるように操作した（カメラ部１１Ｂの視野を、掃除機２０を外すように移動させた）場合でも、掃除機２０をユーザに近づくように移動させることができる。
【０１１０】
その後、掃除機２０の映像処理部５１は、端末１０からのプレビュー映像にゴミの画像が検出されるか否かを判定する。具体的には、受信するプレビュー映像のフレーム画像と、ステップＳ２１の掃除リクエストとともに受信した手書きの囲み線入りの画像とをパターンマッチング処理し、処理結果である画像の類似度に基づき、ゴミがカメラ部１１Ｂで再度、撮影されたか否かを判定する（ステップＳ７５）。
【０１１１】
類似度に基づき、再度、撮影されていないと判定すると（ステップＳ７５でＮＯ）、ステップＳ７７で掃除機２０のＣＰＵ２１は、自己映像検出部５５の出力に基づき、フレームインした状態で移動を継続し（ステップＳ７７）、ステップＳ７５に戻る。
【０１１２】
類似度に基づき、再度、撮影されたと判定すると（ステップＳ７５でＹＥＳ）、判定結果が端末１０に送信される。ＣＰＵ１１は、当該判定結果に基づき、撮影されているゴミの画像にマーカ１３３（図２１参照）を表示する。これにより、ユーザに対し掃除機２０がゴミ位置を確認した旨が報知される。
【０１１３】
掃除機２０では同一フレーム内の掃除機画像から見たゴミ画像の方向と距離を検出する。具体的には、画像を２次元座標平面のビットマップデータとした場合に、映像処理部５１は、画像から抽出した掃除機画像のビットマップデータにおける座標位置と、ゴミ画像のビットマップデータにおける座標位置とから、ビットマップデータ上の両者の距離と掃除機２０から見たゴミの方向を検出することができる。
【０１１４】
ＣＰＵ２１は、検出結果（ビットマップデータ上のゴミまでの距離と方向）、掃除機２０の現在位置および走行方向検出部３１が検出する現在の走行方向から、所定演算式に従って掃除機２０が現在位置からゴミの位置にまで移動するための方向と距離を算出する。算出に代替して、所定のテーブルを検索することで、掃除機２０が現在位置からゴミの位置にまで移動するための方向と距離を取得するとしてもよい。
【０１１５】
ＣＰＵ２１は上記の算出した方向と距離に基づく制御信号を生成し、駆動部２７に出力する。これにより、掃除機２０はゴミの位置まで移動し、移動を終了した時点で掃除ユニット２９Ａにより掃除を開始する。これによりゴミが除去される（ステップＳ７９）。その後、ステップＳ８１に移行し、掃除を完了し、処理を終了する。
【０１１６】
（利用シーン）
上述の実施の形態を利用するケースとして、掃除機２０による部屋のゴミ（お菓子の食べカスなどを落とした場合）の掃除を例示する。
【０１１７】
掃除機２０は普段の掃除時に部屋の特徴点（テレビや机など、位置を特定するために必要となる家電や家具の位置）を前方カメラ部２６２で撮影し、撮影した画像から特徴点マップ４１を生成し、記憶部２２に格納していると想定する。
【０１１８】
ユーザの目の前にゴミが落ちていて、掃除機２０にゴミを掃除させたい場合、ユーザは端末１０を操作して、掃除機２０と通信する専用アプリ１２１を起動する。専用アプリ１２１は、カメラ部１１Ｂで目前のゴミを撮影する。撮影映像が、プレビュー画面１３１で表示され、ユーザがゴミを指などの手書き線で囲むと、その囲み線内の範囲がゴミであるという情報が掃除機２０に送信される。
【０１１９】
掃除機２０のＣＰＵ２１は受信したプレビュー映像を処理する。この映像には、ゴミ位置を特定できる情報、すなわち特徴点が写っていないため、ＣＰＵ２１はゴミ位置を特定することができない。そこで、ＣＰＵ２１は、端末１０に『特徴点追加撮影』の旨を通知する。このとき、図２２のリストが端末１０の表示部１３に表示される。
【０１２０】
ユーザはゴミ位置を特定するための補足の情報として、ゴミ周辺の特徴点である机やテレビをカメラ部１１Ｂで撮影し、そのプレビュー映像を掃除機２０に送信する。この一連の特徴点撮影により、ゴミ→机→テレビの順に移動するプレビュー映像がリアルタイムで掃除機２０に送信される。掃除機２０の経路算出部７０は、プレビュー映像から特徴点としてテレビを検出した場合、テレビの位置は特徴点マップ４１に登録済みであり、また、動きベクトルから、テレビの位置から見たゴミの方向および距離によるゴミの位置を特定できる。このとき、ＣＰＵ２１は、端末１０に『ゴミ位置認識済み』の旨を通知し（図１２のステップＳ４５を参照）、表示部１３には当該通知が表示される。したがって、掃除機２０は、テレビの位置からゴミまで到達し掃除することができる。
【０１２１】
（実施の形態の効果）
本実施の形態によれば、ユーザは、目標（ゴミ）および特徴点（机、テレビなど）のプレビュー映像を撮影するという直感的かつ容易な操作により、ピンポイントで目標の位置にまで掃除機２０を誘導することができる。ユーザは、途中の移動経路を設定する必要がなく利便性に優れる。
【０１２２】
また、ユーザはプレビュー画面１３１を見ながら目標を指定することができるので、従来のように端末１０に表示されるマップ上で位置指定する方式よりも直感的かつ正確に目標の位置をピンポイントで指定することができる。
【０１２３】
また、端末１０はプレビュー映像を掃除機２０に送信し、掃除機２０は受信するプレビュー映像から検出する特徴点の画像データと特徴点マップ４１の画像データ４１２とのマッチング処理の結果から、目標まで移動するための経路を取得し、取得した経路に従い走行する。これにより、端末１０は、掃除機２０が有するマップデータ（特徴点マップ４１、地図データ４２など）を共有する機能、また当該マップデータを処理する機能を備える必要はない。
【０１２４】
[他の実施の形態]
本発明における端末１０が行なう掃除機２０と通信しながら制御するための方法は、専用アプリ１２１のようなプログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて非一時的に記録させて、プログラム製品として提供することもできる。あるいは、図１の記憶部１２などの記録媒体にて非一時的に記録させて、プログラムを提供することもできる。また、通信ネットワークを介したダウンロードによって、プログラムを提供することもできる。たとえば、図１の構成では、記憶媒体１７を用いて当該プログラムをコンピュータである端末１０に供給することができる。ＣＰＵ１１は、メモリドライバ等の外部Ｉ／Ｆ１６を介して記憶媒体１７に格納されたプログラムを読出し実行する、または読出したプログラムを一旦、記憶部１２に格納し、その後、記憶部１２からプログラムを読出し、実行する。また、プログラムは外部装置から通信により供給されるプログラムを、アンテナを介して受信し、ＣＰＵ１１は受信するプログラムを記憶部１２に格納し、その後、記憶部１２からプログラムを読出し、実行する。
【０１２５】
同様に、本発明における掃除機２０が行なう端末１０との通信を含む制御の方法は、プログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて非一時的に記録させて、プログラム製品として提供することもできる。あるいは、図５の記憶部２２などの記録媒体にて非一時的に記録させて、プログラムを提供することもできる。また、通信ネットワークを介したダウンロードによって、プログラムを提供することもできる。たとえば、図４の構成では、図示しない記憶媒体を用いて当該プログラムを、コンピュータ（ＣＰＵ２１）を搭載する掃除機２０に供給することができる。ＣＰＵ２１は、メモリドライバ等の外部Ｉ／Ｆを介して記憶媒体に格納されたプログラムを読出し実行する、または読出したプログラムを一旦、記憶部２２に格納し、その後、記憶部２２からプログラムを読出し、実行する。また、プログラムは、外部装置（端末１０など）から通信により供給されるプログラムであってもよい。その場合には、図５の通信部２５のアンテナを介してプログラムを受信し、ＣＰＵ２１は受信するプログラムを記憶部２２に格納し、その後、記憶部２２からプログラムを読出し、実行する。
【０１２６】
なお、これら提供されるプログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１２７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２８】
１０  端末、２０  掃除機、４１  特徴点マップ、５０  特徴点マップ作成部、５１，１１１  映像処理部、５２  特徴点抽出部、５３  特徴点マッチング部、５４  位置検出部、５５  自己映像検出部、５６  ユーザ方向検出部、６０  地図作成部、７０  経路算出部、１１２  報知部、１１３  リクエスト部、１２１  専用アプリケーションプログラム。
【図１】
2014059737.tif 000003
【図２】
2014059737.tif 000004
【図３】
2014059737.tif 000005
【図４】
2014059737.tif 000006
【図５】
2014059737.tif 000007
【図６】
2014059737.tif 000008
【図７】
2014059737.tif 000009
【図８】
2014059737.tif 000010
【図９】
2014059737.tif 000011
【図１０】
2014059737.tif 000012
【図１１】
2014059737.tif 000013
【図１２】
2014059737.tif 000014
【図１３】
2014059737.tif 000015
【図１４】
2014059737.tif 000016
【図１５】
2014059737.tif 000017
【図１６】
2014059737.tif 000018
【図１７】
2014059737.tif 000019
【図１８】
2014059737.tif 000020
【図１９】
2014059737.tif 000021
【図２０】
2014059737.tif 000022
【図２１】
2014059737.tif 000023
【図２２】
2014059737.tif 000024