(57)【要約】【課題】安価な計算手段を用いて実現することができ、走行経路を効率良く計画することが可能な自律走行ロボットの経路計画方法を提供する。【解決手段】通行禁止領域及び分岐領域を除外して、作業領域全体を櫛型走行のみにより確実にカバーし得るサブ領域に分割し、サブ領域毎に櫛形走行を行っているので、単純なルールの櫛形走行であっても、自律走行ロボット１を確実に計画通りに走行させることができる。この様な単純なルールの櫛形走行は、センサの数が制限されても、またある程度の自己位置の誤差があっても実現することが可能である。【選択図】図６
2007213236.tif 000002
【特許請求の範囲】
【請求項１】
作業領域を少なくとも１つのサブ作業領域に分割し、サブ作業領域毎に、サブ作業領域を予め設定された規則で走行する自律走行ロボットの経路計画方法において、
前記作業領域を前記規則で走行するための走行経路を求めて、この走行経路の分岐を推定し、この走行経路の分岐領域を前記作業領域から除外した後に、この作業領域を少なくとも１つのサブ作業領域に分割して求める分岐削除ステップと、
前記分岐削除ステップにより求められたサブ作業領域毎に、サブ作業領域を前記規則で走行するための走行経路を求めて設定する経路計画ステップとを含むことを特徴とする自律走行ロボットの経路計画方法。
【請求項２】
前記規則は、往復移動と該往復移動の折り返し地点でのシフト移動とを組み合わせた櫛形走行を含むことを特徴とする請求項１に記載の自律走行ロボットの経路計画方法。
【請求項３】
前記分岐削除ステップでは、前記自律走行ロボットの自己位置誤差が原因となって発生し得る前記走行経路の分岐を推定し、この走行経路の分岐領域を前記作業領域から除外した後に、この作業領域を少なくとも１つのサブ作業領域に分割して求めることを特徴とする請求項１に記載の自律走行ロボットの経路計画方法。
【請求項４】
前記分岐削除ステップでは、前記シフト移動の距離を基準とする一定幅と前記作業領域を比較し、前記作業領域における前記一定幅以下の領域を進入禁止領域とし、この進入禁止領域及び前記分岐領域を前記作業領域から除外した後に、この作業領域を少なくとも１つのサブ作業領域に分割して求めることを特徴とする請求項１に記載の自律走行ロボットの経路計画方法。
【請求項５】
前記分岐削除ステップでは、前記シフト移動の方向と前記作業領域を比較し、前記シフト移動の方向に存在する前記走行経路の分岐を推定し、この走行経路の分岐領域を前記作業領域から除外した後に、この作業領域を少なくとも１つのサブ作業領域に分割して求めることを特徴とする請求項１に記載の自律走行ロボットの経路計画方法。
【請求項６】
前記経路計画ステップでは、前記サブ作業領域間の自律走行ロボットの移動のために、前記分岐領域を通過する走行経路を求めることを特徴とする請求項１に記載の自律走行ロボットの経路計画方法。
【請求項７】
前記経路計画ステップでは、前記サブ作業領域間の自律走行ロボットの移動のために、前記作業領域の境界に沿った走行経路を求めることを特徴とする請求項１に記載の自律走行ロボットの経路計画方法。
【請求項８】
前記櫛形走行の規則は、前記作業領域の境界及び該作業領域内の障害物により規定される該櫛形走行の往復移動の距離を含むことを特徴とする請求項２に記載の自律走行ロボットの経路計画方法。
【請求項９】
前記櫛形走行の規則は、前記シフト移動の距離と、前記サブ作業領域において該シフト移動の距離により規定される該往復移動の回数とを含むことを特徴とする請求項２に記載の自律走行ロボットの経路計画方法。
【請求項１０】
請求項１乃至９のいずれかに記載の自律走行ロボットの経路計画方法により走行経路を設定することを特徴とする自律走行ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業領域を自律走行する自律走行ロボットの経路計画方法及び自律走行ロボットに関する。
【背景技術】
【０００２】
この種の自律走行ロボットは、例えば掃除機を搭載して、様々な形状並びに広さの部屋などを掃除しながら自律走行する。このとき、自律走行ロボットの充電池等の限られたエネルギーを有効に使用し、かつ自律走行ロボットの騒音や衝突によるユーザの負担を可能な限り小さくするために、自律走行ロボットの走行経路計画が必要になる。この走行経路計画に関する様々な手法が既に提案されている。
【０００３】
一般住宅の部屋は、直交した壁で囲まれる長方形状であることが多いため、平行直進の往復移動を行いながら、往復移動の折り返し地点毎に往復移動とは交差する一方向にシフト移動するという走行モード(以下櫛形走行モードと称する)が、効率の点で好ましく、また作業領域全体をカバーする上でも有効である。
【０００４】
しかし、部屋の内部には、例えば棚やソファなどの家具が配置されていることが多く、これらが障害物となるため、部屋全体を一度の櫛形走行モードでカバーすることは現実的ではない。このため、掃除可能な作業領域全体を櫛形走行に適したいくつかのサブ作業領域に分割し、サブ作業領域毎に櫛形走行を実施する方法が良く用いられている。
【０００５】
例えば特許文献１では、部屋の壁沿いに自律走行ロボットを移動させたり、部屋内部の家具などの障害物沿いにロボットを移動させ、これによって壁に沿った部屋の形状及び障害物の形状を確認して、作業領域全体を確定した後、部屋の長辺を基準として作業領域全体をサブ作業領域に分割し、サブ作業領域毎に櫛形走行を実施して、サブ作業領域を順次カバーしている。
【０００６】
また、相互に隣接するサブ作業領域間を移動して、サブ作業領域を順次カバーし、これによりサブ作業領域間の移動距離（移動時間）を短くして、サブ作業領域を効率良くカバーしている。
【特許文献１】特開２００３−３４５４３７号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、特許文献１では、走行計画に従って自律走行ロボットを走行させるので、自律走行ロボットの自己位置を常に推定する必要があり、正確な自己位置の推定が前提となる。
【０００８】
自律走行ロボットの自己位置の推定方法としては、ロボットの左右の車輪の回転角度に基づいて幾何学的に自己位置推定を行う「デッドレコニング(dead reckoning)」が良く用いられる。また、鉛直軸周りのロボットの回転角度を検出する方法として、ジャイロを用いて角速度を検出し、角速度を積分することにより相対的な回転角度を算出する方法が良く用いられている。
【０００９】
しかしながら、一般住宅の部屋などの未知の作業領域においては、自律走行ロボットの自己位置を推定しても、この推定した自己位置に様々な要因による誤差が生じることは避けられない。
【００１０】
車輪の回転角度に基づくデッドレコニングの場合は、住宅内の部屋の床がフローリング、畳、絨毯等であるため、床の材質により車輪に対する摩擦係数が変化し、車輪と床面との滑りの程度も変化することから、また面と車輪の間に発生する滑りの推定を行うことは困難であることから、この車輪の滑りが自己位置の推定誤差の原因となる。
【００１１】
また、ジャイロを用いる場合は、検出した角速度を積分して回転角度を算出する必要があるため、ジャイロの誤差出力が累積される。従って、時間の経過に伴って回転角度の誤差が増大していく。
【００１２】
また、学術的な研究としてロボットに搭載したカメラによって撮影した画像を用いることにより、部屋内部のロボット位置を推定する手法も数多く提案されている。
【００１３】
ところが、この様な手法では、カメラ及びその画像を処理する計算手段が必要になるため、ロボットシステムのコストが高くなる。また、画像処理自体も、光源、濃淡、コントラストなどの撮像対象自体の特徴によって推定精度が大きく変化するという問題がある。
【００１４】
更に、加速度センサや距離センサなど、上記以外の内界センサ、外界センサを用いてロボットの自己位置推定精度を向上させる方法が特に大学などの教育並びに研究機関で研究されており、それらの学術的な発表において既に様々な提案がなされている。しかしながら、総じて何らかの前提条件をおく必要がある上、自己位置推定精度を向上させるために様々なセンサを追加するので、ロボットの製造コストの増大につながる。
【００１５】
一般的な住宅環境において、日常生活で利用できる安価な自律走行ロボットを実現するためには、多くのセンサを用いて自己位置推定精度を確保した上で厳密な走行計画に従って走行経路を再現するよりも、センサの数を制限することによって生じるある程度の自己位置の誤差を許容するような走行計画を立てることが望ましい。
【００１６】
そこで、本発明は、上記従来の問題に鑑みてなされたものであり、安価な計算手段を用いて実現することができ、走行経路を効率良く計画することが可能な自律走行ロボットの経路計画方法及び自律走行ロボットを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本発明の自律走行ロボットの経路計画方法は、作業領域を少なくとも１つのサブ作業領域に分割し、サブ作業領域毎に、サブ作業領域を予め設定された規則で走行する自律走行ロボットの経路計画方法において、前記作業領域を前記規則で走行するための走行経路を求めて、この走行経路の分岐を推定し、この走行経路の分岐領域を前記作業領域から除外した後に、この作業領域を少なくとも１つのサブ作業領域に分割して求める分岐削除ステップと、前記分岐削除ステップにより求められたサブ作業領域毎に、サブ作業領域を前記規則で走行するための走行経路を求めて設定する経路計画ステップとを含んでいる。
【００１８】
また、前記規則は、往復移動と該往復移動の折り返し地点でのシフト移動とを組み合わせた櫛形走行を含んでいる。
【００１９】
更に、前記分岐削除ステップでは、前記自律走行ロボットの自己位置誤差が原因となって発生し得る前記走行経路の分岐を推定し、この走行経路の分岐領域を前記作業領域から除外した後に、この作業領域を少なくとも１つのサブ作業領域に分割して求めている。
【００２０】
また、前記分岐削除ステップでは、前記シフト移動の距離を基準とする一定幅と前記作業領域を比較し、前記作業領域における前記一定幅以下の領域を進入禁止領域とし、この進入禁止領域及び前記分岐領域を前記作業領域から除外した後に、この作業領域を少なくとも１つのサブ作業領域に分割して求めている。
【００２１】
更に、前記分岐削除ステップでは、前記シフト移動の方向と前記作業領域を比較し、前記シフト移動の方向に存在する前記走行経路の分岐を推定し、この走行経路の分岐領域を前記作業領域から除外した後に、この作業領域を少なくとも１つのサブ作業領域に分割して求めている。
【００２２】
また、前記経路計画ステップでは、前記サブ作業領域間の自律走行ロボットの移動のために、前記分岐領域を通過する走行経路を求めている。
【００２３】
更に、前記経路計画ステップでは、前記サブ作業領域間の自律走行ロボットの移動のために、前記作業領域の境界に沿った走行経路を求めている。
【００２４】
また、前記櫛形走行の規則は、前記作業領域の境界及び該作業領域内の障害物により規定される該櫛形走行の往復移動の距離を含んでいる。
【００２５】
更に、前記櫛形走行の規則は、前記シフト移動の距離と、前記サブ作業領域において該シフト移動の距離により規定される該往復移動の回数とを含んでいる。
【００２６】
一方、他の本発明の自律走行ロボットは、上記本発明の経路計画方法により走行経路を設定している。
【発明の効果】
【００２７】
この様な本発明の経路計画方法によれば、作業領域を一定規則で走行するための走行経路を求めて、この走行経路の分岐を推定し、この走行経路の分岐領域を作業領域から除外している。この分岐領域を除外した作業領域には走行経路の分岐が発生しない。そして、この分岐領域を除外した作業領域を少なくとも１つのサブ作業領域に分割しているので、このサブ領域にも分岐領域が発生しない。このため、サブ作業領域毎に、サブ作業領域を一定規則で走行するための走行経路を容易に設定することができる。この様な演算処理は、簡単であるため、安価な計算手段を用いて実現することができ、走行経路を効率良く計画することができる。
【００２８】
また、自律走行ロボットの自己位置の誤差が原因となって発生する分岐領域を推定しているので、自己位置の誤差を許容するような走行計画を立てることができ、自己位置を検出するためのセンサも少なくすることができる。
【００２９】
更に、分岐領域だけではなく、自律走行ロボットが進入し難い一定幅以下の進入禁止領域も作業領域から除外して、この作業領域をサブ領域に分割しているので、正確な走行経路を確定し易くなる。
【００３０】
また、サブ作業領域間の自律走行ロボットの移動のために、分岐領域を通過する走行経路を求めたり、作業領域の境界に沿った走行経路を求めているので、分岐領域をカバーしたり、走行経路の誤差を小さく抑えることができる。
【００３１】
一方、本発明の自律走行ロボットは、上記本発明の経路計画方法により走行経路を設定するので、上記本発明の経路計画方法と同等の作用効果を達成することができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施形態を添付図面を参照しつつ詳細に説明する。
【００３３】
図１は、本発明の自律走行ロボットの一実施形態を概略的に示す平面図である。本実施形態の自律走行ロボット１は、一般住宅の部屋を自律走行しつつ、部屋の床を掃除するというものであり、この自律走行ロボット１を統括的に制御する計算機１３やメモリ１８等を備えている。
【００３４】
また、自律走行ロボット１は、左右の車輪２、これらの車輪２を駆動するための車輪用モータ３、車輪用モータ３の出力軸の回転を減速して車輪２に伝達する減速機４、及び車輪用モータ３を指令値に応じた角度まで回転させる車輪用モータドライバ５等からなる走行駆動系を備え、更に吸引経路６、吸引したゴミの捕集部７、吸引用モータ８、指令値に応じて吸引用モータ８の動作強度を調節する吸引用モータドライバ９、ゴミを床から掻き出すためのブラシ１０、ブラシ用モータ１１、及びブラシ用モータ１１のブラシ用モータドライバ１２等からなる作業駆動系を備えている。
【００３５】
また、自律走行ロボット１は、車輪用モータ３の回転を計測するために該モータ３に取り付けられた車輪用モータエンコーダ１４、鉛直軸周りの該ロボット１の回転角速度を計測するためのジャイロセンサ１５、該ロボット１前方に生じた外力を検出する機能を有する外力検出用バンパ２０、及び該ロボット１周辺の障害物を検出して認識するための距離センサ２１を備えている。外力検出用バンパ２０の外力検出機能としては、周知の振動センサや加速度センサ等の衝撃センサを適用することができる。また、距離センサ２１としては、周知の光を利用したものや超音波を利用したもの等を適用することができる。
【００３６】
自律走行ロボット1の底面は、４００mm×４００mm程度である。
【００３７】
図２は、自律走行ロボット１の制御系の構成を示すブロック図である。尚、図２において、矢印の向きは入出力、情報、及び動作指令の流れを示している。
【００３８】
車輪用モータエンコーダ１４の検出出力は、パルスカウンタ１６を通じて計算機１３に入力される。また、ジャイロセンサ１５、外力検出用バンパ２０、及び距離センサ２１の検出出力は、Ａ／Ｄ変換器１７を通じて計算機１３に入力される。
【００３９】
計算機１３は、車輪用モータエンコーダ１４により検出された車輪の回転角度に基づいて自律走行ロボット１の走行距離を求め、ジャイロセンサ１５により検出された鉛直軸周りの該ロボット１の回転角速度を積分して回転角度を求め、外力検出用バンパ２０の検出出力に基づいて外部との接触を判定し、距離センサ２１の検出出力に基づいて該ロボット１と壁面や障害物間の離間距離を求める。
【００４０】
また、計算機１３は、メモリ１８に記録されている走行プログラム及び作業処理プログラムを実行し、これらのプログラムに従って各モータドライバ５、９、１２に対して適切なモータ回転指令値を出力する。
【００４１】
更に、図１に示す様に自律走行ロボット１を動作させるための電源としてバッテリ１９が該ロボット１の内部に搭載されており、このバッテリ１９からの供給電力によりロボット１がなんらの拘束を受けることなく自律走行することが可能にされている。
【００４２】
自律走行ロボット１は、部屋２８（図４に示す）の右隅に存在する充電ステーション２２で待機しており、充電ステーション２２からの電力供給により該ロボット１のバッテリ１９が充電される。自律走行ロボット１は、部屋２８の掃除に際し、充電ステーション２２から自律走行を開始して、部屋２８の床を走行移動し、掃除の終了後に充電ステーション２２に帰還する。
【００４３】
充電ステーション２２には、識別可能な周期的なパターンで点灯するＬＥＤ２３が設置されている。自律走行ロボット１には、ＬＥＤ２３からの周期的な点灯パターンの光を受光し、この受光した光に基づいて該ロボット１から見て充電ステーション２２が一定範囲内に存在することを推定する受光素子回路２４が搭載されている。受光素子回路２４は、受光光の点灯パターンがＬＥＤ２３の点灯パターンと一致すると、受光光がＬＥＤ２３からの光であることを認識し、例えば該ロボット１側から見た該受光光の仰角を検出し、この受光光の仰角、ＬＥＤ２３の高さ、及び該ロボット１の受光高さを用いた三角測量により該ロボット１と充電ステーション２２間の離間距離を測定する。
【００４４】
上記の様な構成の自律走行ロボット１は、メモリ１８に記録されている走行プログラムを実行し、車輪用モータエンコーダ１４、ジャイロセンサ１５、外力検出用バンパ２０、及び距離センサ２１のそれぞれの検出出力に基づいて、すなわち走行距離、回転角度、外部との接触判定、及び壁面や障害物との離間距離に基づいて、モータドライバ１２に対して適切なモータ回転指令値を出力し、車輪用モータ３を駆動制御し、当該ロボット１を自律走行させる。
【００４５】
自律走行ロボット１の走行パターンには、直進走行モードＭ１、回転（旋回）モードＭ２、及び右側又は左側の壁面や障害物と一定距離を取りながら移動する壁沿い走行モードＭ３がある。直進走行モードＭ１は、左右の車輪２の車輪用モータ３を同じ回転角度で駆動制御することによりなされる。また、回転モードＭ２は、左右の車輪２の車輪用モータ３を相互に異なる回転角度で駆動制御することによりなされる。更に、壁沿い走行モードＭ３は、直進走行モードＭ１と回転モードＭ２を組み合わせることによりなされる。
【００４６】
自律走行ロボット１の走行に際しては、車輪用モータエンコーダ１４により検出された車輪の回転角度に基づく走行距離及びジャイロセンサ１５により検出された鉛直軸周りの回転角速度に基づく回転角度を用いて、該ロボット１の自己位置を随時求めて更新して行きながら、該ロボット１の自己位置が規定の走行経路をたどる様に直進走行モードＭ１や回転モードＭ２を選択的に行って、該ロボット１を自律走行させる。あるいは、自律走行ロボット１が障害物２５に当たったときの外力検出用バンパ２０の検出出力に基づいて外部との接触を判定し、この判定に応じて回転モードＭ２を行って、該ロボット１の向きを変更する。
【００４７】
また、壁面から一定距離だけ離れた壁沿い走行モードＭ３に際しては、距離センサ２１により検出された該ロボット１と壁面間の離間距離が一定に維持される様に直進走行モードＭ１と回転モードＭ２を選択的に行ったり、あるいは障害物２５に当たったときの外力検出用バンパ２０の検出出力に応答して回転モードＭ２を行いながら、該ロボット１を自律走行させる。
【００４８】
更に、壁沿い走行モードＭ３に際しては、壁面もしくは障害物から一定距離だけ離れた壁沿いの走行ルートを特定することができるので、受光素子回路２４により自律走行ロボット１と充電ステーション２２間の離間距離が測定されたときには、充電ステーション２２から該離間距離だけ離れた該壁沿いの走行ルート上の位置を該ロボット１の自己位置として求める。
【００４９】
そして、走行距離及び鉛直軸周りの回転角度に対応する該ロボット１の自己位置には累積誤差が含まれることから、受光素子回路２４によりＬＥＤ２３からの光を認識することができたときには、受光素子回路２４により測定された充電ステーション２２からの離間距離と壁沿いの走行ルートに基づいて正確な自己位置を求めて、自己位置の更新を行う。
【００５０】
また、直進走行モードＭ１、回転モードＭ２、及び壁沿い走行モードＭ３を組み合わせることにより櫛形走行モードＭ４を行うことができる。通常の走行の多くは、この櫛形走行モードＭ４での走行である。
【００５１】
図３は、櫛形走行モードＭ４での走行経路の概略を示している。図３に示す様に壁面や家具等の障害物２５が存在する作業領域において、自律走行ロボット１が櫛形走行モードＭ４で走行すると、走行経路Ｔ１をたどることになる。櫛形走行モードＭ４では、自律走行ロボット１が平行直進の往復移動を行いながら、往復移動の折り返し地点毎に往復移動とは交差する方向（図３上で左方向）に回転してシフト移動する。より具体的には、自律走行ロボット１が障害物２５に当たったときの外力検出用バンパ２０の検出出力に基づいて外部との接触を判定し、この判定に応じて回転し一定距離Ｌ１だけシフト移動する場合と、障害物２５に当たらなくても、該ロボット１が往路又は復路で車輪２の回転角度に基づく走行距離が規定距離Ｌ２又はＬ３に達すると、回転し一定距離Ｌ１だけシフト移動する場合とがある。規定距離Ｌ２は櫛形走行モードＭ４での前進方向の最長距離であり、規定距離Ｌ３は櫛形走行モードＭ４における後進方向の最長距離である。
【００５２】
図３においては、前進方向に規定距離Ｌ２だけ直進したときのリミット線２６及び後進方向に規定距離Ｌ３だけ直進したときのリミット線２７を破線で示している。自律走行ロボット１は、障害物２５に当たらなくても、往復移動の往路又は復路でリミット線２６、２７に到達すると、リミット線２６、２７上で左向きに９０度回転して一定距離Ｌ１だけシフト移動する。
【００５３】
尚、本実施形態では、説明の簡単化のために、櫛形走行モードにおけるシフト移動を左方向の移動としているが、右方向あるいは斜め方向を含めた任意の方向へのシフト移動を設定することが可能である。また、上記走行モードＭ１〜Ｍ４そのものは、既に周知の様々な走行プログラムにより実現することができ、また本願発明の主旨ではないので、それらの更なる詳細な説明を割愛する。
【００５４】
ここで、自律走行ロボット１は、壁面により囲まれる大きさ約４０００mm×４０００mmの部屋２８を自律走行しながら掃除するものとする。そして、部屋２８の壁面や家具等の障害物の配置を示す地図データがメモリ１８に登録されているものとする。この地図データは、自律走行ロボット１の以前の走行時に、車輪用モータエンコーダ１４、ジャイロセンサ１５、外力検出用バンパ２０、及び距離センサ２１のそれぞれの検出出力に基づいて、すなわち走行距離、回転角度、外部との接触判定、及び壁面や障害物との離間距離に基づいて生成することができる。あるいは、ユーザの入力操作により予め登録されても良い。
【００５５】
メモリ１８における部屋２８の地図データは、例えば複数領域の２次元配列における該当領域内の障害物の有無を表現するものとする。計算機１３は、メモリ１８内の地図データをアクセスして、部屋２８の壁面や障害物等の位置を認識することができ、またメモリ１８においてデータの複製および各種演算処理を行える。
【００５６】
図４は、メモリ１８の地図データとして登録されている部屋２８を示している。この部屋２８において、境界線Ｂ１で囲まれた作業領域Ａ１が自律走行ロボット１により掃除を行うべきスペースである。この作業領域Ａ１は、部屋２８の壁面により仕切られ、また自律走行ロボット１が進入不可能な障害物領域Ａ２を除外したものである。この障害物領域Ａ２は、ソファ、棚、机等の家具が配置されている領域である。
【００５７】
この様なメモリ１８上の部屋２８の地図データにおいて、自律走行ロボット１に相当するサイズの矩形領域を移動させて、該ロボット１の挙動を推定するという簡易なシミュレーションを行えば、該ロボット１を実際に走行させることなく、該ロボット１の適確な走行経路を設定することができる。以降、このシミュレーションを「簡易シミュレーション」と記す。
【００５８】
ところで、図４に示す様な複雑な形状の作業領域Ａ１においては、該作業領域Ａ１全体を一度の櫛形走行モードでカバーすることは殆ど不可能である。
【００５９】
そこで、本実施形態では、作業領域Ａ１を櫛形走行に適した幾つかのサブ作業領域に分割し、サブ作業領域毎に櫛形走行モードでの走行計画を立てる。
【００６０】
また、通常、車輪用モータエンコーダ１４により検出された車輪の回転角度に基づく走行距離、及びジャイロセンサ１５により検出された鉛直軸周りの回転角速度に基づく回転角度を用いて、該ロボット１の自己位置を随時求めて更新しているが、この自己位置には累積誤差が含まれるので、この自己位置の誤差を許容するような走行計画を立てる。
【００６１】
次に、図５に示すフローチャートに従って、作業領域Ａ１をサブ作業領域に分割し、サブ作業領域毎に櫛形走行モードでの走行計画を立てるための処理手順を説明する。尚、この処理は、計算機１３に付属する作業用メモリの領域上でデータを操作することによって行われる。
【００６２】
まず、計算機１３は、メモリ１８内の２次元配列の地図データをアクセスして、この地図データを作業用メモリに記憶する（ステップＳ１）。この２次元配列の地図データは、図４の部屋２８の作業領域Ａ１を示すものである。この作業領域Ａ１においては、自律走行ロボット１の現在位置が右下隅の充電ステーション２２の位置であり、この現在位置を該ロボット１の基準位置Ｐ１とする。
【００６３】
計算機１３は、櫛形走行モードＭ４におけるシフト移動の一定距離Ｌ１を２倍にして、距離２Ｌ１を設定し、作業用メモリ内の作業領域Ａ１において該距離２Ｌ１以下の幅の領域を検索する。そして、図６に示す様に該当する領域があれば、この領域を一時的な進入禁止領域Ａ３として設定する（ステップＳ２）。
【００６４】
例えば、シフト移動の一定距離Ｌ１は、自律走行ロボット１並びにブラシ１０の幅（４００mm）の８０％（３２０mm）に予め設定されている。この一定距離Ｌ１がブラシ１０の幅よりも短く設定されていることから、櫛形走行モードＭ４ではブラシ１０により清掃される領域が重複することになる。これは、自律走行ロボット１の自己位置の累積誤差等が原因となって、自律走行ロボット１の往復移動やシフト移動にある程度の誤差が生じても、ブラシ１０により清掃されない未清掃領域が残ることを避けるためである。
【００６５】
この場合は、進入禁止領域Ａ３は、距離２Ｌ１（６４０mm）以下の幅の領域ということになる。以降、進入禁止領域Ａ３を障害物領域Ａ２と同等に取扱う。
【００６６】
この進入禁止領域Ａ３は、自律走行ロボット１の走行経路の大きな誤差を抑えるために設定される。例えば、図７に示す様に自律走行ロボット１が実線で示す位置Ｐｂ１に存在する場合は、前進方向のリミット線２６、後進方向のリミット線２７、及び障害物領域Ａ２等で規定される範囲内で、該ロボット１が走行経路Ｔ７で櫛形走行することになる。
【００６７】
ところが、自律走行ロボット１の自己位置の累積誤差等が原因となって、該ロボット１が実際には破線で示す位置Ｐｂ２に存在する場合は、該ロボット１が障害物領域Ａ２の障害物に接触して、該ロボット１の走行が妨げられ、該ロボット１が回転してシフト移動するので、該ロボット１が走行経路Ｔ９で櫛形走行することになる。この走行経路Ｔ９は、本来の走行経路Ｔ７から大きく外れているので、該ロボット１による掃除領域も大きく外れてしまう。
【００６８】
そこで、自律走行ロボット１の自己位置に予想される最大の累積誤差が含まれている状態を前提とし、該ロボット１が通過することができない幅の領域、つまり距離２Ｌ１（６４０mm）以下の幅の領域を一時的に通行不可能な通行禁止領域とみなす。この場合は、前進方向のリミット線２９、後進方向のリミット線２７、及び障害物領域Ａ２等で規定される範囲内で、該ロボット１が走行経路Ｔ８で櫛形走行することになり、該ロボット１の自己位置の認識が正しいときの走行経路Ｔ８と該ロボット１の自己位置の認識に誤差があるときの走行経路Ｔ９との差は小さくなり、該ロボット１が掃除を行う領域の差も無視してよい程度まで低減することができる。
【００６９】
引き続いて、計算機１３は、図６に示す様に一定距離Ｌ１のシフト移動を含む櫛形走行モードＭ４での走行経路Ｔ２を描きつつ、作業領域Ａ１、障害物領域Ａ２、及び進入禁止領域Ａ３により規定される範囲における往復移動の規定距離Ｌ２とＬ３を求めて設定する。また同時に、計算機１３は、櫛形走行のシフト移動の方向（図６では左方向）について通路の分岐が発生するかを確認し、通路の分岐が発生するならば、この通路の分岐の領域を設定する。
【００７０】
この通路の分岐は、櫛形走行モードＭ４での走行経路Ｔ２によりカバーすることができない領域を走行するときに発生するものであり、この領域が分岐領域となる。また、自律走行ロボット１の自己位置が正しいとき、及び該ロボット１の自己位置に累積誤差が含まれるときのいずれについても、通路分岐の発生の可能性を推定し、分岐領域を設定する。
【００７１】
作業領域Ａ１では、シフト移動の左方向に２つの通路分岐が発生する可能性があり、２つの分岐領域Ａ４ａ、Ａ４ｂが設定される。
【００７２】
そして、計算機１３は、２つの分岐領域Ａ４ａ、Ａ４ｂを設定すると、これらの分岐領域Ａ４ａ、Ａ４ｂの手前までの領域を第１サブ領域Ａ５として確定して設定する（ステップＳ３）。これにより、櫛形走行モードＭ４での走行経路に分岐が発生しない第１サブ領域Ａ５、つまり櫛型走行のみによりカバーし得る第１サブ領域Ａ５が設定される。
【００７３】
この様に自律走行ロボット１の自己位置の累積誤差等が原因となって該ロボット１が実際に通過するか否かを特定することができない通行禁止領域を除外し、かつ櫛形走行モードＭ４での走行経路の分岐領域を除外して、サブ領域を設定しているので、櫛型走行のみにより確実にカバーし得るサブ領域を設定することができ、単純なルールの櫛形走行であっても、自律走行ロボット１を確実に計画通りに走行させることができるようになる。
【００７４】
引き続いて、計算機１３は、作業用メモリ内の第１サブ領域Ａ５において自律走行ロボット１を櫛形走行モードＭ４で走行させて、第１サブ領域Ａ５を櫛形走行でカバーするという簡易シミュレーションを実行する。この簡易シミュレーションの結果として、例えば第１サブ領域Ａ５における自律走行ロボット１の櫛形走行の動作終了位置が位置Ｐ２になると推定する。そして、計算機１３は、この第１サブ領域Ａ５における自律走行ロボット１の櫛形走行経路のパラメータとして、往復移動の回数Ｎｉ（ｉ＝１）、往復移動の規定距離Ｌ２ｉとＬ３ｉ（ｉ＝１）、及び櫛形走行モードＭ４を設定し、このパラメータを含むデータＲ１を作業用メモリに記憶する（ステップＳ４）。
【００７５】
例えば、往復移動の回数Ｎｉは、シフト移動方向におけるサブ領域の幅をシフト移動の一定距離Ｌ１で割った商である。また、往復移動の規定距離Ｌ２ｉとＬ３ｉは、サブ領域における動作開始位置からの前進方向の最長距離及び後進方向の最長距離である。
【００７６】
計算機１３は、その様に１つのサブ領域を設定すると、作業領域Ａ１において櫛形走行により未だにカバーされていないひとかたまりの領域をラベリング処理により抽出する（ステップＳ５）。例えば、図６に示す様に分岐領域Ａ４ｂが未だにカバーされておらず、分岐領域Ａ４ａ、領域Ａ６、及び進入禁止領域Ａ３からなるひとかたまりの領域も未だにカバーされていないので、未だにカバーされていない２つの領域が抽出される。
【００７７】
そして、計算機１３は、抽出した領域のうちから最大面積の領域を選択する（ステップＳ６）。ここでは、分岐領域Ａ４ａ、領域Ａ６、及び進入禁止領域Ａ３からなるひとかたまりの領域が最大面積となるので、このひとかたまりの領域が選択される。
【００７８】
更に、計算機１３は、分岐領域Ａ４ａ、領域Ａ６、及び進入禁止領域Ａ３からなる領域の全面積と基準面積とを比較して、新たなサブ領域の設定を行うか否かを決定する（ステップＳ７）。基準面積は、例えば図６に示す様な予め設定された領域Ａ７に相当の面積、すなわち０．６４m2（＝８００mm×８００mm）とする。分岐領域Ａ４ａ、領域Ａ６、及び進入禁止領域Ａ３からなる領域の全面積は、基準面積よりも大きいので、新たなサブ領域の設定を行うと判定する（ステップＳ７で「Ｙｅｓ」）。
【００７９】
次に、新たなサブ領域の設定を行う前段階として、２回目の櫛形走行での自律走行ロボット１の動作開始位置を求める。このために、計算機１３は、まず分岐領域Ａ４ａ、領域Ａ６、及び進入禁止領域Ａ３のうちからシフト移動の左方向とは逆の最も右方向にある進入禁止領域Ａ３を選択する。そして、計算機１３は、進入禁止領域Ａ３における充電ステーション２２に最も近い位置、つまり図６上で最も下側の位置を求めて、この位置を２回目の櫛形走行での自律走行ロボット１の動作開始位置Ｐ３として設定する（ステップＳ８）。この後、ステップＳ１からの処理に戻って、新たなサブ領域の設定の処理を開始する。
【００８０】
計算機１３は、まず図４の部屋２８の作業領域Ａ１を作業メモリに新規に記憶する（ステップＳ１）。
【００８１】
そして、計算機１３は、作業用メモリ内の作業領域Ａ１において距離２Ｌ１以下の幅の領域を検索する（ステップＳ２）。このとき、図６に示す進入禁止領域Ａ３には動作開始位置Ｐ３が設定されているので、この進入禁止領域Ａ３が設定されず、また他の進入禁止領域が無いので、進入禁止領域が設定されることはない。
【００８２】
引き続いて、計算機１３は、図８に示す様に一定距離Ｌ１のシフト移動を含む櫛形走行モードＭ４での走行経路Ｔ３を描きつつ、作業領域Ａ１及び障害物領域Ａ２により規定される範囲における往復移動の規定距離Ｌ２とＬ３を求めて設定し、櫛形走行のシフト移動の左方向について通路の分岐が発生するか否かを判定する。ここでは、通路の分岐が発生しないと判定し、櫛型走行のみによりカバーし得る第２サブ領域Ａ７を確定して設定する（ステップＳ３）。この第２サブ領域Ａ７は、分岐領域Ａ４ａ、領域Ａ６、及び進入禁止領域Ａ３のかたまりの領域に一致している。ただし、分岐領域や進入禁止領域Ａ３等があれば、これらを除外した領域が第２サブ領域となる。
【００８３】
引き続いて、計算機１３は、作業用メモリ内の第２サブ領域Ａ７において自律走行ロボット１を櫛形走行モードＭ４で走行させて、簡易シミュレーションを実行する。この簡易シミュレーションの結果、例えば第２サブ領域Ａ７における自律走行ロボット１の櫛形走行の動作終了位置が位置Ｐ４になると推定される。そして、計算機１３は、この第２サブ領域Ａ７における自律走行ロボット１の櫛形走行経路のパラメータとして、往復移動の回数Ｎｉ（ｉ＝２）、往復移動の規定距離Ｌ２ｉとＬ３ｉ（ｉ＝２）、及び櫛形走行モードＭ４を設定し、このパラメータを含むデータＲ２を作業用メモリに記憶する（ステップＳ４）。
【００８４】
この後、計算機１３は、作業領域Ａ１において櫛形走行により未だにカバーされていないひとかたまりの領域をラベリング処理により抽出する（ステップＳ５）。このとき、図８に示す様に各分岐領域Ａ４ａ、Ａ４ｂが未だにカバーされていないので、これらの領域が抽出される。
【００８５】
そして、計算機１３は、抽出した領域のうちから最大面積の領域を選択する（ステップＳ６）。ここでは、分岐領域Ａ４ｂが最大面積となるので、この分岐領域Ａ４ｂが選択される。
【００８６】
更に、計算機１３は、分岐領域Ａ４ｂと基準面積とを比較し、分岐領域Ａ４ｂが基準面積未満なので（ステップＳ７で「Ｎｏ」）、新たなサブ領域の設定を行わないことを決定する。
【００８７】
これまでの処理により、自律走行ロボット１の櫛形走行のパラメータを含むデータＲｍ（ｍ＝１，２，３…（自然数）、本実施形態ではｍ＝１，２）が設定された。データＲｉ毎に、往復移動の回数Ｎｉ、往復移動の規定距離Ｌ２とＬ３、及び櫛形走行モードＭ４を確認し、これらのパラメータに従って自律走行ロボット１を櫛形走行モードＭで走行させれば、該ロボット１の自己位置の累積誤差に起因する予期せぬ分岐発生を回避しながら、作業領域Ａ１の殆どをカバーする第１及び第２サブ領域Ａ５、Ａ７の櫛形走行が可能である。
【００８８】
こうしてサブ領域の設定が終了すると、次にｉ番目の第ｉサブ領域における櫛形走行の走行開始位置Ｐ２（ｉ−１）もしくは走行終了位置Ｐ２ｉ(ｉは自然数)と基準位置Ｐ１間で自律走行ロボット１が移動するためのそれぞれの走行経路の計画を実行する。
【００８９】
これらの走行経路は、壁沿い走行モードＭ３での走行経路である。この壁沿い走行モードＭ３を利用すれば、自律走行ロボット１の自己位置が壁沿いの走行経路上に拘束されるので、ロボットの自己位置の累積誤差の影響を受け難くすることができる。
【００９０】
また、サブ領域ｉにおける櫛形走行での走行終了位置Ｐ２ｉから次のサブ領域（ｉ＋１）における走行開始位置Ｐ２（ｉ＋１）への移動は基準位置Ｐ１を中継して行うこととする。これにより、基準位置Ｐ１に向かって壁沿い走行モードＭ３での走行が実行され、基準位置Ｐ１近傍で充電ステーション２２付属のＬＥＤ２３からの光信号がロボット１の受光素子回路２４で受光されて、受光素子回路２４により測定された自律走行ロボット１と充電ステーション２２間の離間距離だけ離れた壁沿いの走行経路上の位置を正確な自己位置として求めることが可能になり、車輪の滑りの累積誤差やジャイロの累積誤差を補償するができる。
【００９１】
この様な壁沿い走行モードＭ３での走行と基準位置Ｐ１を経由しての移動により、走行経路計画を確実に実行することができるという効果がある。
【００９２】
例えば、計算機１３は、先に述べた様に分岐領域Ａ４ｂが基準面積未満なので（ステップＳ７で「Ｎｏ」）、新たなサブ領域の設定を行わないことを決定すると、まず第１サブ領域Ａ５における動作終了位置Ｐ２から自律走行ロボット１の動作開始位置である基準位置Ｐ１へと壁沿い走行モードＭ３で走行移動するという簡易シミュレーションを実行する。動作終了位置Ｐ２から基準位置Ｐ１へと壁沿い走行モードＭ３で移動する経路としては、右回り方向と左回り方向の二通りの壁沿い走行経路が存在するが、これまでに求めた第１及び第２サブ領域Ａ５、Ａ７によりカバーされていない領域をより多くカバーし得る方向で壁沿い走行を行うようにする。ここでは、図９に示す様に未だにカバーされていない各分岐領域４ａ、４ｂを通過する右回り方向の走行経路Ｔ４が選択される。
【００９３】
尚、右回り方向と左回り方向のいずれを選択しても、壁沿い走行によりカバーし得る領域の面積に差がない場合は、距離の短い方向の走行経路を選択するものとする。
【００９４】
計算機１３は、その様にして１番目の壁沿い走行経路を決定すると、この壁沿い走行経路のパラメータとして、右回りか左回りかを示す方向パラメータＤｊ（ｊ＝１）、壁からの離間距離Ｌ４ｊ（ｊ＝１）、壁沿いでの移動距離Ｌ５ｊ（ｊ＝１）、及び壁沿い走行モードＭ３を設定し、このパラメータを含むデータｒ１を作業用メモリに記録する（ステップＳ９）。
【００９５】
引き続いて、計算機１３は、全てのサブ領域について壁沿い走行経路が求められたか否かを判定する（ステップＳ１０）。ここでは、第２サブ領域Ａ７についての壁沿い経路が未だに求められていないので、計算機１３は、全てのサブ領域について壁沿い走行経路が求められていないと判定し（ステップＳ１０で「Ｎｏ」）、基準位置Ｐ１から第２サブ領域Ａにおける動作開始位置Ｐ３へと壁沿い走行モードＭ３で走行移動するという簡易シミュレーションを実行して、これまでにカバーされていない領域をより多くカバーし得る方向の壁沿い走行経路を選択するか、これに該当する走行経路がなければ、図９に示す様に距離の短い方向の走行経路Ｔ５を選択し、この壁沿い走行経路のパラメータとして、右回りか左回りかを示す方向パラメータＤｊ（ｊ＝２）、壁からの離間距離Ｌ４ｊ（ｊ＝２）、壁沿いでの移動距離Ｌ５ｊ（ｊ＝２）、及び壁沿い走行モードＭ３を設定し、このパラメータを含むデータｒ２を作業用メモリに記録する（ステップＳ１１）。
【００９６】
また、計算機１３は、第２サブ領域Ａ７における動作終了位置Ｐ４から基準位置Ｐ１へと壁沿い走行モードＭ３で走行移動するという簡易シミュレーションを実行して、これまでにカバーされていない領域をより多くカバーし得る方向の壁沿い走行経路を選択するか、これに該当する走行経路がなければ、図９に示す様に距離の短い方向の走行経路Ｔ６を選択し、この壁沿い走行経路のパラメータとして、右回りか左回りかを示す方向パラメータＤｊ（ｊ＝３）、壁からの離間距離Ｌ４ｊ（ｊ＝３）、壁沿いでの移動距離Ｌ５ｊ（ｊ＝３）、及び壁沿い走行モードＭ３を設定し、このパラメータを含むデータｒ３を作業用メモリに記録する（ステップＳ１２）。
【００９７】
この後、ステップＳ１０に戻って、全てのサブ領域について移動経路が求められたか否かを判定する。ここでは、第１及び第２サブ領域Ａ５、Ａ７だけなので、計算機１３は、全てのサブ領域について壁沿い走行経路を求めたと判定し（ステップＳ１０で「Ｙｅｓ」）、これまでに求めた第１及び第２サブ領域Ａ５、Ａ７における櫛形走行経路を示すデータＲ１、Ｒ２、及び第１及び第２サブ領域Ａ５、Ａ７についての壁沿い走行経路を示すデータｒ１、ｒ２、ｒ３をメモリ１８に記憶する（ステップＳ１３）。
【００９８】
尚、３番目以降のサブ領域があれば、サブ領域毎に、ステップＳ１１、Ｓ１２を繰り返して、基準位置Ｐ１からサブ領域における動作開始位置への壁沿い走行経路及び該サブ領域における動作終了位置から基準位置Ｐ１への壁沿い走行経路を求めることになる。
【００９９】
この様に通行禁止領域及び分岐領域を除外して、作業領域Ａ１全体を櫛型走行のみにより確実にカバーし得る第１及び第２サブ領域Ａ５、Ａ７に分割し、第１及び第２サブ領域Ａ５、Ａ７における櫛形走行経路を示すデータＲ１、Ｒ２を求め、その上でサブ領域毎に、サブ領域における動作開始位置もしくは動作終了位置と基準位置Ｐ１間の壁沿い走行経路を求め、第１及び第２サブ領域Ａ５、Ａ７についての壁沿い走行経路を示すデータｒ１、ｒ２、ｒ３を求め、これらのデータＲ１、Ｒ２、ｒ１〜ｒ３をメモリ１８に記憶している。
【０１００】
こうしてサブ領域の櫛形走行経路及び壁沿い走行経路が設定されると、自律自走ロボット１による自律走行が可能になる。この自律走行に際しては、計算機１３がデータＲ１、Ｒ２、ｒ１〜ｒ３をメモリ１８から順次読み出し、読み出したデータによって示される櫛形走行経路または壁沿い走行経路に沿って自律走行ロボット１を走行させる。
【０１０１】
例えば、計算機１３は、まずデータＲ１をメモリ１８から読み出し、このデータＲ１に含まれる往復移動の回数Ｎｉ（ｉ＝１）、往復移動の規定距離Ｌ２ｉとＬ３ｉ（ｉ＝１）、及び櫛形走行モードＭ４に基づいて櫛形走行を行う。すなわち、図７に示す様な規定距離Ｌ２とＬ３のそれぞれのリミット線２６、２７間、いずれかのリミット線と障害物間、あるいは２つの障害物間で、往復移動の回数Ｎとなるまで自律走行ロボット１の往復移動及びシフト移動を繰り返す。例えば、計算機１３は、車輪用モータエンコーダ１４の検出出力に対応する走行距離及びジャイロセンサ１５の検出出力に対応する回転角度を監視して、自律走行ロボット１の自己位置を認識しながら、該ロボット１が規定距離Ｌ２とＬ３間を往復移動しつつ往復移動の折り返し地点毎に左方向に回転して一定距離Ｌ１だけシフト移動する様に車輪２の車輪用モータ３を駆動制御して櫛形走行を行う。あるいは、自律走行ロボット１が規定距離Ｌ２とＬ３に到達する前に障害物２５に当たったときには、外力検出用バンパ２０の検出出力に基づいて外部との接触を判定し、この判定に応じて自律走行ロボット１を回転させ、その向きを変更してシフト移動する様に左右の車輪２の車輪用モータ３を駆動制御して櫛形走行を行う。そして往復移動の回数が回数Ｎに到達して、第１サブ領域Ａ５がカバーされるまで櫛形走行を継続する。これにより、自律走行ロボット１が第１サブ領域Ａ５内で櫛形走行しつつ掃除し、該ロボット１が第１サブ領域Ａ５の動作終了位置Ｐ２に到達する。
【０１０２】
引き続いて、計算機１３は、データｒ１をメモリ１８から読み出し、このデータＲ３に含まれる右回りか左回りかを示す方向パラメータＤｊ（ｊ＝１）、壁からの離間距離Ｌ４ｊ（ｊ＝１）、壁沿いでの移動距離Ｌ５ｊ（ｊ＝１）、及び壁沿い走行モードＭ３に基づいて壁沿い走行を行う。例えば、計算機１３は、車輪用モータエンコーダ１４の検出出力に対応する走行距離、ジャイロセンサ１５の検出出力に対応する回転角度、外力検出用バンパ２０の検出出力に基づく外部との接触判定、及び距離センサ２１の検出出力に対応する壁面までの離間距離を監視して、自律走行ロボット１の自己位置を認識しながら、該ロボット１が壁面もしくは障害物から一定距離だけ離れて走行するように左右の車輪２の車輪用モータ３を駆動制御して壁沿い走行を行う。これにより、自律走行ロボット１が第１サブ領域Ａ５における動作終了位置Ｐ２から基準位置Ｐ１まで移動する。
【０１０３】
更に、計算機１３は、データｒ２をメモリ１８から読み出し、このデータｒ２に含まれる右回りか左回りかを示す方向パラメータＤｊ（ｊ＝２）、壁からの離間距離Ｌ４ｊ（ｊ＝２）、壁沿いでの移動距離Ｌ５ｊ（ｊ＝２）、及び壁沿い走行モードＭ３に基づいて壁沿い走行を実施し、自律走行ロボット１を基準位置Ｐ１から第２サブ領域Ａ７における動作開始位置Ｐ３まで移動させる。
【０１０４】
引き続いて、計算機１３は、データＲ２をメモリ１８から読み出し、このデータＲ２に含まれる往復移動の回数Ｎｉ（ｉ＝２）、往復移動の規定距離Ｌ２ｉとＬ３ｉ（ｉ＝２）、及び櫛形走行モードＭ４に基づいて櫛形走行を実施し、自律走行ロボット１を第２サブ領域Ａ７内で櫛形走行させつつ掃除させ、該ロボット１を第２サブ領域Ａ７における動作終了位置Ｐ４に到達させる。
【０１０５】
この後、計算機１３は、データｒ３をメモリ１８から読み出し、このデータｒ３に含まれる右回りか左回りかを示す方向パラメータＤｊ（ｊ＝３）、壁からの離間距離Ｌ４ｊ（ｊ＝３）、壁沿いでの移動距離Ｌ５ｊ（ｊ＝３）、及び壁沿い走行モードＭ３に基づいて壁沿い走行を実施し、自律走行ロボット１を第２サブ領域Ａ７の動作終了位置Ｐ４から基準位置Ｐ１まで移動させる。
【０１０６】
尚、サブ領域が３つ以上である場合も、基準位置からサブ領域の動作開始位置までの壁沿い走行、サブ領域内の櫛形走行、及びサブ領域の動作終了位置から基準位置までの壁沿い走行を繰り返すことになる。
【０１０７】
この様に本実施形態の自律走行ロボット１では、通行禁止領域及び分岐領域を除外して、作業領域全体を櫛型走行のみにより確実にカバーし得るサブ領域に分割し、サブ領域毎に櫛形走行を行っているので、単純なルールの櫛形走行であっても、自律走行ロボット１を確実に計画通りに走行させることができる。この様な単純なルールの櫛形走行は、センサの数が制限され、ある程度の自己位置の誤差があっても、この誤差を見込んで実現することが可能である。
【０１０８】
また、サブ領域間の移動を壁沿い走行で行っているので、自己位置の累積誤差が生じ難い。更に、サブ領域間の移動を基準位置を経由して行っているので、この基準位置近傍で自己位置を正確に検出して、自己位置の累積誤差を解消することができる。
【０１０９】
また、サブ領域と基準位置間の移動に際しては、サブ領域によりカバーされていない領域をカバーして走行するようにしているので、掃除されない領域を小さく抑えることができる。
【０１１０】
尚、本発明は、上記実施形態に限定されるものではなく、多様に変形することができる。自律走行ロボットの構造や作業内容等を適宜に変更しても構わない。また、走行距離、鉛直軸周りの回転角、障害物との接触、及び壁からの離間距離を検出するために、多様なセンサもしくはそれらを組み合わせたものを適宜に適用することができる。更に、作業領域がより複雑であっても構わない。
【図面の簡単な説明】
【０１１１】
【図１】本発明の自律走行ロボットの一実施形態を概略的に示す平面図である。
【図２】図１の自律走行ロボットの制御系の構成を示すブロック図である。
【図３】図１の自律走行ロボットによる櫛形走行モードでの櫛形走行経路の概略を示す図である。
【図４】図１の自律走行ロボットが走行する部屋（作業領域）を概略的に示す図である。
【図５】図１の自律走行ロボットの走行経路計画を立てるための処理を示すフローチャートである。
【図６】図４の作業領域における第１サブ領域での櫛形走行経路を示す図である。
【図７】図６の進入禁止領域の設定を説明するために用いた図である。
【図８】図４の作業領域における第２サブ領域での櫛形走行経路を示す図である。
【図９】図４の作業領域におけるサブ領域間の壁沿い走行経路を示す図である。
【符号の説明】
【０１１２】
１  自律走行ロボット
２  左右の車輪
３  車輪用モータ
４  減速機
５  車輪用モータドライバ
６  吸引経路
７  ゴミの捕集部
８  吸引用モータ
９  吸引用モータドライバ
１０  ブラシ
１１  ブラシ用モータ
１２  ブラシ用モータドライバ
１３  計算機
１４  車輪用モータエンコーダ
１５  ジャイロセンサ
１６  パルスカウンタ
１７  Ａ／Ｄ変換器
１８  メモリ
１９  バッテリ
２０  外力検出バンパ
２１  距離センサ
２２  充電ステーション
２３  ＬＥＤ
２４  受光素子回路
２５  障害物
２６、２７  リミット線
２８  部屋
【図１】
2007213236.tif 000003
【図２】
2007213236.tif 000004
【図３】
2007213236.tif 000005
【図４】
2007213236.tif 000006
【図５】
2007213236.tif 000007
【図６】
2007213236.tif 000008
【図７】
2007213236.tif 000009
【図８】
2007213236.tif 000010
【図９】
2007213236.tif 000011