(57)【要約】【課題】  移動体の適切な走行経路を決めることができる走行経路計画装置を提供する。【解決手段】  実施形態によれば、走行経路計画装置は、入力手段と、選択手段と、編集手段と、を具備する。入力手段は、移動体が走行可能な第１領域と、走行不可能な第２領域とからなる地図情報を入力する。選択手段は、第１モードまたは第２モードを選択する。編集手段は、第１モードが選択された場合、第１領域と第２領域との境界を第２領域が拡大する方向に最大幅寄せサイズだけ移動し、拡大領域に含まれる第１領域を第２領域に変更し、第２モードが選択された場合、第１領域と第２領域との境界を第２領域が拡大する方向に移動体の回転半径だけ移動し、拡大領域に含まれる第１領域を第２領域に変更した後、第１領域と第２領域との境界を第２領域が縮小する方向に（回転半径−最大幅寄せサイズ）だけ移動し、縮小領域の第２領域を第１領域に変更する。【選択図】図３
2019053507.tif 000002
【特許請求の範囲】
【請求項１】
移動体が走行可能な第１領域と、前記移動体が走行不可能な第２領域とからなる地図情報を入力する手段と、
第１モードまたは第２モードを選択可能な選択手段と、
前記選択手段により前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更し、
前記選択手段により前記第２モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の回転半径だけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第１領域と前記第２領域との境界を前記第２領域が縮小する方向に第１サイズだけ移動し、縮小領域の前記第２領域を前記第１領域に変更する編集手段と、
を具備し、
前記第１サイズは前記回転半径から前記最大幅寄せサイズを減算した値に対応する走行経路計画装置。
【請求項２】
前記地図情報は格子により分割された多数のグリッドからなるグリッドマップであり、
前記地図情報が表す領域内の固定体に対応する第１グリッドは前記第１領域を構成し、
前記第１グリッド以外の第２グリッドは前記第２領域を構成し、
前記編集手段は前記拡大領域に含まれる前記第１グリッドを前記第２グリッドに変更し、前記縮小領域に含まれる前記第２グリッドを前記第１グリッドに変更する請求項１記載の走行経路計画装置。
【請求項３】
前記編集手段は、前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記最大幅寄せサイズだけ移動し、前記拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第２領域に３方向を囲まれた第１個数の前記第１グリッドを前記第２グリッドに変更し、
前記第１個数は最大接近サイズから前記最大幅寄せサイズを減算した値に対応する請求項２記載の走行経路計画装置。
【請求項４】
前記最大幅寄せサイズは前記移動体の回転中心における前記移動体の進行方向に直交する方向のサイズの１／２である請求項１乃至請求項３のいずれか一項記載の走行経路計画装置。
【請求項５】
前記移動体の平面形状は矩形であり、
前記回転半径は前記移動体の回転中心と前記移動体の４角との距離の最大値あるいは前記移動体の回転中心と前記移動体の４角との距離である請求項１乃至請求項４のいずれか一項記載の走行経路計画装置。
【請求項６】
前記最大接近サイズは前記移動体の回転中心と前記移動体の前端との距離である請求項３記載の走行経路計画装置。
【請求項７】
移動体が走行可能な第１領域と、前記移動体が走行不可能な第２領域とからなる地図情報を入力することと、
第１モードまたは第２モードを選択することと、
前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更することと、
前記第２モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の回転半径だけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第１領域と前記第２領域との境界を前記第２領域が縮小する方向に第１サイズだけ移動し、縮小領域の前記第２領域を前記第１領域に変更することと、
を具備し、
前記第１サイズは前記回転半径から前記最大幅寄せサイズを減算した値に対応する走行経路計画方法。
【請求項８】
コンピュータにより実行されるプログラムであって、前記プログラムは、コンピュータに
移動体が走行可能な第１領域と、前記移動体が走行不可能な第２領域とからなる地図情報を入力することと、
第１モードまたは第２モードを選択することと、
前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更することと、
前記第２モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の回転半径だけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第１領域と前記第２領域との境界を前記第２領域が縮小する方向に第１サイズだけ移動し、縮小領域の前記第２領域を前記第１領域に変更することと、
を実行させ、
前記第１サイズは前記回転半径から前記最大幅寄せサイズを減算した値に対応するプログラム。
【請求項９】
走行可能な第１領域と、走行不可能な第２領域とからなる地図情報を入力する手段と、
第１モードまたは第２モードを選択可能な選択手段と、
前記選択手段により前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更し、
前記選択手段により前記第２モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に回転半径だけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第１領域と前記第２領域との境界を前記第２領域が縮小する方向に第１サイズだけ移動し、縮小領域の前記第２領域を前記第１領域に変更する編集手段と、
前記第１領域内で走行経路を生成する生成手段と、
を具備し、
前記第１サイズは前記回転半径から前記最大幅寄せサイズを減算した値に相当する移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は移動体を自律的に走行させるための走行経路計画装置、方法、プログラム及び移動体に関する。
【背景技術】
【０００２】
このような移動体の一例として、予め決められた走行経路に従い自律的に走行するロボットがある。走行経路は、走行エリアの環境地図に基づいて計画する手法が様々提案されている。その提案の一例として、環境地図をグリッドマップとして表現し、グリッドマップ上の各グリッドを走行可能グリッドまたは走行不可グリッドとする方法がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2015-1820号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
グリッドマップ上の各グリッドを走行可能グリッドとするか走行不可グリッドとするかの判断は走行エリアの様々な状況によって異なっている。そのため、従来は移動体の適切な走行経路を決めることが困難であるという課題があった。
【０００５】
本発明は移動体の適切な走行経路を決めることができる走行経路計画装置、方法、プログラム及び移動体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態によれば、走行経路計画装置は、入力手段と、選択手段と、編集手段と、を具備する。入力手段は、移動体が走行可能な第１領域と、移動体が走行不可能な第２領域とからなる地図情報を入力する。選択手段は、第１モードまたは第２モードを選択する。編集手段は、第１モードが選択された場合、第１領域と第２領域との境界を第２領域が拡大する方向に前記移動体の最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更する。編集手段は、第２モードが選択された場合、第１領域と第２領域との境界を第２領域が拡大する方向に移動体の回転半径だけ移動し、拡大領域に含まれる第１領域を第２領域に変更した後、第１領域と第２領域との境界を第２領域が縮小する方向に（前記回転半径−前記最大幅寄せサイズ）だけ移動し、縮小領域の第２領域を第１領域に変更する。
【図面の簡単な説明】
【０００７】
【図１】図１は実施形態の移動体の一例である清掃ロボットの外観の一例を示す。
【図２】図２は清掃ロボットの電気的な構成の一例を示すブロック回路図である。
【図３】図３は経路生成部の経路生成処理の流れの一例を示すフローチャートである。
【図４】図４は、狭路進入が許可されている第１モード時のグリッドマップの編集の一例を示す。
【図５】図５は、狭路進入が許可されている第１モード時のグリッドマップの編集の他の例を示す。
【図６】図６は、狭路進入が許可されている第１モード時のグリッドマップの編集のさらに他の例を示す。
【図７】図７は、狭路進入が許可されている第１モード時のグリッドマップの編集のさらに他の例を示す。
【図８】図８は、狭路進入が許可されていない第２モード時のグリッドマップの編集の一例を示す。
【発明を実施するための形態】
【０００８】
以下、実施形態について図面を参照して説明する。なお、開示はあくまで一例にすぎず、以下の実施形態に記載した内容により発明が限定されるものではない。いくつかの要素に複数の呼称を付しているが、これら呼称の例はあくまで例示であり、これらの要素に他の呼称を付すことを否定するものではない。また、複数の呼称が付されていない要素についても、別の呼称を付して表現されてもよい。当業者が容易に想到し得る変形は、当然に開示の範囲に含まれる。説明をより明確にするため、図面において、各部分のサイズ、厚み、平面寸法、形状等を実際の実施態様に対して変更して模式的に表す場合もある。また、図面相互間において互いの寸法の関係や比率が異なる部分が含まれることもある。複数の図面において、対応する要素には同じ参照数字を付して、詳細な説明を省略する場合もある。
【０００９】
実施形態は自律的に走行するあらゆる移動体を含み得るが、ここでは、一例として清掃ロボットの実施形態を説明する。
【００１０】
［第１実施形態］  
家庭用の清掃ロボットは円形の平面形状であることが多いが、ここでは、ビルや倉庫等の広いエリアを予め決められた走行経路に従って自律的に走行しながら清掃する業務用の清掃ロボットを想定する。そのため、ロボットの機体は直方体であることがあり、サイズは、数１０ｃｍ（幅）×１ｍ弱（長さ）×数１０ｃｍ（高さ）、重量は１０数ｋｇの場合もある。
【００１１】
ビルや倉庫等には狭い通路が含まれることがある。通路とは、両側に壁、什器、荷物等の走行に対する障害となる固定体（以下、障害物とも称する）があり、側方への走行が制限される領域である。もし、幅が一定であって先が塞がっていない通路にロボットが進入した場合、ロボットは前進し続ければ通路を通り抜けることができる。幅が一定であって先が塞がっている通路にロボットが進入した場合でも、ロボットの平面形状が円形であれば、ロボットは通路内で回転して戻ってくることができる。
【００１２】
しかし、平面形状が円形以外、例えば矩形のロボットについては、ロボットの幅より回転半径が大きいと、進入できるがその内部では回転できない狭い通路(以下、狭路とも称する)が存在する。このような狭路にロボットが進入した場合、ユーザが手動でロボットを通路から引き出すことが考えられる。もし、ロボットが後進も可能なように構成されていれば、自律的に後進し狭路から退出することも可能である。しかし、ロボットは前進のみが可能で、後進は不可なものがある。さらに、後進可能なロボットでも、後進時の走行性能が前進時より悪いことがある。例えば、前進時は走行経路に沿って忠実に走行できるが、後進時は走行経路から多少ずれジグザグ走行になることがある。
【００１３】
ロボットが狭路で走行経路通りに走行しないと、通路の壁等にロボットがぶつかり、ロボット自体あるいは壁等を破損させる恐れがある。このため、先端が壁等により塞がっている狭路に関する走行経路の決定は困難であった。このことは、清掃ロボットに限らず、あるエリアを自律走行しながらエリアを監視する警戒ロボットやセンサロボットにも言える。
【００１４】
［概略構成］  
以下、このような狭路が存在する場合でも適切な走行経路を決めることができる走行経路計画装置の実施形態を説明する。
【００１５】
図１は、第１実施形態に係る清掃ロボット１０の外観を示すものであり、図１（ａ）は自身の左側から見た側面図、図１（ｂ）は上側から見た平面図である。ロボット１０は、略直方体の機体１２を備える。機体１２の進行方向は図１の左右方向であり、前進時は右側から左側へ移動するとする。機体１２の長さＬは図１の左右方向のサイズであり、幅Ｗは図１（ｂ）の上下方向のサイズである。
【００１６】
進行（前進）方向における機体１２の先端の上部には、ロボット１０が部屋内の固定体である障害物に衝突することを防止するために周囲の状況に関する環境情報を取得するセンサ部１４が取り付けられている。センサ部１４は、例えばレーザレンジセンサ、赤外線センサ、超音波センサ、カメラ、ＧＰＳセンサ等を含む。例えば、レーザレンジセンサ、超音波センサ、赤外線センサは、ロボット１０の走行に対して障害となる周囲の障害物までの距離を測定する。ロボット１０が障害物まで一定距離まで接近すると、後述する自律走行・清掃制御部３２(図２)がロボット１０の走行を停止させる。また、カメラにより撮影した周囲の画像を解析しても、障害物の有無と障害物までの距離を検出することができる。センサ部１４のセンシングエリアが機体１２の全周３６０度をカバーしていれば、前進時に限らず後進時にも衝突を防止できる。しかし、走行経路の決定においてロボット１０の後進を考慮しないでよい場合、すなわち前進による経路に基づいて決定する場合、センサ部１４のセンシングエリアが機体１２の後方までカバーしなくもよい。
【００１７】
ＧＰＳセンサはロボット１０の現在位置を検出する。ＧＰＳセンサの代わりに加速度センサを用いてもよい。ＧＰＳセンサは走行経路情報を生成することもできる。例えば、ユーザがロボット１０を走行エリア内で手動で移動し清掃する。この清掃の間、ＧＰＳセンサの出力に基づいて走行経路情報を取得することができる。取得された走行経路情報に基づいてロボット１０が自律走行すれば、次回からロボット１０はユーザが一度手動で清掃した経路と同じ経路で自律的に清掃することができる。
【００１８】
進行方向において機体１２の後部の底面には、左右に２つの駆動輪１６ａ，１６ｂが設けられ、機体１２の前部の底面には、中央に１つの操舵輪１８が設けられる。なお、操舵輪１８の数は１つに限らず、駆動輪１６と同様に左右に２つ設けてもよい。４輪の場合、前輪が駆動輪及び操舵輪であってもよい。前輪の操舵輪１８が一輪であることは、後進時の走行性能が前進時に比べてやや劣る原因の一つである。しかし、前述したように、走行経路の決定においてロボット１０の後進を考慮しない選択肢もあるので、必ずしも前輪が２輪である必要はない。操舵輪１８の操舵により機体１２が回転する際の回転中心Ｃは操舵輪１８と駆動輪１６との間に位置する。回転中心Ｃと機体１２の４つの角との距離は同じである場合と、異なる場合がある。回転中心Ｃと機体１２の４つの角との距離が同じ場合、その距離が回転半径Ｒとなる。異なる場合でも、回転中心Ｃと機体１２の前端の２つの角との距離は同じであり、回転中心Ｃと機体１２の後端の２つの角との距離は同じである。この場合の回転半径Ｒは回転中心Ｃと機体１２の前端の２つの角との距離と回転中心Ｃと機体１２の後端の２つの角との距離の長い方である。図１の例では回転中心Ｃと機体１２の４つの角との距離が同じである。
【００１９】
進行方向において機体１２の後部の中央、すなわち操舵輪１８と駆動輪１６ａ，１６ｂとの間には、回転ブラシ等の清掃ローラ２０が機体１２の略全幅に亘って設けられている。操舵輪１８、駆動輪１６ａ，１６ｂ、清掃ローラ２０の回転軸は図１（ａ）の紙面に直交（図１（ｂ）では紙面に平行）な軸である。清掃ローラ２０は図示しないモータにより回転され、床の塵を集める。機内１２内部の清掃ローラ２０の上部には、図示しない吸引モータが設けられ、清掃ローラ２０により集められた塵等が吸引され、機体１２内部の図示しないダストボックスに集められる。なお、回転ブラシによる集塵とモータによる吸引という清掃機能の説明はあくまでも一例であり、どのような清掃機能を備えてもよい。例えば、清掃ローラ２０以外にも清掃ローラ２０の両サイドに機体１２の底面に直交する軸を中心に回転するサイドブラシを備えてもよい。さらに、清掃は、液体による洗浄、ワックス掛け等を含んでもよい。
【００２０】
進行方向において機体１２の後端の上部には、キーボード、画面等を含む表示・操作部２２が設けられている。表示・操作部２２はケーブルまたは無線で機体１２に接続される汎用のノートブック型ＰＣを利用してもよい。表示・操作部２２は種々のメニューや設定画面を表示したり、後述する自律走行・清掃制御部３２(図２)に種々の指示を与える。
【００２１】
図示していないが、ロボット１０はコンセントに接続して使用してもよいが、充電可能な二次電池を備えたり無線給電機能を備えて、コードレスで使用できるように構成してもよい。
【００２２】
［ブロック回路図］  
図２は図１の清掃ロボット１０の電気的な構成の一例を示すブロック回路図である。清掃ロボット１０は、ロボットの全体の走行、清掃を制御する自律走行・清掃制御部３２を備える。自律走行・清掃制御部３２はプログラムを実行するＣＰＵから構成してもよいし、専用のＩＣ（ハードウェア）により構成してもよい。
【００２３】
表示・操作部３２、センサ部１４（例えば、レーザレンジセンサ１４ａ、赤外線センサ１４ｂ、超音波センサ１４ｃ、ＧＰＳセンサ１４ｄ、カメラ１４ｅ）、地図入力部４２、ＳＬＡＭ(Simultaneous Localization and Mapping)部４４、経路生成部４６が自律走行・清掃制御部３２に接続される。自律走行・清掃制御部３２は無線通信部３４を介してネットワーク３６に接続され、ネットワーク３６に接続されるホスト装置（あるいはサーバ）３８と通信可能に構成されてもよい。ホスト装置３８は必須ではないが、ホスト装置３８に接続されていれば、機体１２に表示・操作部２２を設けず、ホスト装置３８を表示・操作部２２の代わりとすることも可能である。
【００２４】
さらに、ホスト装置３８によりロボット１０を遠隔操作することもできる。例えば、複数の階等の広いエリアで複数のロボット１０を使用するユーザは、いちいち各ロボットを直に操作し、自律走行を開始させる必要がない。さらに、狭路に進入したロボット１０をユーザが手動で通路から退出させる必要がある場合、各ロボットの走行状態をホスト装置３８で監視し、狭路で行き詰まっているロボットをユーザに知らせれば、ユーザは迅速に対応できる。
【００２５】
地図入力部４２は地図情報を記憶する記憶媒体、例えばＵＳＢ（登録商標）メモリやＤＶＤが挿入されるＵＳＢコネクタやＤＶＤドライブでもよい。なお、ホスト装置３８に接続されていれば、機体１２に地図入力部４２を設けず、ホスト装置３８からネットワーク３６を介して地図情報を自律走行・清掃制御部３２に入力してもよい。ＳＬＡＭ部４４は、レーザレンジセンサ１４ａ、赤外線センサ１４ｂ、超音波センサ１４ｃ、カメラ１４ｅからの環境情報と、ＧＰＳセンサ１４ｄからの現在位置情報とに基づきＳＬＡＭ技術を用いて自己位置推定と環境地図作成を同時に行う。環境地図は、ロボット１０が走行する可能性のある部屋等の走行エリアの平面図に走行の障害となる壁、荷物、什器等の障害物の位置、形状等の情報が表された地図である。
【００２６】
さらに、上述したように、センサ部１４は周囲の障害物までの距離を測定できるので、ロボット１０を走行エリア内で障害物に衝突しないように試験的に走行させつつ環境地図を取得することもできる。
【００２７】
なお、地図データはＣＡＤで作成されたベクトルデータ（線分の集合）から構成されてもよい。
【００２８】
経路生成部４６は先ず環境地図からグリッドマップを作成する。グリッドマップの作成は、先ず環境地図に対して一定間隔で水平（あるいは左右）方向及び垂直(あるいは上下)方向にグリッド線を追加することである。なお、水平方向と垂直方向の間隔は同じ場合に限らず、異なっていてもよい。４本のグリッド線で囲まれた１つの領域をグリッドとする。グリッドはロボット１０の走行を制御する最小単位であり、例えば数ｃｍである。ただし、グリッドの形状、サイズ（水平方向サイズ、垂直方向サイズ）は、走行エリアの形状、大きさやロボット１０のサイズ（水平方向サイズ、垂直方向サイズ、回転半径）やロボット１０の位置制御の精度等に応じて自動的に決めてもよし、ユーザにより設定可能としてもよい。表示・操作部２２はグリッドサイズの設定メニューを表示できる。
【００２９】
経路生成部４６は、初期グリッドマップの生成後、各グリッドに属性として、ロボット１０が走行可能な進入可能グリッドあるいはロボット１０が走行不可能な進入不可グリッドを設定する。初期グリッドマップの作成時、経路生成部４６は全グリッドを進入可能グリッドとする。その後、経路生成部４６は、環境情報に基づいて壁、荷物、什器等の障害物に対応するグリッドを進入不可グリッドに変更する。
【００３０】
なお、グリッドマップは、走行エリアの平面図を示すグレースケールの画像ファイルにおいて、各画素を１グリッドとみなし、画素値が最大値の１／２を下回るものを進入可能グリッドとしてもよい。
【００３１】
初期グリッドマップの生成の際、経路生成部４６はロボット１０のサイズは考慮しない。そのため、ロボット１０が進入できるが回転できない狭路や、ロボット１０の幅よりも狭くロボット１０が進入できない通路も進入可能グリッドとされる。さらに、ロボット１０の幅が複数グリッドに相当する場合は、障害物に接するいくつかの進入可能グリッドは走行できない。ロボット１０の回転中心がグリッドの所定の位置、例えば中心、右端、左端を通過するようにロボット１０が走行されるとすると、ロボット１０が障害物に沿って走行するためには、ロボット１０の側面と障害物との間隔が回転中心からロボット１０の一側面までの距離（これを最大幅寄せサイズと称する）だけ確保されている必要がある。
【００３２】
そのため、経路生成部４６は初期グリッドマップに後述する編集を行いグリッドの属性を変更する。
【００３３】
自律走行・清掃制御部３２には清掃制御部５２、走行制御部６２、操舵制御部７０も接続される。清掃制御部５２はモータドライバ５４を介して駆動モータ５６を駆動することにより清掃ローラ２０を回転させるとともに、モータドライバ５８を介して吸引モータ６０を駆動させる。走行制御部６２はモータドライバ６４を介して駆動モータ６６を駆動することにより駆動輪１６ａ、１６ｂを回転させる。操舵制御部７０はモータドライバ７２を介して駆動モータ７４を駆動することにより操舵輪１８の向きを変えさせる。
【００３４】
なお、走行と清掃は必ずしも同時に行われなくてもよく、上述したセンサ部１４により環境地図を取得するための試験的な走行時には清掃機能は動作されない。
【００３５】
［グリッドマップ編集と経路生成］  
図３は図１の清掃ロボット１０における経路生成部４６による走行経路作成の一例を示すフローチャートであり、図４乃至図８はグリッドマップの編集処理を説明する。
【００３６】
清掃エリアの状況は日々変化する可能性がある。例えば、什器や大きな荷物の位置が変わることがあり、これらにより新たに通路が出来ることがある。そこで、ユーザは清掃を開始する前に、表示・操作部２２から経路生成指示を入力する。
【００３７】
上述したように、ロボット１０の平面形状が円形では無い場合、ロボット１０の進入は可能であるが、その通路内で回転は不可能である狭路が生じる。ロボット１０の幅Ｗは６グリッド、長さは８グリッド、回転半径は５グリッドであるとする。走行経路はロボット１０の回転中心Ｃがグリッドの中心を通過するように生成されるとする。そのため、回転中心Ｃはロボット１０の移動中心とも称する。ロボット１０が壁等に出来るだけ近づくことができる最大幅寄せサイズは、回転中心Ｃにおけるロボット１０の進行方向に直交する方向のサイズ（幅）の１／２の３グリッドである。また、ロボット１０が壁等に対して前進する場合を考えると、ロボット１０が壁等に出来るだけ近づくことが出来る最大接近サイズは、回転中心Ｃにおけるロボット１０の進行方向のサイズ（長さ）の１／２の４グリッドである。ロボット１０の幅が６グリッドなので、ロボット１０は１グリッドから６グリッドの幅の通路には物理的に進入は不可である。ロボット１０が進入できる通路の幅は７グリッド以上必要である。ただし、７グリッドの幅の通路には進入はできるが、その中で回転できない。ロボットの通行経路が通路の中心とすると、通路内で回転できるには、通路の幅が１１グリッド以上ある必要がある。したがって、ロボット１０の進入は可能であるが、その通路内で回転は不可能である狭路は幅が７グリッドから１０グリッドの通路である。
【００３８】
このような狭路にはロボット１０を進入させないという考えもあるが、ロボット１０が前進しかしない場合でも、狭路内に進入したロボット１０をユーザが手動で引き出す場合があるので、このような狭路への進入を許容するか許容しないかをユーザが選択できるようにすると、利便性が向上する。
【００３９】
実施形態では、経路生成に当たり、走行エリアを特定するとともに、狭路進入を許可するか否かを選択するメニューが表示・操作部２２により表示される。ユーザはメニュー画面から走行エリアと、狭路進入の可否を指定する。この後、経路作成を指示する。このメニューはグリッドのサイズを指定するようにしてもよい。
【００４０】
経路作成が指示されると（ブロック１０２のイエス）、経路生成部４６はブロック１０４で地図入力部４２またはＳＬＡＭ部４４から環境地図を取得し、ブロック１０６で環境地図から初期グリッドマップを作成する。ここでは、正方形のグリッドとする。初期グリッドマップの一例を、図４（ｂ）、図５（ａ）、図８（ａ）に示す。図４（ｂ）はグリッド幅が６の通路に関する初期グリッドマップ、図５（ａ）はグリッド幅が７の狭路に関する初期グリッドマップ、図８（ａ）はグリッド幅が１０の狭路に関する初期グリッドマップである。グリッドマップは、壁、荷物、什器等の障害物に対応する進入不可グリッド（右上から左下の斜線）と、それ以外の進入可能グリッド（斜線なし）とからなる。
【００４１】
［狭路進入許可モード］  
経路生成部４６はブロック１０８で予めメニューで設定された狭路進入の可否を参照する。狭路進入が許可されている場合（ブロック１１２のイエス）のグリッドマップの編集を図４〜図７を参照して説明する。図４は６グリッド幅の通路の場合、図５、図６は７グリッド幅の狭路の場合、図８は１２グリッド幅の通路の場合の編集を示す。ロボット１０のサイズは図４（ａ）に示すように、最大幅寄せサイズは３グリッド、回転半径Ｒは５グリッド、最大接近サイズは４グリッドであるとする。
【００４２】
経路生成部４６はブロック１１４で、進入可能グリッドと進入不可グリッドとの境界を進入不可グリッドの集合からなる進入不可グリッド領域が拡大する方向にロボット１０の最大幅寄せサイズ（３グリッド）だけ移動する。これにより、図４（ｃ）、図５（ｂ）に示すように、拡大された領域に含まれる進入可能グリッドが進入不可グリッドに変更される（左上から右下の斜線）。ブロック１１４の処理により、図４（ｃ）に示すように、通路の幅が６グリッドの場合、通路内の進入可能グリッドは全て進入不可グリッドに変更され、ロボット１０が進入できないことになる。通路以外の障害物とロボット１０の移動中心Ｃとの間には進入不可グリッド領域の拡大により３グリッドだけ進入不可グリッドが存在することになるので、ロボット１０を障害物にできるだけ幅寄せした状態で走行できる。
【００４３】
通路の幅が７グリッドの場合、図５（ｂ）に示すように通路の中央に１グリッド幅の進入可能グリッド列が残る。このグリッド列にロボット１０は進入可能である。このグリッド列の先端と障害物までの距離は３グリッドであるので、ロボット１０がこのグリッド列の先端のグリッドまで前進すると、ロボット１０の先端が障害物に衝突してしまう。しかし、前進時は、センサ部１４が前方の障害物までの距離を検出しているので、ロボット１０の前端が障害物に衝突する前に前進を停止するので、問題はない。
【００４４】
ただし、センサ部１４の誤動作等を考慮して、編集により前進時の衝突を回避してもよい。このため、実施形態では、経路生成部４６はブロック１１６で、拡大により生じた進入不可グリッドで囲まれた通路（進入可能グリッド）があるか否かを判定する。無い場合、ブロック１２８で、進入可能グリッドを使って走行経路が生成される。
【００４５】
このような通路がある場合、経路生成部４６はステップ１１８で、通路の先端の進入可能グリッドと進入不可グリッドとの境界を進入可能グリッドの集合からなる通路が縮小する方向にロボット１０の（最大接近サイズ−最大幅寄せサイズ＝４−３＝１グリッド）だけ移動する。これにより、図５（ｃ）に示すように、通路先端の進入可能グリッドが進入不可グリッドに変更される。通路の先端と障害物までの距離が４グリッド確保されるので、図６（ａ）に示すように、ロボット１０の移動中心が通路の先端まで前進しても、ロボット１０の先端が障害物に衝突することがない。
【００４６】
経路生成部４６はブロック１１８の次にブロック１２８で進入可能グリッドを使って走行経路を生成する。
【００４７】
図６（ｂ）に示すように、通路以外の障害物とロボット１０との間はブロック１１４で拡大された３グリッドの進入不可グリッドがそのまま残るので、ロボット１０を障害物にできるだけ幅寄せした状態で走行させることができる。
【００４８】
図７（ａ）、（ｂ）は１０グリッド幅の通路の編集の一例を示し、それぞれ７グリッド幅の場合の図６（ａ）、（ｂ）に対応する。
【００４９】
［狭路進入不許可モード］  
次に、狭路進入が許可されていない場合（ブロック１１２のノー）のグリッドマップの編集を図８を参照して説明する。図８（ａ）は１０グリッドの幅の通路の初期グリッドマップの一例を示す。
【００５０】
経路生成部４６はブロック１２２で、進入可能グリッドと進入不可グリッドとの境界を進入不可グリッドの集合からなる進入不可グリッド領域が拡大する方向にロボット１０の回転半径（５グリッド）だけ移動する。これにより、図８（ｂ）に示すように、拡大された領域に含まれる進入可能グリッドが進入不可グリッドに変更される（左上から右下の斜線）。ブロック１２２の処理により、１０グリッド幅の狭路内の進入可能グリッドは全て進入不可グリッドに変更され、ロボット１０が進入できないことになる。
【００５１】
このままであると、ロボット１０は通路以外の障害物について５グリッドまでしか幅寄せできないので、経路生成部４６はブロック１２６で、進入可能グリッドと進入不可グリッドとの境界を進入不可グリッドの集合からなる進入不可グリッド領域が縮小する方向に（回転半径−最大幅寄せサイズ＝５−３＝２グリッド）だけ移動する。これにより、図８（ｃ）に示すように、通路以外の障害物とロボット１０の移動中心との間には５グリッドではなく３グリッドの進入不可グリッドが存在することになるので、ロボット１０を障害物にできるだけ幅寄せした状態で走行できる。
【００５２】
経路生成部４６はブロック１２６の次にブロック１２８で進入可能グリッドを使って走行経路を生成する。経路の一例とて、広いエリアでは直進、回転、直進、を繰り返しながら、壁際からエリア中央に、あるいは中央から壁際に向かって走行するような経路が生成される。壁際では図４（ａ）等に示すように、ロボット１０の側部が壁にできるだけ近づく経路が生成される。狭路内では、図６（ａ）、図７（ａ）に示すように、ロボット１０の側部が狭路の側面に壁にできるだけ近づく経路が生成される。なお、経路作成部４６が自動的に経路を作成した後、ユーザが経路をマニュアルで編集することができるように構成してもよい。
【００５３】
［実施形態の纏め]  
以上説明したように、実施形態によれば、進入は可能であるが回転は不可能である狭路に関する走路生成に際して、狭路への進入を許可する場合と、許可しない場合とを区別して、それぞれに適した走路を生成することができる。進入が許可されている場合、グリッドマップ上の進入不可グリッド領域を最大幅寄せサイズだけ拡大させる。これにより、通路内も通路の壁までできるだけ近づいた状態でロボットを走行させることができる。進入が許可されていない場合、グリッドマップ上の進入不可グリッド領域を回転半径だけ拡大させた後、ロボットの移動中心と壁とが最大幅寄せサイズになるように、拡大により進入不可能グリッドから進入可能グリッドに変更されたグリッドからなる進入可能グリッド領域を縮小させる。これにより、直進走行しかできない通路は走行可能グリッドが残らないため縮小の対象とならず、ユーザーニーズである「壁・障害物へ最大限幅寄せ可能な経路生成」と「直進通行のみ可能な通路に進入不可」を両立させるグリッドマップを生成することができる。
【００５４】
実施形態によれば、回転が可能な広さを確保できる領域においては、壁・障害物へ最大限幅寄せ可能な経路（ロボットが直進進行する際、壁、障害物に衝突しない最小の距離、具体的にはロボットの直進進行方向に対して直交する方向で最大の機体幅となるサイズの１／２の距離だけ壁、障害物から離れた点を結ぶ経路）を生成し、直進通行のみ可能な通路については、進入の可否をロボットの後進性能や要求される衝突安全性に応じてユーザーが選択できる。衝突安全性とは、ロボットを走行させる環境において、ロボットと壁、障害物の衝突が許容されるか否かを意味し、例えば非常に軽量のロボットを家庭内で使用する場合には許容されるが、重量のあるロボットを公共施設で使用する場合には許容されない等である。
【００５５】
実施形態によれば、以下が提供される。
（１）移動体が走行可能な第１領域と、前記移動体が走行不可能な第２領域とからなる地図情報を入力する手段と、
第１モードまたは第２モードを選択可能な選択手段と、
前記選択手段により前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更し、
前記選択手段により前記第２モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の回転半径だけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第１領域と前記第２領域との境界を前記第２領域が縮小する方向に第１サイズだけ移動し、縮小領域の前記第２領域を前記第１領域に変更する編集手段と、
を具備し、
前記第１サイズは前記回転半径から前記最大幅寄せサイズを減算した値に対応する走行経路計画装置。
（２）  （１）記載の走行経路計画装置において、
前記地図情報は格子により分割された多数のグリッドからなるグリッドマップであり、
前記地図情報が表す領域内の固定体に対応する第１グリッドは前記第１領域を構成し、
前記第１グリッド以外の第２グリッドは前記第２領域を構成し、
前記編集手段は前記拡大領域に含まれる前記第１グリッドを前記第２グリッドに変更し、前記縮小領域に含まれる前記第２グリッドを前記第１グリッドに変更する走行経路計画装置。
（３）  （２）記載の走行経路計画装置において、
前記編集手段は、前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第２領域に３方向を囲まれた第１個数の前記第１グリッドを前記第２グリッドに変更し、
前記第１個数は最大接近サイズから前記最大幅寄せサイズを減算した値に対応する走行経路計画装置。
（４）  （１）〜（３）のいずれかに記載の走行経路計画装置において、
前記最大幅寄せサイズは前記移動体の回転中心における前記移動体の進行方向に直交する方向のサイズの１／２である走行経路計画装置。
（５）  （１）〜（４）のいずれかに記載の走行経路計画装置において、
前記移動体の平面形状は矩形であり、
前記回転半径は前記移動体の回転中心と前記移動体の４角との距離の最大値あるいは前記移動体の回転中心と前記移動体の４角との距離である走行経路計画装置。
（６）  （３）記載の走行経路計画装置において、
前記最大接近サイズは前記移動体の回転中心と前記移動体の前端との距離である走行経路計画装置。
（７）  移動体が走行可能な第１領域と、前記移動体が走行不可能な第２領域とからなる地図情報を入力することと、
第１モードまたは第２モードを選択することと、
前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更することと、
前記第２モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の回転半径だけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第１領域と前記第２領域との境界を前記第２領域が縮小する方向に第１サイズだけ移動し、縮小領域の前記第２領域を前記第１領域に変更することと、
を具備し、
前記第１サイズは前記回転半径から前記最大幅寄せサイズを減算した値に対応する走行経路計画方法。
（８）  （７）記載の走行経路計画方法において、
前記地図情報は格子により分割された多数のグリッドからなるグリッドマップであり、
前記地図情報が表す領域内の固定体に対応する第１グリッドは前記第１領域を構成し、
前記第１グリッド以外の第２グリッドは前記第２領域を構成し、
前記第１モードが選択された場合、前記拡大領域に含まれる前記第１グリッドを前記第２グリッドに変更し、
前記第２モードが選択された場合、前記拡大領域に含まれる前記第１グリッドを前記第２グリッドに変更した後、前記縮小領域に含まれる前記第２グリッドを前記第１グリッドに変更する走行経路計画方法。
（９）  （８）記載の走行経路計画方法において、
前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第２領域に３方向を囲まれた第１個数の前記第１グリッドを前記第２グリッドに変更し、
前記第１個数は最大接近サイズから前記最大幅寄せサイズを減算した値に対応する走行経路計画方法。
（１０）  コンピュータにより実行されるプログラムであって、前記プログラムは、コンピュータに
移動体が走行可能な第１領域と、前記移動体が走行不可能な第２領域とからなる地図情報を入力することと、
第１モードまたは第２モードを選択することと、
前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更することと、
前記第２モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の回転半径だけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第１領域と前記第２領域との境界を前記第２領域が縮小する方向に第１サイズだけ移動し、縮小領域の前記第２領域を前記第１領域に変更することと、
を実行させ、
前記第１サイズは前記回転半径から前記最大幅寄せサイズを減算した値に対応するプログラム。
（１１）  （１０）記載のプログラムにおいて、
前記地図情報は格子により分割された多数のグリッドからなるグリッドマップであり、
前記地図情報が表す領域内の固定体に対応する第１グリッドは前記第１領域を構成し、
前記第１グリッド以外の第２グリッドは前記第２領域を構成し、
前記第１モードが選択された場合、前記拡大領域に含まれる前記第１グリッドを前記第２グリッドに変更し、
前記第２モードが選択された場合、前記拡大領域に含まれる前記第１グリッドを前記第２グリッドに変更した後、前記縮小領域に含まれる前記第２グリッドを前記第１グリッドに変更するプログラム。
（１２）  （１１）記載のプログラムにおいて、
前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記移動体の最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第２領域に３方向を囲まれた第１個数の前記第１グリッドを前記第２グリッドに変更し、
前記第１個数は最大接近サイズから前記最大幅寄せサイズを減算した値に対応するプログラム。
（１３）  走行可能な第１領域と、走行不可能な第２領域とからなる地図情報を入力する手段と、
第１モードまたは第２モードを選択可能な選択手段と、
前記選択手段により前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更し、
前記選択手段により前記第２モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に回転半径だけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第１領域と前記第２領域との境界を前記第２領域が縮小する方向に第１サイズだけ移動し、縮小領域の前記第２領域を前記第１領域に変更する編集手段と、
前記第１領域内で走行経路を生成する生成手段と、
を具備し、
前記第１サイズは前記回転半径から前記最大幅寄せサイズを減算した値に相当する移動体。
（１４）  （１３）記載の移動体において、
前記地図情報は格子により分割された多数のグリッドからなるグリッドマップであり、
前記地図情報が表す領域内の固定体に対応する第１グリッドは前記第１領域を構成し、
前記第１グリッド以外の第２グリッドは前記第２領域を構成し、
前記編集手段は前記拡大領域に含まれる前記第１グリッドを前記第２グリッドに変更し、前記縮小領域に含まれる前記第２グリッドを前記第１グリッドに変更する移動体。
（１５）  （１４）記載の移動体において、
前記編集手段は、前記第１モードが選択された場合、
前記第１領域と前記第２領域との境界を前記第２領域が拡大する方向に前記最大幅寄せサイズだけ移動し、拡大領域に含まれる前記第１領域を前記第２領域に変更した後、
前記第２領域に３方向を囲まれた第１サイズの前記第１グリッドを前記第２グリッドに変更し、
前記第１サイズは前記回転半径から前記最大幅寄せサイズを減算した値に相当する移動体。
（１６）  （１３）から（１５）のいずれかに記載の移動体において、
前記生成手段により生成された前記走行経路に従って自律走行する走行手段と、
前記移動体から周囲の固定体までの距離を検出する検出手段と、
前記検出手段が前記距離が第１距離に達すると前記走行手段により自律走行を停止する手段と、
をさらに具備する移動体。
【００５６】
［変形例］  
上記の実施形態では、拡大や縮小させるグリッド数はロボットのサイズに基づいて決めているので、環境地図に多少の誤差があると、幅寄せ時等にロボットが障害物に接する可能性もある。この可能性を出来るだけ少なくするためには、拡大、縮小させるグリッド数にマージンを考慮すればよい。例えば、拡大するグリッド数に＋αを加え拡大領域をより大きくし、縮小するグリッド数に−βを加え縮小領域をより小さくすると、環境地図に多少の誤差があると、幅寄せ時等にロボットが障害物に接する可能性をすくなくすることができる。
【００５７】
実施形態のロボットは、ブラシにより床の塵を吸引する清掃ロボットとして説明したが、清掃に限らず、床を洗剤や水で洗浄する洗浄機能を備えたロボットにも実施形態は適用できる。さらに、清掃や洗浄に限らず、単にエリアを監視する警戒ロボットやセンサロボットにも実施形態は適用できる。
【００５８】
なお、本実施形態の処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【００５９】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００６０】
１４…センサ部、１６ａ，１６ｂ…駆動輪、１８…操舵輪、２０…清掃ローラ、２２…表示・操作部、３２…自律走行・清掃制御部、３８…ホスト装置、４４…ＳＬＡＭ部、４６…経路生成部。
【図１】
2019053507.tif 000003
【図２】
2019053507.tif 000004
【図３】
2019053507.tif 000005
【図４】
2019053507.tif 000006
【図５】
2019053507.tif 000007
【図６】
2019053507.tif 000008
【図７】
2019053507.tif 000009
【図８】
2019053507.tif 000010