(57)【要約】【課題】予め作業領域の地図を記憶すること無く作業領域に対して短時間で確実な作業をおこなう。【解決手段】走行モータを駆動制御して掃除ロボットの正面が進行方向に向くように旋回する。そして、直進走行を行う。このとき、同時に床面の掃除を行う。障害物センサが前方に壁などの障害物があることを検知すると、障害物の近くまで移動した後、走行を停止する。掃除ロボットは、常に自己位置を推定し、また、障害物の有無を検知し、属性マップに掃除済み領域と障害物の位置を走行不能領域として記録する。走行を検知し停止すると、続いて、属性マップを使用して最も近い未掃除領域を検索する。検索すると、その最も近い未掃除領域を目的地点としてそこへの最短経路を求め、この求めた最短経路に従って移動する。【選択図】    図７
2004326692.tif 000002
【特許請求の範囲】
【請求項１】
走行手段と作業手段を備え、前記走行手段にて自律走行しながら前記作業手段にて作業を行う自律走行ロボットにおいて、
作業対象領域内に存在する障害物を検知する障害物検知手段と、作業対象領域をセル単位に分割し、作業時、この作業対象領域に前記障害物検知手段が検知した障害物及び前記作業手段により作業済みとなった位置をセル単位で記録して地図を作成する地図作成手段と、作業時、現在位置から前記地図中の最も近い未作業セルを認識する認識手段と、前記障害物検知手段が進行方向前方に障害物を検知した時、前記認識手段が認識した未作業セルまで前記走行手段を走行制御する制御手段とを備えたことを特徴する自律走行ロボット。
【請求項２】
地図作成手段は、作業対象領域に障害物位置を走行不能セルとして記録し、作業済み位置を作業済みセルとして記録し、それ以外を未作業セルとし、制御手段は、現在位置から、前記走行不能セルを回避するようにして未作業セルまで前記走行手段を走行制御することを特徴とする請求項１記載の自律走行ロボット。
【請求項３】
制御手段は、作業済みセル及び未作業セルを走行可能セルとし、この走行可能セルに対して現在位置からの走行距離が長いセルほど高いポテンシャルを与え、未作業セルの中で最も低いポテンシャルを持っているセルを検出し、そのセルまで前記走行手段を走行制御することを特徴とする請求項２記載の自律走行ロボット。
【請求項４】
制御手段は、未作業セルの中で最も低いポテンシャルを持っているセルまでポテンシャルが順次低下する経路を計画し、前記経路を逆順に辿るように走行制御することを特徴とする請求項３記載の自律走行ロボット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、作業対象領域を自律走行し、地図を作成しつつ作業を行う自律走行ロボットに関する。
【０００２】
【従来の技術】
従来、自律走行ロボットは、予め作成された作業領域の地図を記憶しておき、作業計画に基づいて地図を参照しながら作業領域を走行して作業を行うものや、予め作業領域の周囲を１周させて作業領域の地図を作成して記憶し、作業計画に基づいて地図を参照しながら作業領域を走行して作業を行うものが知られている（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開平０５−４６２３９号公報（段落「００１２」〜「００２４」等）
【０００４】
【発明が解決しようとする課題】
しかしながら、予め作業領域の周囲を１周させて地図を作成するものでは、地図を作成するのに手間かがかかり、特に、複雑な形状の作業領域の地図を事前に作成する場合には多大な時間を要し、実際の作業を終了するまでの作業時間が長くかかるという問題があった。
本発明は、予め作業領域の地図を記憶すること無く作業領域に対して短時間で確実な作業ができる自律走行ロボットを提供する。
【０００５】
【課題を解決するための手段】
本発明は、走行手段と作業手段を備え、走行手段にて自律走行しながら作業手段にて作業を行う自律走行ロボットにおいて、作業対象領域内に存在する障害物を検知する障害物検知手段と、作業対象領域をセル単位に分割し、作業時、この作業対象領域に障害物検知手段が検知した障害物及び作業手段により作業済みとなった位置をセル単位で記録して地図を作成する地図作成手段と、作業時、現在位置から地図中の最も近い未作業セルを認識する認識手段と、障害物検知手段が進行方向前方に障害物を検知した時、認識手段が認識した未作業セルまで走行手段を走行制御する制御手段とを備えたことにある。
【０００６】
【発明の実施の形態】
以下、本発明の一実施の形態を、図面を参照して説明する。なお、この実施の形態は、本発明を自走式掃除ロボットに適用したものについて述べる。
【０００７】
図１及び図２は自走式掃除ロボットの構成を示す図で、下部が略円形状で上部が略半球形状になっている筐体１の前面上部に各種ボタンや表示器等を設けた操作パネル２を配置し、前記筐体１の下部に前面から側面に跨ってバンパー３を設け、そのバンパー３上に障害物検知手段として超音波センサからなる複数の障害物センサ４を配置している。前記障害物センサ４は、例えば、前面から見える位置に所定の間隔をあけて３個配置し、左右の側面に所定の間隔をあけて２個ずつ配置している。障害物センサ４は、前方及び左右の障害物を検出する。
【０００８】
前記筐体１内には、作業手段として、クリーナモータ５とこのモータ５で回転するファン６とこのファン６の回転により底部に設けた吸込口７から塵を吸込んで集める集塵室８が収納されている。
【０００９】
また、前記筐体１の底部略中央の左右にそれぞれ左駆動輪９ａ、右駆動輪９ｂを取り付け、この各駆動輪９ａ，９ｂをそれぞれ左走行モータ１０ａ、右走行モータ１０ｂで回転駆動するようにしている。前記各駆動輪９ａ，９ｂ及び各走行モータ１０ａ，１０ｂは走行手段を構成している。そして、前記各駆動輪９ａ，９ｂの回転をそれぞれロータリー式エンコーダ１１ａ、１１ｂで検出するようにしている。
【００１０】
前記筐体１の底部後端中央には回転自在で方向が左右に自由に旋回する旋回輪１２が取り付けられている。また、前記筐体１内には、ＣＰＵ、ＲＯＭ、ＲＡＭ等の制御回路部品を組み込んだ回路基板１３及び各部に電源を供給するバッテリ１４が収納されている。
【００１１】
図３は制御部の構成を示すブロック図で、２１は制御部本体を構成するＣＰＵ、２２はこのＣＰＵ２１が各部を制御するプログラムが格納されたＲＯＭ、２３は各種のデータを格納するメモリを設けたＲＡＭである。また、２４は前記操作パネル２、障害物センサ４、クリーナモータ５を回転制御するモータ制御部２５、左右の走行モータ１０ａ，１０ｂを回転制御するモータ制御部２６及び前記左右のエンコーダ１１ａ，１１ｂに対して信号の入出力制御を行うＩ／Ｏポートである。前記ＣＰＵ２１と、ＲＯＭ２２、ＲＡＭ２３及びＩ／Ｏポート２４とはバスライン２８を介して電気的に接続されている。
【００１２】
図４は制御部の構成を機能的に示す機能ブロック図で、この掃除ロボットは、機能的には、前記ＲＡＭ２３からなり、前記バッテリ１４によって電源のバックアップを受けている記憶部３１、前記ＣＰＵ２１、ＲＯＭ２２、Ｉ／Ｏポート２４の複合体からなる制御部３２を有する。
【００１３】
前記記憶部３１には、作業対象領域に対して作成される地図を記憶するための地図記憶部３１１が設けられている。
前記制御部３３は、前記モータ制御部２６を制御する走行制御部３２１、前記左右のエンコーダ１１ａ，１１ｂの出力から移動量と移動方向を算出し、この算出した移動量と移動方向から現在の位置を推定する自己位置推定部３２２、前記モータ制御部２５を制御するクリーナ制御部３２３、掃除対象領域をセル単位に分割し、掃除作業時、この掃除対象領域に前記障害物センサ４が検知した障害物及び掃除済みとなった位置をセル単位で記録して地図を作成する地図作成部３２４を設けている。
【００１４】
掃除ロボットは、掃除を開始すると、先ず、地図記憶部３１１のマップを初期化する。マップとしては、図５に示す属性マップＭＡ１と図６に示すポテンシャルマップＭＡ２の２つ用意する。これらのマップＭＡ１、ＭＡ２は作業対象領域をセル単位に分割している。
【００１５】
前記属性マップＭＡ１は、作業対象領域を未掃除領域、掃除済み領域、走行不能領域という属性で管理するマップであり、それぞれ対応するセルを未作業セル、作業済みセル、走行不能セルと称する。前記ポテンシャルマップＭＡ２は、作業対象領域内においてある位置から任意の位置までの経路長をポテンシャルとして表現するマップである。
【００１６】
掃除ロボットは、マップを初期化すると、図７に示す走行制御を行うようになっている。先ず、Ｓ１にて、進行方向を整える。これは、左右の走行モータ１０ａ，１０ｂを駆動制御して正面が進行方向に向くように旋回する。続いて、Ｓ２にて、左右の走行モータ１０ａ，１０ｂを駆動制御して直進走行を行う。このとき、同時にクリーナモータ５を駆動制御して床面の掃除を行う。そして、Ｓ３にて、障害物センサ４が前方に壁などの障害物があることを検知すると、障害物の近くまで移動した後、走行を停止する。
【００１７】
この動作において、掃除ロボットは、常に、自己位置推定部３２２により自己位置を推定し、また、障害物センサ４によって前方及び左右の障害物の有無を検知し、属性マップＭＡ１に掃除済み領域と障害物の位置を走行不能領域として記録する。なお、属性マップＭＡ１においては初期化した段階では全てが未掃除領域となっている。
【００１８】
障害物を検知し、停止すると、続いて、Ｓ４にて、属性マップＭＡ１から最も近い未掃除領域を検索する。この未掃除領域の検索は、前記ポテンシャルマップＭＡ２を使用する。すなわち、図６に示すように、掃除ロボットＲＣの現在位置を中心としたポテンシャルマップを作成する。ここでは掃除ロボットＲＣの現在位置のポテンシャルを−１とし、距離が離れるに従ってポテンシャルを「１」から順に大きくしている。
【００１９】
また、前記属性マップＭＡ１において障害物のために走行不能領域として記録した位置に相当するポテンシャルマップＭＡ２のセルに走行禁止ポテンシャルとして、例えば無限大∞を与える。また、掃除ロボットＲＣが走行不能領域に近づき過ぎないようにマージンを取る。すなわち、走行禁止ポテンシャルを与えたセルの周囲のセルにも走行禁止ポテンシャルを与える。
【００２０】
従って、前記属性マップＭＡ１に記録した掃除済み領域が図中斜線で示す領域Ｍ１で、走行不能領域が図中クロスで示す領域Ｍ２で、未掃除領域が図中白で示す領域Ｍ３であったとすると、未掃除領域が存在することを判断し、未掃除領域Ｍ３のうち、最も近い未掃除セルを検索する。最も近い未掃除セルはポテンシャルマップＭＡ２における未掃除領域の中でポテンシャルがもっとも小さいセルとなる。図６ではポテンシャルが「８」のセルとなる。
【００２１】
最も近い未掃除セルを検索すると、続いて、Ｓ５にて、Ｐｏｉｎｔ  Ｔｏ  Ｐｏｉｎｔ走行制御（以下、ＰＴＰ走行制御と称する。）を行う。すなわち、掃除ロボットＲＣは、未掃除領域Ｍ３のうちの最も近いセルを目的地点としてそこへ最短経路で走行する計画を行う。この計画は、ポテンシャルマップＭＡ２を利用する。すなわち、目的地点のポテンシャル「８」からポテンシャルが順に小さくなるようにセルを辿って現在位置まで到達する経路を算出することで最短経路を求めることができる。そして、この求めた経路を図６に矢印で示すように逆に辿って走行する。これによって、掃除ロボットＲＣを、走行不能領域Ｍ２を迂回しながら未掃除領域Ｍ３のうちの最も近い未掃除セルへ最短経路で移動できる。
【００２２】
Ｓ５におけるＰＴＰ走行制御を終了すると、再びＳ１に戻って進行方向を整え、直進走行を繰り返す。そして、Ｓ４にて、未掃除領域Ｍ３が無くなったことを判断すると、一連掃除制御を終了する。
【００２３】
例えば、図８に示すような周囲が壁４１に囲まれ、かつ、壁４１の対向面から突出した１対の障害物４２，４３がある四角形状の部屋を掃除することを想定する。この部屋に対してＸ軸とＹ軸を図に示すように定めておく。
【００２４】
先ず、掃除ロボットＲＣは、左下隅のＡ位置で進行方向をＹ軸の正方向に整え、Ｂ位置へ向かって直進走行し、掃除を行う。やがて、前方に障害物を検知し、Ｂ位置で停止する。
【００２５】
そして、最も近い未掃除セルを検索する。このときの最も近い未掃除セルは右隣りのセルとなるので、掃除ロボットＲＣは右に９０度向きを変えてそのセルまで移動する。この位置で進行方向をＹ軸の負方向に整え、Ｃ位置へ向かって直進走行し、掃除を行う。やがて、前方に障害物を検知し、Ｃ位置で停止する。
【００２６】
そして、最も近い未掃除セルを検索する。このときの最も近い未掃除セルは左隣りのセルとなるので、掃除ロボットＲＣは左に９０度向きを変えてそのセルまで移動する。この位置で進行方向をＹ軸の正方向に整え、Ｄ位置へ向かって直進走行し、掃除を行う。
このようにして、連続した未掃除領域が続いている作業領域では、この一連の走行制御によって掃除ロボットＲＣは一般的なジグザグ走行しながら掃除を行うとともに属性マップＭＡ１に掃除済み領域Ｍ１及び走行不能領域Ｍ２を記録する。
【００２７】
掃除ロボットＲＣは、Ｄ位置に到達すると、最も近い未掃除セルを検索するが、Ｄ位置では左右のいずれにも隣接した未掃除セルはない。このときは、最も近い未掃除セルとしてＥ位置を検索する。そして、Ｄ位置からＥ位置へＰＴＰ走行制御によって移動する。
【００２８】
掃除ロボットＲＣはＥ位置に到達すると、進行方向を整えてから直進し、前方に障害物を検出すると最も近い未掃除セルを検索し、その位置までＰＴＰ走行制御によって移動する。この一連の動作を繰り返して図中矢印で示すような走行を行いながら掃除を行う。そして、Ｆ位置に到達すると、この位置でも最も近い未掃除セルを検索するが、ここでは左右のいずれにも等距離の位置に未掃除セルが存在する。このような場合に対処するためにＸ軸やＹ軸の正負のどちらを優先するかのデフォルトルールを予め定めておく。例えば、Ｘ軸の負方向を優先した場合は、掃除ロボットＲＣは左に９０度向きを変えてそのセルまで移動する。この位置で進行方向をＹ軸の負方向に整え、Ｇ位置へ向かって直進走行し、掃除を行う。やがて、前方に障害物を検知し、Ｇ位置で停止する。
【００２９】
そして、最も近い未掃除セルを検索する。このときの最も近い未掃除セルは左側のＨ位置となるので、掃除ロボットＲＣは左に９０度向きを変えＰＴＰ走行制御によってＨ位置まで移動となるので、Ｈ位置に到達すると、進行方向をＹ軸の正方向に整え、Ｉ位置へ向かって直進し掃除を行う。こうしてＩ位置まで到達すると、作業対象領域は全て掃除済み領域と走行不能領域になっているので、未掃除領域はなく掃除は終了することになる。
【００３０】
図９は図８に示すレイアウトの部屋を掃除したときの属性マップＭＡ１の記録状態を示した図で、セル分割された全体は作業対象領域であり、最初はすべて未掃除領域Ｍ３になっている。そして、掃除ロボットＲＣがＡ位置から移動を開始して掃除を行いつつ掃除済み領域Ｍ１を記録するとともに障害物センサ４で障害物を検知し、走行不能領域Ｍ２として記録する。
【００３１】
従って、掃除ロボットＲＣがＩ位置の手前のＨ′位置へ到達した時には属性マップＭＡ１の記録状態は図９に示すようになっている。このときには、まだ、前方の壁を障害物センサ４で検知していないので、白で示す領域はすべて未掃除領域Ｍ３になっている。その後掃除ロボットＲＣが走行すると右側にある壁が障害物として検知されるようになり、掃除ロボットＲＣがＩ位置に到達した前方の壁が障害物として検知されると、掃除済み領域Ｍ１の周囲が全て走行不能領域Ｍ２で囲まれる。この時点で、掃除ロボットは走行不能領域Ｍ２の外側には移動できないと判断するため、走行不能領域Ｍ２の外側の未掃除領域Ｍ３を、Ｍ２と同様と見なす。これにより、未掃除領域がなくなったものと判断して掃除を終了する。
【００３２】
このように、予め作業領域の地図を作成してから掃除を行うではなく、掃除を行いながら作業対象領域の各セルを掃除済み領域と走行不能領域として埋めながら地図を作成し、未掃除領域が無くなった時点で掃除終了としているので、掃除作業を短時間で行うことができる。しかも、未掃除領域を常に確認しながら掃除を行うので、未掃除領域を残すことはなく確実な掃除ができる。
【００３３】
また、掃除ロボットＲＣを最も近い未掃除セルに移動させるのに、ポテンシャルマップＭＡ２を使用し、目的地点のポテンシャルからポテンシャルが順に小さくなるようにセルを辿って掃除ロボットＣＲの位置まで到達する経路を算出し、この算出した経路を逆に辿って走行するので、目的とする未掃除領域の最も近いセルへ最短経路で移動でき、従って、短時間で移動できる。
【００３４】
図１０は周囲が壁４１に囲まれた四角形状の部屋の中にコの字形の障害物４４がある場合の掃除経路を示している。この部屋に対してもＸ軸とＹ軸を図に示すように定めておく。
【００３５】
先ず、掃除ロボットＲＣは、左下隅のＡ位置で進行方向をＹ軸の正方向に整え、Ｂ位置へ向かって直進走行し、掃除を行う。やがて、前方に障害物を検知し、Ｂ位置で停止する。そして、最も近い未掃除セルとして右隣りのセルを検索し、掃除ロボットＲＣは右に９０度向きを変えてそのセルまで移動する。この位置で進行方向をＹ軸の負方向に整えＣ位置へ向かって直進走行し、掃除を行う。やがて、前方に障害物を検知し、Ｃ位置で停止する。
【００３６】
そして、最も近い未掃除セルとして左隣りのセルを検索し、掃除ロボットＲＣは左に９０度向きを変えてそのセルまで移動する。この位置で進行方向をＹ軸の正方向に整え直進走行し、掃除を行う。そして、障害物センサ４がＤ位置で障害物４４を検知するので、掃除ロボットＲＣは停止する。
【００３７】
ここで、最も近い未掃除セルとして右隣りのセルを検索し、掃除ロボットＲＣは右に９０度向きを変えてそのセルまで移動する。この位置で進行方向をＹ軸の負方向に整え直進走行し、掃除を行い、前方に壁４１を検知し、Ｅ位置で停止する。
このようにして、掃除ロボットＲＣは前方に障害物を検出すると最も近い未掃除セルを検索してＰＴＰ走行制御によって走行しながら掃除を行うとともに、属性マップＭＡ１に掃除済み領域Ｍ１及び走行不能領域Ｍ２を記録する。
【００３８】
掃除ロボットＲＣは、やがてＦ位置に到達すると、この位置でも最も近い未掃除セルを検索するが、ここでは左右のいずれにも等距離の位置に未掃除セルが存在する。例えば、Ｘ軸の負方向を優先していれば、掃除ロボットＲＣは左に９０度向きを変えてそのセルまで移動する。この位置で進行方向をＹ軸の負方向に整え直進走行し、掃除を行い、前方に障害物４４を検知し、Ｇ位置で停止する。
【００３９】
その後も掃除ロボットＲＣは走行しながら掃除を行うとともに、属性マップＭＡ１に掃除済み領域Ｍ１及び走行不能領域Ｍ２を記録する。そして、Ｈ位置に到達すると、その左右両隣りには未掃除セルが無く、掃除ロボットＲＣは最も近い未掃除セルとしてＩ位置を検索し、その位置へＰＴＰ走行制御によって移動する。
【００４０】
Ｉ位置に到達した掃除ロボットＲＣはＹ軸の負方向へ向かって直進走行し、掃除を行い、前方に障害物４４を検知し、Ｊ位置で停止する。このＪ位置で最も近い未掃除セルを検索するが、直ぐ近くには無く、最も近い未掃除セルとしてＫ位置を検索する。掃除ロボットＲＣはＪ位置からＫ位置までＰＴＰ走行制御によって移動する。
【００４１】
Ｋ位置に到達すると、右に９０度向きを変え進行方向をＹ軸負方向に整えてから直進し掃除を行う。やがて、前方に壁４１を検知し、Ｌ位置で停止する。そして、最も近い未掃除セルを検索するが、残っている未掃除領域はＭ位置近傍のみであり、掃除ロボットＲＣは向きを反転し、Ｙ軸の正方向へ直進走行して掃除を行う。そして、障害物センサ４がＭ位置で壁４１を検知すると掃除ロボットＲＣは停止する。Ｍ位置に到達すると、作業対象領域は全て掃除済み領域と走行不能領域になっているので、未掃除領域はなく掃除は終了することになる。
【００４２】
このように掃除する部屋のレイアウトが複雑であっても、短時間で確実な掃除ができる。
なお、この実施の形態は、本発明を掃除ロボットに適用したものについて述べたがこれに限定するものではなく、走行しながら掃除以外の他の作業を行うロボットにも適用できるものである。
【００４３】
【発明の効果】
以上詳述したように本発明によれば、予め作業領域の地図を記憶すること無く作業領域に対して短時間で確実な作業ができる自律走行ロボットを提供できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る掃除ロボットの外部構成を示す正面図。
【図２】同実施の形態に係る掃除ロボットの内部構成を示す一部切欠した側面図。
【図３】同実施の形態における制御部のハード構成を示すブロック図。
【図４】同実施の形態における制御部の構成を機能的に示す機能ブロック図。
【図５】同実施の形態における地図記憶部に形成される属性マップの例を示す図。
【図６】同実施の形態における地図記憶部に形成されるポテンシャルマップの例を示す図。
【図７】同実施の形態における掃除ロボットの走行制御を示す流れ図。
【図８】同実施の形態における掃除ロボットによる掃除走行例を示す図。
【図９】図８の掃除走行例における属性マップの記録状態を示す図。
【図１０】同実施の形態における掃除ロボットによる他の掃除走行例を示す図。
【符号の説明】
４…障害物センサ、５…クリーナモータ、９ａ，９ｂ…駆動輪、１０ａ，１０ｂ…走行モータ、１１ａ，１１ｂ…ロータリー式エンコーダ、２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、３１１…地図記憶部、３２１…走行制御部、３２２…自己位置推定部、３２３…クリーナ制御部、３２４…地図作成部。
【図１】
2004326692.tif 000003
【図２】
2004326692.tif 000004
【図３】
2004326692.tif 000005
【図４】
2004326692.tif 000006
【図５】
2004326692.tif 000007
【図６】
2004326692.tif 000008
【図７】
2004326692.tif 000009
【図８】
2004326692.tif 000010
【図９】
2004326692.tif 000011
【図１０】
2004326692.tif 000012