(57)【要約】【課題】撮影した対象物との距離を精度良く算出できる自律走行掃除機を提供する。【解決手段】自律走行掃除機１００は、進行方向に直交する面の画像を生成するカメラ２７５と、フロア上に位置する矩形の対象物について、画像中の対象物におけるフロアマップに対応付けられた基準軸に平行な一辺を含む外接矩形を算出し、当該外接矩形の基準軸に平行な一辺と接する画素であって、対象物の最も自律走行掃除機１００に近い箇所に対応する画素の画素位置を算出する画像処理部１１０と、基準軸に直交する方向の最近接画素の画素位置から、対象物までの第１推定距離を算出する距離算出部１２０と、フロアマップに規定された第１仮想軸と、進行方向に対応付けられた第２仮想軸とのなす仮想角度を算出し、算出した仮想角度と、基準軸に平行な方向の最近接画素の画素位置とを用いて、第１推定距離を補正する補正部１４０と、を備える。【選択図】図３
2019144849.tif 000002
【特許請求の範囲】
【請求項１】
フロアを自律的に走行して掃除する自律走行掃除機であって、
前記フロアの間取りを示すフロアマップを記憶するメモリと、
前記フロアに対する前記自律走行掃除機の進行方向を取得する方向取得部と、
前記進行方向に直交する面における複数の画素を含む画像を生成するカメラと、
前記フロア上に位置する矩形の対象物について、前記画像中の前記対象物における前記フロアマップに対応付けられた基準軸に平行な一辺を含む外接矩形を算出し、前記外接矩形の前記基準軸に平行な一辺と接する画素であって、前記進行方向において前記対象物の最も前記自律走行掃除機に近い箇所に対応する画素である最近接画素の画素位置を算出する画像処理部と、
前記画像における前記基準軸に直交する方向の前記最近接画素の画素位置から、前記進行方向における前記自律走行掃除機から前記対象物までの第１推定距離を算出する距離算出部と、
前記フロアマップに規定された前記フロアの所定の一辺に平行な第１仮想軸と、前記進行方向に対応付けられた第２仮想軸とのなす仮想角度を算出し、算出した前記仮想角度と、前記画像における前記基準軸に平行な方向の前記最近接画素の画素位置とを用いて、前記第１推定距離を補正する補正部と、
を備える自律走行掃除機。
【請求項２】
前記補正部は、さらに、
上面視で前記進行方向に直交する方向における前記自律走行掃除機の幅と、前記画像における前記基準軸に平行な方向の前記最近接画素の画素位置とを用いて、前記進行方向と直交する方向において前記対象物の最も前記自律走行掃除機に近い箇所と前記自律走行掃除機との第２推定距離を算出し、算出した第２推定距離を用いて、前記第１推定距離を補正する
請求項１に記載の自律走行掃除機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フロアを自律的に走行して掃除する自律走行掃除機に関する。
【背景技術】
【０００２】
近年、自律的に走行して掃除をしながら、掃除機が備えるカメラからの情報を用いて、自己の動きや周囲との位置関係を元に、自己のいる相対位置を推定して部屋の中のどの位置にいるかを把握し、その情報を元に動作内容を決定する自律走行掃除機が提案されている。
【０００３】
また、カメラが撮影することで生成した画像を画像処理することで、対象物との距離を算出する技術が提案されている（例えば、特許文献１参照）。
【０００４】
特許文献１には、単眼カメラによって得られる画像から、当該単眼カメラの撮影地点から画像に含まれる対象物までの距離を算出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４８３９３３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
自律走行掃除機に搭載されるメモリの容量を削減する、計算時間を短縮する等の目的のために、画像から対象物との距離を算出する方法には、簡便であることが求められる。画像から対象物を抽出する簡便な方法としては、画像中の対象物の外接矩形を算出する方法がある。
【０００７】
画像中の対象物における外接矩形を算出して、当該外接矩形から対象物との距離を算出する場合、対象物を撮影する方向によっては、当該カーペットに最初に接触する点とは異なる点との距離が算出される場合がある。
【０００８】
本発明は、撮影した対象物との距離を精度良く算出できる自律走行掃除機を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一態様に係る自律走行掃除機は、フロアを自律的に走行して掃除する自律走行掃除機であって、前記フロアの間取りを示すフロアマップを記憶するメモリと、前記フロアに対する前記自律走行掃除機の進行方向を取得する方向取得部と、前記進行方向に直交する面における複数の画素を含む画像を生成するカメラと、前記フロア上に位置する矩形の対象物について、前記画像中の前記対象物における前記フロアマップに対応付けられた基準軸に平行な一辺を含む外接矩形を算出し、前記外接矩形の前記基準軸に平行な一辺と接する画素であって、前記進行方向において前記対象物の最も前記自律走行掃除機に近い箇所に対応する画素である最近接画素の画素位置を算出する画像処理部と、前記画像における前記基準軸に直交する方向の前記最近接画素の画素位置から、前記進行方向における前記自律走行掃除機から前記対象物までの第１推定距離を算出する距離算出部と、前記フロアマップに規定された前記フロアの所定の一辺に平行な第１仮想軸と、前記進行方向に対応付けられた第２仮想軸とのなす仮想角度を算出し、算出した前記仮想角度と、前記画像における前記基準軸に平行な方向の前記最近接画素の画素位置とを用いて、前記第１推定距離を補正する補正部と、を備える。
【発明の効果】
【００１０】
本発明によれば、撮影した対象物との距離を精度良く算出できる自律走行掃除機を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態に係る自律走行掃除機の外観を示す上面図である。
【図２】図２は、実施の形態に係る自律走行掃除機の外観を示す底面図である。
【図３】図３は、実施の形態に係る自律走行掃除機の特徴的な機能構成を示すブロック図である。
【図４】図４は、実施の形態に係る自律走行掃除機の動作の一例を説明するためのフローチャートである。
【図５Ａ】図５Ａは、実施の形態に係る自律走行掃除機の動作の一例を示す模式図である。
【図５Ｂ】図５Ｂは、図５Ａに示す実施の形態に係る自律走行掃除機が撮影することで得られる画像の一例を示す図である。
【図６】図６は、画像中心からの画素数に対する対象物との距離の関係の一例を説明するためのグラフである。
【図７】図７は、実施の形態に係る自律走行掃除機が対象物との距離を算出する際に用いるパラメータについて説明するための図である。
【図８Ａ】図８Ａは、実施の形態に係る自律走行掃除機の動作の別の一例を示す模式図である。
【図８Ｂ】図８Ｂは、図８Ａに示す実施の形態に係る自律走行掃除機が撮影することで得られる画像の一例を示す図である。
【図９Ａ】図９Ａは、実施の形態に係る自律走行掃除機が算出する対象物との距離の算出方法を説明するための、自律掃除機が撮影した画像の一例を示す図である。
【図９Ｂ】図９Ｂは、実施の形態に係る自律走行掃除機が算出する対象物との距離の算出方法を説明するための上面図である。
【発明を実施するための形態】
【００１２】
以下では、本発明の実施の形態に係る自律走行掃除機について、図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、いずれも本発明の一具体例を示すものである。したがって、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ及びステップの順序等は、一例であり、本発明を限定する趣旨ではない。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００１３】
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成部材については同じ符号を付している。
【００１４】
また、以下の実施の形態において、方向を示す表現を用いている。例えば、直交する方向とは、完全に直交することを意味するだけでなく、実質的に直交する、すなわち、例えば数％程度の角度の差異を含むことも意味する。他の方向を用いた表現についても同様である。
【００１５】
（実施の形態）
［構成］
まず、実施の形態に係る自律走行掃除機の構成について説明する。
【００１６】
図１は、実施の形態に係る自律走行掃除機１００の外観を示す上面図である。図２は、実施の形態に係る自律走行掃除機１００の外観を示す底面図である。
【００１７】
実施の形態に係る自律走行掃除機１００は、家屋内等のフロア上を自律的に走行し、フロア上のごみを吸引するロボット型の掃除機である。
【００１８】
自律走行掃除機１００は、各種の構成要素が搭載されるボディ２２０と、ボディ２２０を移動させる駆動ユニット２３０と、フロア上に存在するごみを集める掃除ユニット２４０と、ごみをボディ２２０の内部に吸引する吸引ユニット２５０と、駆動ユニット２３０、掃除ユニット２４０及び吸引ユニット２５０を制御する制御ユニット２７０と、カメラ２７５を含む各種センサとを備えている。
【００１９】
ボディ２２０は、駆動ユニット２３０、制御ユニット２７０等を収容する筐体であり、下部に対し上部が取り外し可能な構成となっている。ボディ２２０の外周部にはボディ２２０に対して変位可能なバンパが取り付けられている。また、図２に示すように、ボディ２２０は、ごみをボディ２２０の内部に吸引するための吸込口２２１が設けられている。
【００２０】
駆動ユニット２３０は、制御ユニット２７０からの指示に基づき自律走行掃除機１００を走行させる。本実施の形態においては、駆動ユニット２３０は、ボディ２２０の平面視における幅方向の中心に対して左側及び右側にそれぞれ１つずつ配置されている。なお、駆動ユニット２３０の数は、２つに限られず、１つでもよいし、３つ以上でもよい。
【００２１】
また、駆動ユニット２３０は、フロア上を走行するホイール、ホイールにトルクを与える走行用モータ、及び、走行用モータを収容するハウジングを有する。ホイールは、ボディ２２０の下面に形成される凹部に収容され、ボディ２２０に対して回転できるように取り付けられている。また、駆動ユニット２３０は、自律走行掃除機１００の進行方向を算出するために用いられるオドメトリ情報を検出するためのセンサを有してもよい。本明細書において、自律走行掃除機１００の進行方向（自律走行掃除機１００が進行する方向）とは、実際に進行している方向のみならず、これから進行する方向も意味する。
【００２２】
本実施の形態に係る自律走行掃除機１００の駆動方式は、キャスター２７９を補助輪として備えた対向二輪型であり、２つのホイールの回転を独立して制御することで、直進、後退、左回転、右回転等自律走行掃除機１００を自在に走行させることができる。
【００２３】
掃除ユニット２４０は、吸込口２２１からごみを吸い込ませるためのユニットであり、吸込口２２１内に配置されるメインブラシ、メインブラシを回転させるブラシ駆動モータ等を備えている。
【００２４】
吸引ユニット２５０は、ボディ２２０の内部に配置されており、ファンケース、及び、ファンケースの内部に配置される電動ファンを有する。電動ファンは、ごみ箱ユニット２５１の内部の空気を吸引し、ボディ２２０の外方に空気を吐出させることにより、吸込口２２１からごみを吸い込み、ごみ箱ユニット２５１内にごみを収容する。
【００２５】
制御ユニット２７０は、ボディ２２０の内部に配置されており、メモリと、当該メモリに記憶されている制御プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）とを有する。
【００２６】
カメラ２７５は、自律走行掃除機１００の進行方向を撮影する装置である。本実施の形態において、カメラ２７５は、単眼カメラである。また、本実施の形態に係る自律走行掃除機１００は、カメラ２７５で撮影された画像を処理することで、障害物センサ２７３、測距センサ２７４等によって検出できないカーペット等の低背な対象物との距離を算出する。
【００２７】
なお、カメラ２７５は、例えば、ボディ２２０の上部空間の全周画像を撮影してもよい。自律走行掃除機１００は、カメラ２７５で撮影された画像を、画像処理部で処理し、画像内の特徴点の位置から自律走行掃除機１００の現在位置を把握してもよい。
【００２８】
また、自律走行掃除機１００が備える各種センサとしては、以下の様なセンサを例示できる。
【００２９】
障害物センサ２７３は、ボディ２２０の前方に存在する周囲の壁、家具等の走行の障害となる障害物を検出するセンサである。本実施の形態においては、障害物センサ２７３には、超音波センサが用いられる。障害物センサ２７３は、ボディ２２０の前方の中央に配置される発信部２７１、及び、発信部２７１の両側にそれぞれ配置される受信部２７２を有し、発信部２７１から発信されて障害物によって反射して帰ってきた超音波を受信部２７２がそれぞれ受信することで、障害物の距離、位置等を検出することができる。
【００３０】
測距センサ２７４は、ボディ２２０の周囲に存在する障害物等の物体とボディ２２０との距離を検出する。本実施の形態においては、測距センサ２７４は、発光部及び受光部を有する赤外線センサであり、障害物に反射した赤外線が戻ってくるまでの時間に基づき距離を測定する。測距センサ２７４は、例えば、右側の前方頂部、及び、左側の前方頂部にそれぞれ配置されている。右側の測距センサ２７４は、ボディ２２０の右斜め前方に向けて光を出力する。また、左側の測距センサ２７４は、ボディ２２０の左斜め前方に向けて光を出力する。このような構成により、自律走行掃除機１００が旋回するときに、測距センサ２７４は、ボディ２２０の輪郭と最も接近した周囲の物体とボディ２２０との距離を検出する。
【００３１】
床面センサ２７６は、ボディ２２０の底面の複数箇所に配置され、フロアの状態を検出する。本実施の形態においては、床面センサ２７６は、発光部及び受光部を有する赤外線センサであり、発光部から放射した赤外線光が戻ってくる光量に基づいて、例えば、フロアが濡れている等のフロアの状態を検出する。
【００３２】
塵埃量センサ２７７は、例えば、発光素子及び受光素子からなり、受光素子が発光素子から放出された光の量を検出して出力する。出力された情報に基づいて、受光した光の量と塵埃量とを対応させる。具体的には、光の量が少なくなるほど塵埃量が多くなると判断され、その旨を示す塵埃量情報が生成される。
【００３３】
以上の障害物センサ２７３、測距センサ２７４、衝突センサ、床面センサ２７６、及び、塵埃量センサ２７７は、例示であり、自律走行掃除機１００は、全てのセンサを備えなくてもかまわない。また、上記とは異なるセンサを自律走行掃除機１００が備えてもかまわない。
【００３４】
例えば、自律走行掃除機１００は、さらに、衝突センサと、エンコーダと、加速度センサと、角速度センサとを備えてもよい。
【００３５】
衝突センサは、ボディ２２０の周囲に取り付けられているバンパが、障害物に接触してボディ２２０に対して押し込まれることに伴いオンされるスイッチ接触変位センサである。
【００３６】
エンコーダは、駆動ユニット２３０に備えられており、走行用モータによって回転する一対のホイールのそれぞれの回転角を検出する。エンコーダからの情報により、自律走行掃除機１００の走行量、旋回角度、速度、加速度、角速度等を算出することができる。
【００３７】
加速度センサは、自律走行掃除機１００が走行する際の加速度を検出する。
【００３８】
角速度センサは、自律走行掃除機１００が旋回する際の角速度を検出する。
【００３９】
加速度センサ及び角速度センサにより検出された情報は、ホイールの空回りによって発生する誤差を修正するための情報等に用いられる。
【００４０】
図３は、実施の形態に係る自律走行掃除機１００の特徴的な機能構成を示すブロック図である。
【００４１】
自律走行掃除機１００は、機能的には、カメラ２７５と、画像処理部１１０と、距離算出部１２０と、方向取得部１３０と、補正部１４０と、走行制御部１５０と、走行部１５１と、掃除制御部１６０と、バッテリ１７０と、メモリ１８０と、を備える。
【００４２】
カメラ２７５は、自律走行掃除機１００の進行方向を撮影することで、当該進行方向に直交する面であって、自律走行掃除機１００が走行するフロアの面に垂直な面の画像を生成する装置である。具体的には、カメラ２７５は、自律走行掃除機１００の進行方向を撮影することで、マトリクス状に配置された複数の画素で構成される画像を生成する。
【００４３】
画像処理部１１０は、フロア上に位置する矩形の対象物について、カメラ２７５が生成した画像中の対象物におけるフロアマップ１８３に対応付けられた基準軸に平行な一辺を含む外接矩形を算出し、外接矩形の基準軸に平行な一辺と接する画素であって、自律走行掃除機１００の進行方向において対象物の最も自律走行掃除機１００に近い箇所に対応する画素である最近接画素の画素位置を算出する。基準軸は、フロアマップ１８３の平面に平行な方向に対応する、画像に規定される軸である。画像処理部１１０は、カメラ２７５が生成した画像における、任意の画素の画素位置に対する当該画素の実空間における推定サイズを示す相関情報１８１、及び、画像における対象物の外接矩形に接する画素であって、進行方向において対象物の最も掃除機に近い側に位置する箇所に対応する画素の画素位置（以降、最近接点の画素位置と呼称する）を用いて、（ｉ）複数の画素の縦並び方向（言い換えると、基準軸に直交する方向）における画像中心から当該画素位置までの画素数、及び、（ｉｉ）複数の画素の横並び方向（言い換えると、基準軸に平行な方向）における画像中心から当該画素位置までの画素数を算出する処理部である。本実施の形態において、画像処理部１１０は、制御ユニット２７０により実現される。なお、画像処理部１１０が実行する処理の詳細については、後述する。
【００４４】
距離算出部１２０は、画像処理部１１０が算出した最近接点の画素位置を用いて、進行方向における自律走行掃除機１００から対象物までの推定距離（第１推定距離）を算出する処理部である。具体的には、距離算出部１２０は、画像における基準軸に直交する方向の最近接画素の画素位置から、自律走行掃除機１００の進行方向における自律走行掃除機１００から対象物までの第１推定距離を算出する。本実施の形態において、距離算出部１２０は、制御ユニット２７０により実現される。
【００４５】
方向取得部１３０は、フロアに対する自律走行掃除機１００の進行方向を取得する。方向取得部１３０が進行方向を取得する方法は、特に限定されないが、例えば、駆動ユニット２３０から取得されるオドメトリ情報に基づいてもよいし、自律走行掃除機１００が加速度センサを備える場合、当該加速度センサから取得される情報に基づいてもよい。本実施の形態において、方向取得部１３０は、制御ユニット２７０により実現される。
【００４６】
補正部１４０は、フロアの間取りを示すフロアマップ１８３に規定されたフロアの所定の一辺に平行な第１仮想軸と、方向取得部１３０が取得した進行方向に対応付けられた第２仮想軸とのなす仮想角度を算出し、算出した仮想角度を用いて、距離算出部１２０が算出した第１推定距離を補正する処理部である。具体的には、補正部１４０は、フロアマップ１８３に規定されたフロアの所定の一辺に平行な第１仮想軸と、自律走行掃除機１００の進行方向に対応付けられた第２仮想軸とのなす仮想角度を算出し、算出した仮想角度と、画像における基準軸に平行な方向の最近接画素の画素位置とを用いて、第１推定距離を補正する。
【００４７】
なお、補正部１４０は、さらに、自律走行掃除機１００の幅を示すサイズ情報１８２を用いて、第１推定距離を補正してもよい。具体的には、補正部１４０は、さらに、上面視で進行方向に直交する方向における自律走行掃除機１００の幅と、カメラ２７５が生成した画像における基準軸に平行な方向の最近接画素の画素位置とを用いて、進行方向と直交する方向において対象物の最も自律走行掃除機１００に近い箇所と自律走行掃除機１００との第２推定距離を算出し、算出した第２推定距離を用いて、第１推定距離を補正してもよい。本実施の形態において、補正部１４０は、制御ユニット２７０により実現される。第１仮想軸は、具体的には、フロアの外周の任意の一辺に対して平行な方向として設定される。
【００４８】
走行制御部１５０は、例えば、各種センサが検出した情報から算出される自律走行掃除機１００の位置に基づいて、走行部１５１を制御することで、自律走行掃除機１００の進行方向等を制御する処理部である。走行部１５１は、走行制御部１５０に制御されて自律走行掃除機１００を移動させるためのモータ等である。走行制御部１５０及び走行部１５１は、例えば、駆動ユニット２３０によって実現される。
【００４９】
掃除制御部１６０は、ごみを吸い込ませる等、フロアの掃除を制御する。本実施の形態において、掃除制御部１６０は、掃除ユニット２４０と、吸引ユニット２５０と、ごみ箱ユニット２５１とにより実現される。
【００５０】
走行制御部１５０及び掃除制御部１６０は、例えば、画像処理部１１０によって、フロア上に所定の対象物が検出された場合、距離算出部１２０が算出され、補正部１４０によって補正された第１推定距離に基づいて、走行部１５１、吸引ユニット２５０等の制御を行う。
【００５１】
バッテリ１７０は、自律走行掃除機１００が有する電子機器と電気的に接続され、当該電子機器に電力を供給するための電池である。
【００５２】
メモリ１８０は、各種処理部が実行する制御プログラムが記憶されているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリである。メモリ１８０は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリ等により実現される。また、メモリ１８０には、カメラ２７５が生成した画像の画素位置に対する当該画素の実空間における推定サイズを示す相関情報１８１と、自律走行掃除機１００のサイズ（具体的には、ボディ２２０の横幅）の情報であるサイズ情報１８２と、フロアの間取りを示す情報であるフロアマップ１８３が記憶されている。なお、ボディ２２０の横幅とは、上面視で、自律走行掃除機１００の進行方向に直交する方向における自律走行掃除機１００の幅である。
【００５３】
なお、フロアマップ１８３は、自律走行掃除機１００が作成してもよいし、外部の通信機器等から取得してもよい。また、自律走行掃除機１００は、外部の通信装置等と通信するための、通信アダプタ等の図示しない通信インターフェースを備えてもよい。自律走行掃除機１００がフロアマップ１８３を作成する場合、自律走行掃除機１００は、さらに、マップ生成部を備えてもよい。
【００５４】
マップ生成部は、自律走行掃除機１００が走行中、掃除中等において自律走行掃除機１００が備える各種センサから取得した情報に基づき、自己位置推定技術により得られる複数箇所における自己位置情報を生成する処理部である。本実施の形態において、マップ生成部は、例えば、カメラ２７５等を含む各種センサと、各種センサから取得された情報に基づいてフロアマップ１８３を生成し、生成したフロアマップ１８３における自律走行掃除機１００の位置を算出する処理部である制御ユニット２７０とにより実現される。また、マップ生成部は、自己位置情報の集合である走行実績を用いてフロアマップを生成し、メモリ１８０に保存する。例えば、フロアマップは、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）により得られる環境地図等である。
【００５５】
［動作］
続いて、自律走行掃除機１００の動作について説明する。
【００５６】
図４は、実施の形態に係る自律走行掃除機１００の動作の一例を説明するためのフローチャートである。
【００５７】
まず、自律走行掃除機１００は、フロア上を移動しながら、フロアマップ１８３を作成して、作成したフロアマップ１８３をメモリ１８０に記憶する（ステップＳ１０１）。上記したように、フロアマップ１８３は、例えば、外部の通信機器等から取得してもよい。
【００５８】
次に、方向取得部１３０は、フロアに対する自律走行掃除機１００の進行方向を取得する（ステップＳ１０２）。ステップＳ１０２において、方向取得部１３０は、例えば、駆動ユニット２３０から取得されるオドメトリ情報に基づいて、自律走行掃除機１００の進行方向を取得する。
【００５９】
次に、カメラ２７５は、自律走行掃除機１００の進行方向を撮影することで、進行方向に直交する面における複数の画素を含む画像を生成する（ステップＳ１０３）。ステップＳ１０３で生成される画像は、例えば、マトリクス状に配置された複数の画素により構成されている。
【００６０】
次に、画像処理部１１０は、カメラ２７５が生成した画像を画像処理することにより、当該画像に対象物が含まれているか否かを判定する（ステップＳ１０４）。ここで、対象物とは、例えば、フロア上に配置された矩形な物品である。より具体的には、対象物とは、例えば、障害物センサ２７３、測距センサ２７４等の各種センサで検出することができない予め定められた低背な物体であり、例えば、カーペット等である。また、ディープラーニング等を用いることで、画像中の対象物を識別する。
【００６１】
自律走行掃除機１００は、画像処理部１１０によって、カメラ２７５が生成した画像に対象物が含まれていないと判定した場合（ステップＳ１０４でＮｏ）、ステップＳ１０３に戻り、カメラ２７５を用いて進行方向を撮影する。
【００６２】
一方、自律走行掃除機１００は、画像処理部１１０によって、カメラ２７５が生成した画像に対象物が含まれていると判定した場合（ステップＳ１０４でＹｅｓ）、画像処理部１１０は、カメラ２７５が撮影した画像における対象物の外接矩形を算出する（ステップＳ１０５）。ステップＳ１０５において、画像処理部１１０は、例えば、フロア上に位置する矩形の対象物について、画像中の対象物におけるフロアマップ１８３に対応付けられた基準軸に平行な一辺を含む外接矩形を算出する。
【００６３】
次に、画像処理部１１０は、自律走行掃除機１００の進行方向における、対象物が自律走行掃除機１００と最も近い点である最近接点の画素位置をカメラ２７５が生成した画像から算出する（ステップＳ１０６）。具体的には、ステップＳ１０６において、画像処理部１１０は、外接矩形の基準軸に平行な一辺と接する画素であって、進行方向において対象物の最も自律走行掃除機１００に近い箇所である最近接点に対応する画素である最近接画素の画素位置を算出する。
【００６４】
次に、距離算出部１２０は、ステップＳ１０５で算出した最近接点の画素位置と、上記した相関情報１８１とを用いて、進行方向における自律走行掃除機１００から対象物までの距離を示す第１推定距離を算出する（ステップＳ１０７）。
【００６５】
次に、補正部１４０は、フロアの間取りを示すフロアマップ１８３に規定されたフロアの所定の一辺に平行な第１仮想軸と、方向取得部１３０が取得した進行方向に対応付けられた第２仮想軸とのなす仮想角度を算出する（ステップＳ１０８）。なお、第１仮想軸は、外部の通信装置から取得したフロアマップ１８３に予め設けられていてもよいし、補正部１４０がフロアマップ１８３に基づいて規定してもよい。
【００６６】
次に、補正部１４０は、算出した仮想角度を用いて、距離算出部１２０が算出した第１推定距離を補正する（ステップＳ１０９）。
【００６７】
次に、自律走行掃除機１００（例えば、走行制御部１５０及び掃除制御部１６０の少なくとも一方）は、ステップＳ１０９で補正部１４０が補正した第１推定距離に基づいて、制御を行う（ステップＳ１１０）。ステップＳ１１０において、例えば、自律走行掃除機１００は、対象物の一例であるカーペットに乗り上げる際には、カーペットの周縁のフリンジを巻き込むことを防止するために、吸引ユニット２５０を制御して吸引を止める等の制御をする。
【００６８】
なお、補正部１４０は、ステップＳ１０９において、さらに、自律走行掃除機１００の幅を示すサイズ情報１８２を用いて、第１推定距離を補正してもよい。具体的には補正部１４０は、さらに、上面視で進行方向に直交する方向における自律走行掃除機１００の幅と、カメラ２７５が生成した画像における基準軸に平行な方向の最近接画素の画素位置とを用いて、進行方向と直交する方向において対象物の最も自律走行掃除機１００に近い箇所と自律走行掃除機１００との第２推定距離を算出し、算出した第２推定距離を用いて、第１推定距離を補正してもよい。
【００６９】
［距離の算出方法］
続いて、自律走行掃除機１００が実行する対象物との距離の具体的な算出方法の詳細について説明する。
【００７０】
図５Ａは、実施の形態に係る自律走行掃除機１００の動作の一例を示す模式図である。図５Ｂは、図５Ａに示す実施の形態に係る自律走行掃除機１００が進行方向Ｄを撮影することで得られる画像３００の一例を示す図である。なお、図５Ａ及び図５Ｂにおいては、対象物４００を、フロア４１０の一辺と平行な一辺を有する上面視で矩形であり、フロアの任意の一辺と平行な一辺を有するカーペットを例に説明する。また、自律走行掃除機１００は、ステップＳ１０８において、フロアマップ１８３に規定される第１仮想軸Ｓ１を、図５Ａに示す紙面左右方向に規定したものとして説明する。また、図５Ａ及び図５Ｂには、説明のために対象物４００にハッチングを付して図示している。フロアマップ１８３には、例えば、自律走行掃除機１００の走行の障害となる、図５Ａに示すフロア４１０の外形の情報が含まれており、走行制御部１５０は、当該情報に基づいて、自律走行掃除機１００の走行を制御する。
【００７１】
図５Ａに示すように、上面視で、自律走行掃除機１００が対象物４００における最も近い一辺に対して直交する方向から侵入する（つまり、対象物４００に乗り上げる）とする。この場合、進行方向Ｄに対応付けられる第２仮想軸Ｓ２と第１仮想軸Ｓ１とは平行な方向となる。また、図５Ｂに示すように、画像３００に含まれる対象物４００の下辺と、対象物４００の外接矩形４０１の下辺とは、一致する。そのため、対象物４００の最近接点の画素位置から、図５Ａに示す実際の自律走行掃除機１００と対象物４００との距離Ｌ１（第１推定距離）が算出される。具体的には、距離算出部１２０は、対象物４００の外接矩形４０１の下辺の画素位置と相関情報１８１とから自律走行掃除機１００と対象物４００との距離Ｌ１を算出する。
【００７２】
また、画像処理部１１０は、カメラ２７５が生成した画像について、フロアマップ１８３に対応付けられた基準軸Ｓを規定する。基準軸Ｓは、フロアマップ１８３の平面に平行な方向に対応する、画像における基準軸であり、本実施の形態において、基準軸Ｓは、図５Ｂに示すように、画像３００の横方向（複数の画素の横並び方向）と平行に規定される。
【００７３】
図６は、画像中心からの画素数に対する対象物４００との距離の関係の一例を説明するためのグラフである。言い換えると、図６は、相関情報１８１の一例を示すグラフである。図７は、実施の形態に係る自律走行掃除機１００が対象物４００との距離Ｌ１を算出する際に用いるパラメータについて説明するための図である。なお、図７には、説明のために、自律走行掃除機１００に関しては、カメラ２７５のみを図示している。
【００７４】
図６に示すように、自律走行掃除機１００は、カメラ２７５が進行方向Ｄを撮影することで生成する画像に含まれる画素の位置に対する、進行方向Ｄにおける自律走行掃除機１００と対象物４００（具体的には、対象物４００の最近接点）との距離を予めメモリ１８０に記憶している。これにより、画像処理部１１０によって画像３００中の最近接点の画素位置（図５Ｂにおいては、外接矩形４０１の下辺の任意の一点）と、図７に示す相関情報１８１とを用いることにより、距離Ｌ１を算出することができる。
【００７５】
具体的には、図７に示す自律走行掃除機１００に搭載されるカメラ２７５の高さｄ、カメラ２７５の焦点距離ｆ、撮影角度φ、カメラ２７５が撮影して生成する画像における複数の画素の縦並び方向（言い換えると、基準軸Ｓに直交する方向）の総画素数ｈ、カメラ２７５が生成した画像における対象物４００が自律走行掃除機１００から最も近い点（最近接点の画素）から当該点の、複数の画素の縦並び方向における画像中心までの画像数ｈ１と、図６に示す相関情報１８１とから、対象物４００までの距離Ｌ１は、算出される。カメラ２７５は、画像位置３００ａの画像３００を生成する。
【００７６】
なお、図６には、図７に示すｄ＝５５（ｍｍ）、φ＝７０（°）、ｈ＝４８０（ｍｍ）の場合の相関情報１８１を示している。
【００７７】
具体的には、距離Ｌ１は、以下の式（１）から算出される。
【００７８】
Ｌ１＝（ｄ／ｈ１）×ｆ      式（１）
【００７９】
また、焦点距離ｆは、以下の式（２）から算出される。
【００８０】
ｆ＝（ｈ／２）×１／ｔａｎ（φ／２）      式（２）
【００８１】
例えば、φ＝７０（°）、ｈ＝４８０（ｍｍ）となるように設計されたカメラ２７５を、ｄ＝５５（ｍｍ）となる位置で、自律走行掃除機１００に搭載させた場合、上記式（２）から、焦点距離ｆ＝３４２．９となる。また、算出した焦点距離ｆと、式（１）と、図６に示す相関情報１８１とから、Ｌ１＝（５５／２４０）×３４２．９＝７８．９（ｍｍ）となる。
【００８２】
上記算出方法を用いることで、最近接点の画素位置（外接矩形４０１の下辺）と、相関情報１８１とから、進行方向Ｄにおける、自律走行掃除機１００と、対象物４００との距離Ｌ１（第１推定距離）を算出できる。
【００８３】
図８Ａは、実施の形態に係る自律走行掃除機１００の動作の別の一例を示す模式図である。図８Ｂは、図８Ａに示す実施の形態に係る自律走行掃除機１００が進行方向Ｄを撮影することで得られる画像の一例を示す図である。なお、図８Ａ及び図８Ｂにおいては、対象物４００を、フロア４１０の一辺と平行な一辺を有する上面視で矩形であり、フロアの任意の一辺と平行な一辺を有するカーペットを例に説明する。また、自律走行掃除機１００は、ステップＳ１０８において、フロアマップ１８３に規定される第１仮想軸Ｓ１を、図８Ａに示す紙面左右方向に規定したものとして説明する。また、図８Ａ及び図８Ｂには、説明のために対象物４００にハッチングを付して図示している。フロアマップ１８３には、例えば、自律走行掃除機１００の走行の障害となる、図８Ａに示すフロア４１０の外形の情報が含まれており、走行制御部１５０は、当該情報に基づいて、自律走行掃除機１００の走行を制御する。
【００８４】
図８Ａに示すように、上面視で、自律走行掃除機１００が対象物４００における最も近い一辺に対して傾斜する方向から侵入する（つまり、対象物４００に乗り上げる）とする。この場合、進行方向Ｄに対応付けられた第２仮想軸Ｓ２と第１仮想軸Ｓ１とは交差する方向となる。本実施の形態においては、第１仮想軸Ｓ１と第２仮想軸Ｓ２がなす仮想角度を仮想角度θとした。
【００８５】
また、図８Ｂに示すように、図５Ｂとは異なり、画像３０１に含まれる対象物４００の下辺と、対象物４００の外接矩形４０２の下辺とは、一致しない。そのため、図５Ｂに示す対象物４００との距離を算出する方法を用いた場合、対象物４００の最近接点４０３に対応する、進行方向Ｄにおける実空間での対象物４００の箇所までの距離Ｖ（図９Ｂ参照）が算出される。
【００８６】
しかしながら、自律走行掃除機１００が対象物４００に乗り上げる際に、上面視で最初に接触する（重なる）箇所は、図８Ａにおいては、自律走行掃除機１００の左端であり、対象物４００との接触点は接触点４０４となる。このように、算出したい距離（自律走行掃除機１００から接触点４０４までの距離）と、画像処理にて算出される距離（自律走行掃除機１００から最近接点４０３までの距離）とが異なる。また、接触点４０４に対応する画像３０１中の接触点画素４０４ａを画像処理によって算出するには、膨大な計算が必要となり、コスト面等の観点から、例えば、家庭用に用いられる自律走行掃除機１００には、現状では問題点がある。
【００８７】
そこで、自律走行掃除機１００は、仮想角度θを用いることにより、対象物４００までの距離を簡便に補正する。
【００８８】
図９Ａは、実施の形態に係る自律走行掃除機１００が算出する対象物４００との距離の算出方法を説明するための、自律走行掃除機１００が撮影した画像の一例を示す図である。図９Ｂは、実施の形態に係る自律走行掃除機１００が算出する対象物４００との距離の算出方法を説明するための上面図である。なお、図９Ａにおいては、説明のために、画像３０１中の対象物４００を図示し、周囲の壁等の図示を省略している。
【００８９】
画像処理部１１０は、相関情報１８１と外接矩形４０２とから算出される、画像３０１中の複数の画素の縦並び方向における最近接画素４０３ａの画素位置Ｖ１とを用いて、上記説明と同様の算出方法で、自律走行掃除機１００の進行方向Ｄにおける自律走行掃除機１００と対象物４００における最近接点４０３までの距離Ｖ（第１推定距離）を算出できる。
【００９０】
同様に、画像処理部１１０は、相関情報１８１と外接矩形４０２とから算出される、画像３０１中の複数の画素の横並び方向（言い換えると、基準軸Ｓに平行方向）における最近接画素４０３ａの画素位置Ｕ１とを用いて、上記説明と同様の算出方法で、上面視で進行方向Ｄに直交する方向における、自律走行掃除機１００の中心から対象物４００における最近接点４０３までの距離Ｕ（第２推定距離）を算出できる。
【００９１】
図９Ｂに示すように、上面視で進行方向Ｄに直交する方向における、最近接点４０３と、自律走行掃除機１００との距離ｙは、以下の式（３）で算出される。
【００９２】
ｙ＝ｘ／ｔａｎθ      式（３）
【００９３】
なお、ｘは、進行方向Ｄにおける、最近接点４０３と接触点４０４との間の距離である。
【００９４】
また、上面視で進行方向Ｄに直交する方向における、最近接点４０３と、自律走行掃除機１００との距離ｙは、以下の式（４）でも算出される。
【００９５】
ｙ＝Ｕ−（Ｗ／２）      式（４）
【００９６】
なお、Ｗは、上面視で自律走行掃除機１００の進行方向Ｄに直交する方向における自律走行掃除機の幅を示す。
【００９７】
上記式（３）及び式（４）を用いて、以下の式（５）を算出できる。
【００９８】
ｘ＝（Ｕ−（Ｗ／２））×ｔａｎθ      式（５）
【００９９】
よって、進行方向Ｄにおける接触点４０４と自律走行掃除機１００との推定距離である補正距離Ｌは、以下の式（６）で算出される。
【０１００】
Ｌ＝Ｖ＋ｘ＝Ｖ＋（Ｕ−（Ｗ／２））×ｔａｎθ      式（６）
【０１０１】
このような計算方法により、補正部１４０は、算出した仮想角度θと算出した距離Ｕとを用いることで、距離算出部１２０が算出した距離Ｖを補正した推定距離である補正距離Ｌを簡便に算出することができる。
【０１０２】
なお、メモリ１８０には、自律走行掃除機１００のサイズの情報であるサイズ情報１８２（自律走行掃除機１００の幅Ｗ）が予め記憶されていることで、進行方向Ｄにおける自律走行掃除機１００と対象物４００との距離を、幅Ｗを用いて算出したが、上記算出には、幅Ｗを用いてもよいし、用いなくてもよい。補正距離Ｌの算出に幅Ｗを用いることで、より精度良く対象物との距離を算出することができる。
【０１０３】
［効果等］
以上のように、本実施の形態に係る自律走行掃除機１００は、フロア４１０を自律的に走行して掃除する自律走行掃除機である。自律走行掃除機１００は、メモリ１８０と、方向取得部１３０と、カメラ２７５と、画像処理部１１０と、距離算出部１２０と、補正部１４０とを備える。メモリ１８０は、フロア４１０の間取りを示すフロアマップ１８３を記憶する。方向取得部１３０は、フロア４１０に対する自律走行掃除機１００の進行方向Ｄを取得する。カメラ２７５は、進行方向Ｄに直交する面における複数の画素を含む画像（例えば、画像３０１）を生成する。画像処理部１１０は、フロア４１０上に位置する矩形の対象物４００について、画像３０１中の対象物４００におけるフロアマップ１８３に対応付けられた基準軸に平行な一辺を含む外接矩形４０２を算出し、外接矩形４０２の基準軸に平行な一辺と接する画素であって、進行方向Ｄにおいて対象物４００の最も自律走行掃除機１００に近い箇所（最近接点４０３）に対応する画素である最近接画素４０３ａの画素位置を算出する。距離算出部１２０は、画像３０１における基準軸に直交する方向の最近接画素４０３ａの画素位置から、進行方向Ｄにおける自律走行掃除機１００から対象物４００までの第１推定距離（距離Ｖ）を算出する。補正部１４０は、フロアマップ１８３に規定されたフロア４１０の所定の一辺に平行な第１仮想軸Ｓ１と、進行方向Ｄに対応付けられた第２仮想軸Ｓ２とのなす仮想角度θを算出し、算出した仮想角度θと、画像３０１における基準軸に平行な方向の最近接画素４０３ａの画素位置とを用いて、第１推定距離を補正する。
【０１０４】
このような構成によれば、自律走行掃除機１００は、複雑な画像処理を行うことなく、対象物４００との距離を精度良く補正することができる。つまり、自律走行掃除機１００によれば、撮影した対象物４００との距離をより精度良く算出することができる。
【０１０５】
また、補正部１４０は、さらに、上面視で進行方向Ｄに直交する方向における自律走行掃除機１００の幅Ｗと、画像３０１における基準軸に平行な方向の最近接画素４０３ａの画素位置とを用いて、進行方向Ｄと直交する方向において対象物４００の最も自律走行掃除機１００に近い箇所（最近接点４０３）と自律走行掃除機１００との第２推定距離（距離Ｕ）を算出し、算出した第２推定距離を用いて、第１推定距離を補正してもよい。
【０１０６】
このような構成によれば、自律走行掃除機１００は、複雑な画像処理を行うことなく、対象物４００との距離をさらに精度良く補正することができる。
【０１０７】
（その他の実施の形態）
以上、本実施の形態に係る自律走行掃除機について、上記実施の形態に基づいて説明したが、本発明は、上記実施の形態に限定されるものではない。
【０１０８】
例えば、上記実施の形態では、画像処理部、距離算出部、方向取得部、補正部等の処理部は、ＣＰＵと制御プログラムとによって構成されると説明した。しかしながら、これら処理部の構成は、これに限定されない。これら処理部は、専用の電子回路としてハードウェア的に実現されてもよい。
【０１０９】
また、画像処理部、距離算出部、方向取得部、補正部等の処理部は、１つのＣＰＵとメモリとによって実現されてもよいし、ＣＰＵとメモリとをそれぞれ２以上備えてもよい。
【０１１０】
また、本発明は、自律走行掃除機の処理部が実行するステップとする方法として実現されてもよい。また、本発明は、上記ステップをコンピュータに実行させるプログラムとして実現されてもよい。また、本発明は、そのプログラムを記録したコンピュータによって読み取り可能なＣＤ−ＲＯＭ等の記録媒体として実現されてもよい。また、本発明は、そのプログラムを示す情報、データ又は信号として実現されてもよい。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信されてもよい。
【０１１１】
その他、各実施の形態に対して当業者が思いつく各種変形を施して得られる形態や、本発明の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本発明に含まれる。
【産業上の利用可能性】
【０１１２】
本発明は、家屋内等のフロアを自動的に掃除する自律走行掃除機に適用可能である。
【符号の説明】
【０１１３】
１００  自律走行掃除機
１１０  画像処理部
１２０  距離算出部
１３０  方向取得部
１４０  補正部
１５０  走行制御部
１５１  走行部
１６０  掃除制御部
１７０  バッテリ
１８０  メモリ
１８１  相関情報
１８２  サイズ情報
１８３  フロアマップ
２２０  ボディ
２２１  吸込口
２３０  駆動ユニット
２４０  掃除ユニット
２５０  吸引ユニット
２５１  ごみ箱ユニット
２７０  制御ユニット
２７１  発信部
２７２  受信部
２７３  障害物センサ
２７４  測距センサ
２７５  カメラ
２７６  床面センサ
２７７  塵埃量センサ
２７９  キャスター
３００、３０１  画像
３００ａ  画像位置
４００  対象物
４０１、４０２  外接矩形
４０３  最近接点
４０３ａ  最近接画素
４０４  接触点
４０４ａ  接触点画素
４１０  フロア
Ｄ  進行方向
Ｓ  基準軸
Ｓ１  第１仮想軸
Ｓ２  第２仮想軸
【図１】
2019144849.tif 000003
【図２】
2019144849.tif 000004
【図３】
2019144849.tif 000005
【図４】
2019144849.tif 000006
【図５Ａ】
2019144849.tif 000007
【図５Ｂ】
2019144849.tif 000008
【図６】
2019144849.tif 000009
【図７】
2019144849.tif 000010
【図８Ａ】
2019144849.tif 000011
【図８Ｂ】
2019144849.tif 000012
【図９Ａ】
2019144849.tif 000013
【図９Ｂ】
2019144849.tif 000014