(57)【要約】【課題】家庭内の部屋を自走ロボットで掃除させるため、その部屋のレイアウトや家具などの障害物の位置や大きさを認識して、部屋の床面を障害物を回避しながら、隅々まで隈なく走行させること。【解決手段】本発明の自走ロボットは、部屋天井にマーカーを配置し、この位置および方向を自走ロボットで読み取ることにより、相対的に自走ロボットの位置および方向を認識するとともに、部屋のレイアウトや障害物の位置および自走ロボットの位置を行列データとして管理し、自走ロボットの走行経路を制御する。【選択図】    図１
2004185586.tif 000002
【特許請求の範囲】
【請求項１】
部屋天井に配置されたマーカーの位置および方向を読み取ることにより、相対的に自走ロボット自身の二次元的な位置および方向を認識する認識部と、部屋のレイアウトを記憶するレイアウト記憶部と、自走ロボットの走行した位置を記憶する現在位置データ記憶部と、自走ロボットの駆動機構を制御する機構制御部と、全体の制御を統括する主制御部とを備え、絶えず部屋内における自身の位置と方向を認識しながら走行することを特徴とする自走ロボット。
【請求項２】
部屋の床面積を、自走ロボットの床投影面積以下の大きさの枡で碁盤目状に区分し、一つの碁盤目を行列の一つの成分とする行列データシートを作成し、自走ロボットの現在位置を碁盤目に対応させて認識し、行列データシートに現在位置データを逐次入力して、走行経路を管理することを特徴とする自走ロボットの制御方法。
【請求項３】
部屋に配置されたマーカーを認識して、自走ロボット自身の位置および方向を特定し、対応する部屋の行列データシートにデータを入力して、現在位置および走行経路を管理することを特徴とする請求項２記載の自走ロボットの制御方法。
【請求項４】
行列データシート上で、ロボットが走行した経路の成分に、特定の英数字（例えば１）を入力し、走行していない経路の成分には、異なる他の英数字（例えば０）を入力して、走行経路を管理することを特徴とする請求項３記載の自走ロボットの制御方法。
【請求項５】
天井に複数個のマーカーを点列状に、かつ、二つ以上の点列が交差するように配置し、この交差する点列状のマーカーを認識することにより、自走ロボットの現在位置および方向を特定することを特徴とする請求項３記載の自走ロボットの制御方法。
【請求項６】
交差する二つ以上の点列状に配置されたマーカーの、各点列パターンに違いを持たせることにより、部屋の番号もしくは部屋の方向を判断することを特徴とする請求項５記載の自走ロボットの制御方法。
【請求項７】
行列データシート上に、部屋の輪郭および障害物の位置・形状に関するデータを入力し、自走ロボットの走行領域を限定することを特徴とする請求項２記載の自走ロボットの制御方法。
【請求項８】
部屋の床面積をｍ行ｎ列の行列データシートで表し、ｉ行目（ｉ＝１〜ｍ−１）の列成分ｊ（ｊ＝１〜ｎ）で、未走行の経路成分があればその経路成分を走破する方向に走行し、ｉ行目の列成分ｊ（ｊ＝１〜ｎ）で未走行の経路成分がなければ、（ｉ＋１）行目に移動して走行することを特徴とする請求項２記載の自走ロボットの制御方法。
【請求項９】
部屋の床面積をｍ行ｎ列の行列データシートで表し、障害物が占める領域成分を小行列で表すとともに、ｍ行ｎ列の行列データを前記障害物の領域成分を表す小行列を含む行列に分解し、相隣る小行列で未走行経路成分を含む小行列がある場合は、これを一つの共通の領域として走行することを特徴とする請求項２記載の自走ロボットの制御方法。
【請求項１０】
行または列方向に走行し、予期せぬ障害物を検知した場合はこの障害物の回りを１週してその大きさと形状を行列データとして認識し、以降の走行パターンを決定することを特徴とする請求項３記載の自走ロボットの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、掃除ロボットなど自立的に走行するロボットとその制御方法に関する。特に、外界センサーによりロボット自身の位置と姿勢を確認しながら、一定の領域内を隈なく走行させることを目的としている。
【０００２】
【従来の技術】
従来から自走ロボットの制御方法として、様々な方法が考案されている。代表的なものとしては、ビデオカメラを使って、ロボットの外界を三次元的に認識して障害物を回避して走行する方法や、天井や床面に点状もしくはライン状のランドマーカーを配置して、そのランドマーカーをロボット自身のセンサーで読み取り、走行経路を制御する方法などがある。また、超音波センサーなどを使って障害物を検知し、この障害物を自立的に回避しながら走行する方法も考案されている。
【０００３】
しかし、これら従来の技術は、掃除ロボットとして採用する場合には、多くの問題がある。例えばビデオカメラを使った方法では、様々な障害物の置かれている部屋のレイアウト環境を認識して、障害物を避けながら、かつ、部屋の隅々まで隈なく走行し掃除をさせるためには、相当大掛かりな環境認識装置が必要となり、大きさの点からも価格の点からも掃除機に搭載することが困難である。特に、部屋の視覚認識データや様々の障害物のデータを予め記憶させておく必要があり、不特定多数の環境で使用することは極めて困難である。
また、従来のランドマーカーを使った方法は、工場内での無人搬送ロボットのように、あらかじめ与えられた走行経路を与えられたプログラムによって走行させることは可能であるが、家庭内掃除ロボットのような用途で、様々なレイアウトと障害物が存在す領域全体を隈なく自立走行させることは困難である。
【０００４】
【発明が解決しようとする課題】
一般的に、家庭の部屋を自走ロボットで掃除させようとする場合、その部屋のレイアウトや家具などの障害物の位置や大きさを認識して、部屋の床面を隅々まで隈なく走行させることが必要になる。本発明の目的は、天井部に設けられた簡単なマーカーとロボット自身が有するマーカーセンサーを使用して、ロボット自身が部屋の輪郭、部屋内における自身の位置と方向、および、障害物の大きさと位置などを概略認識し、この認識したデータを基にして、部屋を隅々まで走行する方法を提供することである。
【０００５】
【課題を解決するための手段】
本発明の自走ロボットは、部屋天井に配置されたマーカーの位置および方向を読み取ることにより、相対的に自走ロボット自身の二次元的な位置および方向を認識する認識部と、部屋のレイアウトを記憶するレイアウト記憶部と、自走ロボットの走行した位置を記憶する現在位置データ記憶部と、自走ロボットの駆動機構を制御する機構制御部と、全体の制御を統括する主制御部とを備え、絶えず部屋内における自身の位置と方向を認識しながら走行する。
このような構成にすることにより、自走ロボットの現在位置、走行した径路、および、走行すべき経路を自走ロボット自身で常時管理することが可能となり、部屋全体を隈なく効率的に走行させることができる。
【０００６】
別の観点による自走ロボットは、部屋の床面積を、自走ロボットの床投影面積以下の大きさの枡で碁盤目状に区分し、一つの碁盤目を行列の一つの成分とする行列データシートを作成し、自走ロボットの現在位置をこの碁盤目に対応させて認識し、行列データシートに現在位置データを逐次入力して、走行経路を管理する自走ロボットの制御方法を有している。
このような方法で制御することにより、自走ロボットの現在位置および走行した径路をある大きさの碁盤目を単位として、行列データとして管理することが可能となり、現在位置の特定を簡単化することが可能となる。
【０００７】
別の観点による自走ロボットは、部屋天井に配置されたマーカーの位置および方向を読み取ることにより、相対的に自走ロボット自身の二次元的な位置および方向を特定し、対応する部屋の行列データシートにデータを入力して、現在位置および走行経路を管理することを特徴とする自走ロボットの制御方法を有している。
このような方法で制御することにより、部屋に配置されたマーカーを読み取ることにより簡単に自走ロボット自身の現在位置を特定できるとともに、行列データシートと対応させ、行列データとして自身の位置を記憶するため、メモリーの容量を大幅に削減することができる。
【０００８】
別の観点による自走ロボットは、行列データシート上で、ロボットが走行した経路の成分に、特定の英数字（例えば１）を入力し、走行していない経路の成分には、異なる他の英数字（例えば０）を入力して、走行経路を管理する自走ロボットの制御方法を有している。
このような方法で制御することにより、自走ロボットが走行していない領域と走行し終えた領域を行列式として把握することができ、数学的な処理で走行経路データの管理を行うことが可能となり、制御システムを簡単にすることができる。
【０００９】
別の観点による自走ロボットは、天井に複数個のマーカーを点列状に、かつ、二つ以上の点列が交差するように配置し、この交差する点列状のマーカーを認識することにより、自走ロボットの相対位置および方向を特定する自走ロボットの制御方法を有している。
このような方法で制御することにより、自走ロボットから天井を見たときに、自走ロボットと天井との間に何らかの障害物があり、視界の一部が遮られた場合でも、確実に位置および方向を認識することが可能となる。
【００１０】
別の観点による自走ロボットは、交差する二つ以上の点列状に配置されたマーカーの、各点列パターンに違いを持たせることにより、部屋の番号もしくは部屋の方向を判断する自走ロボットの制御方法を有している。
このような方法で制御することにより、異なる複数個の部屋を自走させる場合に、自走ロボットは自身で対象とする部屋の種類を認識し、部屋のレイアウト等自走するために必要な記憶データを引き出すことが可能となる。
【００１１】
別の観点による自走ロボットは、行列データシート上に、部屋の輪郭および障害物の位置・形状に関するデータを入力し、自走ロボットの最大走行領域を限定する自走ロボットの制御方法を有している。
このような方法で制御することにより、自走ロボットが本来進入しては困る領域、例えば、部屋のドアーや縁側などの開口部に侵入することなく走行することができる。
【００１２】
別の観点による自走ロボットは、部屋の床面積をｍ行ｎ列の行列データシートで表し、ｉ行目（ｉ＝１〜ｍ−１）上の列成分（ｊ＝１〜ｎ）で、未走行の経路成分があればその経路成分を走破する方向に走行し、ｉ行目上の列成分（ｊ＝１〜ｎ）で未走行の経路成分がなければ、ｉ＋１行目（ｉ＝１〜ｍ−１）に移動して走行する自走ロボットの制御方法を有している。
このような方法で制御することにより、簡単な論理で、部屋全体を隈なく走行することができる。
【００１３】
別の観点による自走ロボットは、部屋の床面積をｍ行ｎ列の行列データシートで表し、障害物が占める領域成分を小行列で表すとともに、ｍ行ｎ列の行列データを前記障害物の領域成分を表す小行列を含む行列に分解し、相隣る小行列で未走行領域成分を含む小行列がある場合は、これを一つの共通の領域として走行する自走ロボットの制御方法を有している。
このような方法で制御することにより、部屋全体を走行し易い幾つかのまとまった領域に区分して走行することが可能となり、効率的に部屋全体を自走することができる。
【００１４】
別の観点による自走ロボットは、行または列方向に走行し、予期せぬ障害物を検知した場合はこの障害物の回りを１週してその大きさと形状を行列データとして認識し、以降の走行パターンを決定する自走ロボットの制御方法を有している。
このような方法で制御することにより、部屋の中央に予期せぬ障害物が存在した場合も、部屋全体を走行し易い幾つかの領域に区分し、効率的に自走することができる。
【００１５】
【発明の実施の形態】
以下、本発明の自走ロボット制御方法を示す実施例について、図面を参照しながら説明する。
図１は、自走ロボットの外観図である。図に示すように、本実施例の自走ロボットは略直方体をなしており、床面に投影された形状はほぼ正方形をなしている。自走ロボットの本体部１の四つの側面には、各側面を横方向に二分する形で、二個のセンサー２が設けられており、自走ロボットが部屋の壁面や障害物に近接もしくは接触したとき、このセンサーが感知する。
自走ロボットの本体部１の上面には、部屋の天井に配置されたマーカーを読み取るための視覚センサー２０１、人体やストーブなど周囲の熱源を感知する赤外線センサー２０２、音声による人間の指令を検知するマイクロフォン２０４、ロボットに対してマニュアルでデータを入力するための操作スイッチ２０５、異常発生時に自走ロボットを強制的に停止させる非常スイッチ２０６、および、部屋のレイアウトを行列データシート状にマニュアル入力し、かつ、走行データを行列データとして表示するための液晶タッチパネル２０３が装着されている。
【００１６】
この自走ロボットは全方位に移動可能で、かつ、任意の方向に旋回することも可能な構造になっている。以下、図を使用して実施例の構造を説明する。
図２は図１に示した自走ロボットの内部構造であり、特に、全方位に移動可能な駆動部の構造を説明するための図である。駆動操舵部プレート１４は、前記本体部１に装着されており、以下の述べるような駆動機構全体を保持している。この駆動操舵プレート１４には、ベアリング２２を介して操舵軸２４が回転可能な形で装着されている。この操舵軸２４の下部には、操舵フレーム２５が固着されている。操舵フレーム２５の下端には、回転可能な状態で軸受け２６ａ、２６ｂを介して車軸２７ａ、２７ｂが装着されている。車軸２７ａ，２７ｂにはそれぞれ車輪２８ａ、２８ｂが固着されている。操舵軸２４の上端にはタイミングプーリ２９が固着されている。このタイミングプーリ２９は、駆動操舵プレート１４に固着された操舵モータ３２に装着されたタイミングプーリ３１と、タイミングベルト３０を介して繋がっている。操舵モータ３２には、モータの回転角度を検出するための位置検出器３３が装着されている。駆動操舵プレート１４には、操舵フレーム２５に固着されたマグネット３５の磁気に反応するホールセンサー３４が装着されており、操舵フレーム２５の駆動操舵プレート１４に対する回転位置原点を検出する。
【００１７】
操舵軸２４の内部には、上下に装着された２個の軸受け３６ａ、３６ｂ、を介して駆動軸３７が装着されている。駆動軸３７の下端には傘歯車３８が固着されている。この傘歯車３８は、前記車軸２７ａと同軸上に装着された他の傘歯車３９と噛み合っている。他の傘歯車３９は、軸受け４３ａ、４３ｂを介して、車軸２７ａ、２７ｂの周りに回転可能な状態で装着された作動歯車箱４０に固着されている。２個の車軸２７ａ，２７ｂの外側端には、それぞれ前記車輪２８ａ，２８ｂが固着されている。２個の車軸２７ａ，２７ｂの内側端には、それぞれ作動傘歯車４４ａ、４４ｂが固着されており、これらの差動傘歯車４４ａ、４４ｂは、前記傘歯車箱４０に軸受け４２ａ、４２ｂを介して回転可能に装着された軸４１ａ、４１ｂの内側端に固着された差動傘歯車４５ａ、４５ｂと噛み合っている。
【００１８】
駆動操舵プレート１４上に固着された走行モータ４９の出力軸には、タイミングプーリ４８が固着されている。このタイミングプーリ４８の回転動作は、タイミングベルト４７を介して、駆動軸３７の上端に固着されたタイミングプーリ４６に伝達される。走行モータ４９には、モータの回転角度および回転速度を検出する回転センサー５０が装着されている。
【００１９】
以下、この自走ロボットの動作について図３、図４を使って説明する。図３、図４は、自走ロボットの走行パターンを示しており、８１、８３、８５、８７および１０１〜１１２は、図１で示した自走ロボットの上面図を模式的に表現している。図において、２ａａ、２ａｂ、２ｂａ，２ｂｂは、自走ロボットの側面に配置されたセンサーを示しており、２ａａ、２ａｂは、自走ロボットの進行方向前部に装着されているセンサーを指し、２ｂａ、２ｂｂは自走ロボットの進行方向の左側面に配置されているセンサーを指す。
【００２０】
図３は、自走ロボットを直線状に走行させる場合の動作パターンを示している。８９は、部屋の壁を表しており、８１、８３、８５、８７は自走ロボットと部屋の相対位置状態を表している。状態８１は、最初に自走ロボットがスタートする場合を示しており、矢印８２の方向に進行する。この時、自走ロボットの内部では、図２に示した操舵モータ３２が駆動して、車輪２８ａ、２８ｂを矢印８２と平行にセットさせた後、走行モータが回転し、車輪２８ａ、２８ｂを駆動する。自走ロボットが進行し、部屋の壁面８９に当接すると、センサー２ａａ、２ａｂが作動して、壁面に当接したことを検知し、走行モータ４９の回転を停止させる。次に操舵モータ３２が車輪２８ａ、２８ｂを９０度方向転換させた後、再び走行モータ４９が回転し、概略自走ロボットの幅と同等距離だけ進んで停止する。この時の進行距離は、走行モータ４９に装着されている回転センサー５０により検出されている。ついで、操舵モータ３２が回転し、車輪２８ａ、２８ｂを９０度方向転換し、矢印８６と平行に方向転換させ。以下、同様の動作を繰り返し、部屋全体を走行する。
【００２１】
図４は、四つの壁面９１、９２、９３、９４も持ち、かつ、部屋内の一部に家具などの障害物９５、９６、９７などが配置されている部屋の床面を、壁や障害物に沿って走行する場合の動作パターンを示している。以下、この図を使ってその動作を説明する。状態１０１は部屋の壁面９１に沿って走行している状態であり、センサー２ｂａ、２ｂｂが作動状態となり、ロボットは左側面で壁と接近していることを検知している。ロボットを壁面に沿って走行させるため、二つの車輪２８ａ、２８ｂは、ロボットの進行方向に対し略０度から３０度左に傾いた方向に制御されている。状態１０２は、ロボットは壁９１に沿って矢印１２１方向に進行し、壁９２に当った場合で、センサー部材２ａａ、２ａｂ、２ｂａ、２ｂｂが作動状態となる。このとき操舵モータ３２は、二つの車輪２８ａ、２８ｂを９０度右回転させ、ロボットは壁面９２に沿いながら矢印１２２方向に走行する。この時も、二つの車輪２８ａ、２８ｂは、ロボットの進行方向に対して略０度から３０度左に傾いた方向に制御されている。
【００２２】
状態１０３は、状態１０２と同じであるため、動作説明は省略する。ロボットが矢印１２３方向に前進すると、センサー部材２ｂａはＯＦＦ状態となり、センサー部材２ｂｂのみが作動状態となる。この時、操舵モータ３２は、二つの車輪２８ａ、２８ｂを進行方向に対して略６０度左に傾いた方向に制御され、自走ロボットは矢印１２４のように、左に旋回を始め、ついには第１の障害物９５の側壁に接近し、センサー部材２ｂａ、２ｂｂが作動状態となる。ついで、第１の障害物９５に沿って走行し、状態１０６となる。状態１０６は、状態１０４と同じ制御が行われるため、動作は省略する。状態１０７、状態１０８は、状態１０２と同じである。
【００２３】
状態１０９は、ロボットが壁９３に沿って走行中に、比較的小さい障害物９６に当接した状態である。この時は、センサー部材２ａｂ、２ｂａ、２ｂｂ、が作動状態となっている。操舵モータ３２は、二つの車輪２８ａ，２８ｂをロボットの進行方向に対し、略６０度左の方向に制御すると、ロボットは矢印１３０のように左旋回し、状態１１０を経た後、やがてセンサー部材２ｂａ、２ｂｂが作動状態となり、壁９３に沿って走行を始める。
状態１１２は、障害物９７を回避する動作を説明するものであるが、状態１０３と同じ方法で回避されることは、容易に想定できる。
【００２４】
このようにして、自走ロボットはその四つの側面に配置されたセンサーの作動状況を判断することにより、壁と障害物に沿って部屋の周囲を自立走行することができる。以上説明した四つの側面に配置されたセンサーの作動状況と、制御すべき車輪の方向との関係を整理すると、図５に記載した単純な論理により決定されることになる。
【００２５】
次に自走ロボットが現在位置を認識するために部屋の天井に設けられたマーカーについて説明する。図６は、天井マーカーの一例を示している。天井３０５には図のように東西南北の方向が設定されているとものとする。この天井３０５に、ある方向（例えば東西方向）に３個マーカー点列３０３が直線状に配置されている。この点列と交差する形で（例えば南北方向）一個のマーカー点列３０１と二個のマーカー点列３０２が直線状に配置されている。以上のように異なったマーカー点列を交差させて配置することにより、マーカーの位置と同時に部屋の方向を特定判断することが可能となっている。ここで、マーカー点列の配置パターンは、図６の例以外に、例えば四個以上のマーカー点列、あるいは、図の縦方向に配列されたマーカー点列等、他のパターンであってもよい。また、部屋ごとにマーカーの配列パターンを変更することにより、部屋番号を区分させることもできる。ここで、以後の説明では、図６に示したマーカー点列３０１、３０２、３０３を総称して天井マーカー３００と呼ぶことにする。
【００２６】
図７は、本発明の自走ロボットの制御方法を実現する制御システムの１実施例を説明する図である。
自走ロボットの上面に配置されている視覚センサー２０１は、周知のイメージセンサーを使用したもので、天井マーカー３００の画像をレンズ系によりイメージセンサー上に縮小投影させ、２次元のディジタル電子データに変換するものである。認識部２０７は、視覚センサー２０１からのデータにより天井マーカーの位置と配列状況を認識し、天井マーカー３００に対する自走ロボットの相対位置と方向を計算する。しかして、自走ロボットが走行する床面と天井マーカー３００との相対位置は予め決まっているため、自走ロボットは床面上に対する自身の位置と走行方向を認識することができる。同時にマーカー点列の配列状況から部屋番号を認識する。これらの認識結果を現在位置データ記憶部２１０へ伝達する。
【００２７】
液晶タッチパネル２０３および操作スイッチ２０５を使用して、部屋の輪郭、ドアー等開口部の位置、常設された大型障害物などのデータがマニュアルで入力される。このデータは主制御部２０９を介してレイアウトデータ記憶部２１１に伝達される。ここで、部屋の輪郭、ドアー等開口部の位置、常設された大型障害物などのデータは、液晶タッチパネル２０３を使わずに、データ入力端子２１５を介して、パソコンからデータをダウンロードして入力することも可能である。操作スイッチ２０５は、前記したマニュアルデータ入力の他、自走ロボットのスタート、ストップおよび自動・マニュアルなどの動作モード切替えなどの操作を行うものである。
側面センサー２は、前記した自走ロボットの各側面に配置された四組のセンサー２ａａ、２ａｂ、２ｂａ、２ｂｂ、２ｃａ、２ｃｂ、２ｄａ、２ｄｂから成っており、その出力信号は接近判断部２１３に伝達される。接近判断部２１３は、このデータを基に、自走ロボットが部屋壁面もしくは障害物とどういう状態で接近しているか、すなわち図５に示した四つの状態（１）〜状態（４）のいずれであるかを判断し、結果を主制御部２０９に伝達する。
駆動機構部２１４は、図２で示した駆動部を一つのブロックとして表している。
【００２８】
次に、以上説明した機構および制御システムを使った自走ロボットの制御方法について説明する。
図８で示された部屋３１０内を自走する場合を例に挙げて説明する。図において、部屋の横方向の壁３１１，３１３の長さは、自走ロボットの投影面積より小さい特定の略正方形の辺長の１６倍であるとし、縦方向の壁３１２、３１４の長さは同１２倍であるとする。壁面３１１の一部にはドアー等の開口部３２７があり、壁面３１３には縁側などの開口部３２８があるとする。部屋内には既知の障害物３２５と予期せぬ障害物３２６が配置されているものとする。
【００２９】
図９は、図７で説明したレイアアウトデータ記憶部２１１のメモリーデータ形式を表しており、部屋のレイアウトを管理するための行列データシートである。行列の各成分は、自走ロボットの投影面積より小さい特定の略正方形の大きさに対応している。
【００３０】
図８に示した部屋のレイアウトデータを入力する場合を例に挙げて説明する。ロボット本体の液晶タッチパネル２０３を使用して部屋のレイアウトを入力すると、このデータシートの第０行と第０列、および、部屋の輪郭に対応した特定の行列、すなわち、図８の場合は第１３行と第１７列によって囲まれた領域が部屋の大きさに対応する行列として設定される。ここで、部屋の壁面に対応する行列成分には、ある特定の英数字（例えば５）が入力され、ドアー等の開口部３２７および、縁側等の壁面３２８に対応した行列成分には、他の特定の英数字（例えば４）が設定される。すなわち、行列データシート上で、行列成分として特定の英数字（５）または特定の英数字（４）で囲まれた領域が部屋の輪郭として設定される。更に、既知の障害物３２５の大きさと位置は、データシート上に障害物であることを表す他の特定の英数字（例えば３）が入力される。部屋の輪郭内で、かつ、障害物のデータが入力されていない行列成分には、あらかじめ他の英数字（例えば０）を入力されている。以上の操作により、自走ロボットが走行可能な領域は、行列データシート上の行列成分に（０）が入力されている領域として設定され、特定の英数字（５）と入力されたところは壁面であり、特定の英数字（４）と入力されたところは壁面の開口部であり、特定の英数字（３）が入力されたところは障害部が存在するという判断を可能としている。
【００３１】
次に自走ロボットが実際に走行した経路データを、取得する方法について説明する。図１０は、現在位置データ記憶部２１０のメモリーデータ形式を表しており、自走ロボットの走行状態を管理するための行列データシートである。そのデータ形式は図９と同一であり、部屋のレイアウトデータは、レイアアウトデータ記憶部２１１より転送されている。
図８に示した部屋を一周する場合を例に挙げて説明する。図において、状態３２１にロボットが設置され、矢印３２２方向に前進し、状態３２３に示したように壁３１１に当接し、ついで矢印３２４の方向に走行し、部屋を右回りに一周させる。この場合、自走ロボットは図４で説明した方法で、自立的に部屋壁面に沿っておよび障害物を回避して走行することが可能である。また、行列成分に特定の数字（４）が入力されているところは、それに対応する位置へ侵入することなく走行するために、図２で示した車輪２８ａ、車輪２８ｂは、走行方向に対して平行にセットされ、自走ロボットが直進し部屋の輪郭外に出ることが防止される。
【００３２】
前記した方法により、天井マーカー３００と視覚センサー２０１、および、認識部２０７とにより、自走ロボットの現在位置は常時認識され、行列データとして記憶されている。ここで、部屋のレイアウトをｍ行ｎ列の行列Ａ（ｍ＝１２、ｎ＝１６）で表すと、図８において最初に状態３２１に自走ロボットが設置されたとき、図１０の第４行第６列の行列成分（以下、行列成分をａ４６と記載する）がその対応する位置であると判断され、この行列成分にある特定の英数字（例えば１）が設定される。ついで矢印３２２、矢印３２４方向に走行して行くと、順次、ａ３６、ａ２６、ａ１６、ａ１７、ａ１８、・・・と  自走ロボットが走行した経路に対応する行列成分にある特定の英数字（１）が入力されてゆく。図８の予期せぬ障害物３２６が存在する場合は、ロボットは前記した方法で自立的にこれを回避し、ａ８１、ａ８２、ａ８３、ａ７３、ａ６３・・・の行列成分をある特定の英数字（１）に設定してゆく。ここで、ａ７１、ａ７２、ａ６１、ａ６２の行列成分データが特定の英数字（０）であり、その回りの行列データ成分が特定の英数字（０）以外であれば、主制御部２０９がこれを予期せぬ障害物として認識判断し、この行列成分に障害物を表す特定の英数字（３）を入力する。
このようにして、自走ロボットが走行データを取り込みながら、部屋の周囲を右回り走行し、行列成分ａ１６に到達したとき、主制御装置２０９が一周したことを判断して停止する。
【００３３】
次に部屋の領域全体の走行を行う場合の走行モードについて説明する。この走行モードでは、次に説明する論理に基づき自立的に走行する。部屋のレイアウト全体をｍ行ｎ列の行列Ａで表すとする。ここで、図８および図９、図１０の事例の場合は、ｍ＝１２、ｎ＝１６となる。このとき、第ｉ行目（ｉ＝１〜ｍ−１）上で未走行の行列成分があれば、すなわち行列成分が特定の英数字（０）であれば、その行列成分に対応する領域を走破する方向に走行し、第ｉ行目上で未走行の行列成分が無ければ，すなわち行列成分が特定の英数字（０）以外であれば、第ｉ＋１行目（ｉ＝１〜ｍ−１）に移動する。以上の動作で自走ロボットは図８の部屋を横方向に走破したことになる。ついで縦方向に走破する。この時は、第ｊ列目（ｊ＝１〜ｎ−１）上で未走行の行列成分があれば、すなわち行列成分が特定の英数字（０）であれば、その行列成分に対応する領域を走破する方向に走行し、第ｊ列目上で未走行の行列成分が無ければ，すなわち行列成分が特定の英数字（０）以外であれば、第ｊ＋１列目（ｊ＝１〜ｎ−１）に移動する。かくて、自走ロボットは部屋を縦横二つの方向に走行し、部屋の中央部に予期せぬ障害物がある場合も未走行部分を残すことなく走行することができる。
また、未走行成分が存在するか否かの判定は、次のような数学的手段を使うことにより、簡単に行うことができる。すなわち対象とする部屋のレイアウトを行列Ａ（ｍ，ｎ）で表し、未走行経路成分に特定の数値（０）を代入し、走行した経路成分に特定の数値（１）を代入する。しかして、行列Ａにｎ項単位列ベクトルｅを掛け算したベクトルＤ１を求める。
Ｄ１＝Ａｅ
ｅ＝ｔ〔１    １    ・・・・・    １〕  （ｔは転置ベクトルを表す）
このベクトルＤ１の各成分が０でなければ、該当する行に未走行の経路成分が存在することになる。
さらに、行列Ａに、特定の数値（例えば２）の階乗数列を成分とするｎ項列ベクトルＲを掛け算したベクトルＤ２を求める。
Ｄ２＝ＡＲ
Ｒ＝ｔ〔２０  ２１    ２２  ・・・・・  ２ｎ〕
このベクトルＲの各成分の数値から、行列Ａの各行の何列目に未走行の成分があるか否かを判定することができる。例えば、
Ｄ２＝ｔ〔０  １２    ０  ・・・・・  ０〕
とすると、１２＝２２＋２３であるから、２行目の３列および４列目の行列成分が未走行であることが特定できる。
【００３４】
次に部屋の領域全体の走行を行う場合の、他の走行モードについて説明する。図８に示した部屋の中央に他の既知障害物３２７（図示せず）が存在すると仮定して、自走ロボットが部屋を右回りに一周した場合の行列データは、図１１のようになる。ここで、ａ６７、ａ６８、ａ７７、ａ７８、ａ８７、ａ８８、ａ９７、ａ９８の特定の英数字（３）が他の障害物３２７であることを現している。
ここで部屋のレイアウトを現す行列をＢとし、障害物に対応する行列成分のかたまり、すなわち、特定の英数字（３）である成分のかたまりを小行列とし、行列Ｂをこの障害物を表す小行列を含む行列式で表現すると、図１２に示すようになる。図において、Ｂ１５が既知の障害物３２５に対応し、Ｂ３１が予期せぬ障害物３２６に対応し、Ｂ３３およびＢ４３が他の既知の障害物３２６に対応しており、それぞれの行列成分は全て特定の英数字（３）である。Ｂ１５、Ｂ３１、Ｂ３３、Ｂ４３以外の小行列の成分は、特定の英数字（０）または（１）である。ここで、Ｂ１５、Ｂ３１、Ｂ３３、Ｂ４３の小行列を（１）とし、それ以外の小行列を（０）とおいた行列をＣとすると、行列Ｃは図１３のようになる。
【００３５】
自走ロボットが他の走行モードで走行する場合は、図１３の行列Ｃにおいて、各行ごとに０が連続する領域を一つの独立した領域として判断して走行する。例えば、行列Ｃの第一行目の領域は、Ｂの行列成分で現すと、ｂ１ｊ（ｉ＝１〜３、ｊ＝１〜１２）となり、自走ロボットはこの成分領域を独立した自走領域として走行する。行列Ｃの一つの領域ｃｉｊ（ｉ＝１、ｊ＝１〜４）を走行し終えれば、行列Ｃの隣接する次の行領域に移る。かくして、自走ロボットは走行の容易なあるまとまった領域ごとに順次走行するため、障害物の存在する部屋をいくつかの走行し易い領域に区分して効率的に走行することができる。
【００３６】
この時、部屋の中央を走行中に、予期せぬ障害物に遭遇したときは、本来走行可能な成分で自走ロボットの走行が妨げられることにより、障害物に遭遇したと判断する。次に、前記した方法でその障害物の回りを一周し、新たな障害物として認識し、それに対応する行列成分を特定の英数字（３）に変換し、前記した方法と同じ小行列演算を再度行う。
【００３７】
【発明の効果】
以上のように、本発明の自走ロボットは、部屋天井に配置されたマーカーの位置および方向を読み取ることにより、相対的に自走ロボット自身の二次元的な位置および方向を認識する認識部と、部屋のレイアウトを記憶するレイアウト記憶部と、自走ロボットの走行した位置を記憶する現在位置データ記憶部と、自走ロボットの駆動機構を制御する機構制御部と、全体の制御を統括する主制御部とを備え、絶えず部屋内における自身の位置と方向を認識しながら走行する。
このような構成にすることにより、自走ロボット自身が保有するセンサーにより、天井に配置されたマーカーの位置および方向を読み取り、このデータから相対的に部屋の床面上の自走ロボットの位置と方向を求めることができる。これにより極めて簡単かつ正確に自走ロボットの現在位置、走行した径路、および、走行すべき経路を管理することが可能となり、掃除などを目的として部屋全体を隈なく効率的に走行させることができる。
【００３８】
別の観点による自走ロボットは、部屋の床面積を、自走ロボットの床投影面積以下の大きさの枡で碁盤目状に区分し、一つの碁盤目を行列の一つの成分とする行列データシートを作成し、自走ロボットの現在位置をこの碁盤目に対応させて認識し、行列データシートに現在位置データを逐次入力して、走行経路を管理する自走ロボットの制御方法を有している。
このような方法で制御することにより、自走ロボットの現在位置および走行した径路、障害物の有無などを行列データとして管理することが可能となる。ここで、自走ロボットを掃除用として使用する場合、自走ロボット自身の床投影面積以下の面積単位で走行経路を管理すれば充分であり、行列データという簡単な形で自走ロボットの走行状態を管理することができ、部屋全体を隈なく効率的に走行させることができる。
【００３９】
別の観点による自走ロボットは、部屋天井に配置されたマーカーの位置および方向を読み取ることにより、相対的に自走ロボット自身の二次元的な位置および方向を特定し、対応する部屋の行列データシートにデータを入力して、現在位置および走行経路を管理することを特徴とする自走ロボットの制御方法を有している。
このような方法で制御することにより、部屋に配置されたマーカーを読み取ることにより簡単に自走ロボット自身の現在位置を特定できる。マーカーの位置および方向の認識は、行列の成分に対応して自走ロボットの床投影面積以下の単位で行われるため、高い認識精度は必要なく簡単な手段で実施できる。また、行列データシートと対応させ、行列データとして自身の位置を記憶するため、メモリーの容量を大幅に削減することができる。
【００４０】
別の観点による自走ロボットは、行列データシート上で、ロボットが走行した経路の成分に、特定の英数字（例えば１）を入力し、走行していない経路の成分には、異なる他の英数字（例えば０）を入力して、走行経路を管理する自走ロボットの制御方法を有している。
このような方法で制御することにより、自走ロボットが走行していない領域と走行し終えた領域を行列式として把握することができ、数学的な処理で走行経路データの加工、管理を行うことが可能となり、制御システムを簡単にすることができる。
【００４１】
別の観点による自走ロボットは、天井に複数個のマーカーを点列状に、かつ、二つ以上の点列が交差するように配置し、この交差する点列状のマーカーを認識することにより、自走ロボットの相対位置および方向を特定する自走ロボットの制御方法を有している。
このような方法で制御することにより、簡単な認識手段で自走ロボットの相対位置および方向を特定することができる。特に、自走ロボットから天井を見たときに、自走ロボットと天井との間に何らかの障害物があり、視界の一部が遮られた場合でも、各点列の一部が認識できれば、相対位置および方向を特定することが可能となる。
【００４２】
別の観点による自走ロボットは、また、交差する二つ以上の点列状に配置されたマーカーの、各点列パターンに違いを持たせることにより、部屋の番号もしくは部屋の方向を判断する自走ロボットの制御方法を有している。
このような方法で制御することにより、異なる複数個の部屋を自走させる場合に、自走ロボットは自身で対象とする部屋の種類を認識し、部屋のレイアウト等自走するために必要な記憶データを引き出すことが可能となる。
【００４３】
別の観点による自走ロボットは、行列データシート上に、部屋のレイアウトおよび障害物の位置・形状などに関するデータを入力し、自走ロボットの最大走行領域を限定する自走ロボットの制御方法を有している。
このような方法で制御することにより、自走ロボットが本来進入しては困る領域、例えば、部屋のドアーや縁側などの開口部に侵入することなく走行することができる。
【００４４】
別の観点による自走ロボットは、部屋のレイアウトをｍ行ｎ列の行列データで表し、ｉ行目（ｉ＝１〜ｍ−１）上の列成分（ｊ＝１〜ｎ）で、未走行の経路成分があればその経路成分を走破する方向に走行し、ｉ行目上の列成分（ｊ＝１〜ｎ）で未走行の経路成分がなければ、ｉ＋１行目（ｉ＝１〜ｍ−１）に移動して走行する自走ロボットの制御方法を有している。
このような方法で制御することにより、簡単な論理で、部屋全体を順次隈なく走行することができる。
【００４５】
別の観点による自走ロボットは、部屋の床面積をｍ行ｎ列の行列データで表し、障害物が占める領域成分を小行列で表すとともに、ｍ行ｎ列の行列データを前記障害物の領域成分を表す小行列を含む行列に分解し、相隣る小行列で未走行領域成分を含む小行列がある場合は、これを一つの共通の領域として走行する自走ロボットの制御方法を有している。
このような方法で制御することにより、部屋全体を走行し易い幾つかのまとまった領域に区分して走行することが可能となり、効率的に部屋全体を自走することができる。
【００４６】
別の観点による自走ロボットは、行または列方向に走行し、予期せぬ障害物を検知した場合はこの障害物の回りを１週してその大きさと形状を行列データとして認識し、以降の走行パターンを決定する自走ロボットの制御方法を有している。
このような方法で制御することにより、部屋の中央に予期せぬ障害物が存在した場合も、部屋全体を走行し易い幾つかの領域に区分し、効率的に自走することができる。
【図面の簡単な説明】
【図１】本発明の自走ロボットの外観図
【図２】図１に示した本発明の自走ロボットの内部構造図
【図３】
【図４】自走ロボットの走行パターンを説明する図
【図５】自走ロボットの走行論理を説明する図
【図６】天井に配置されたマーカーを説明する図
【図７】本発明の自走ロボットの制御システムを説明する図
【図８】自走ロボットが走行する部屋のレイアウト図
【図９】図８で示した部屋のレイアウトデータ記憶部のデータ形式
【図１０】自走ロボットの現在位置データ記憶部のデータ形式
【図１１】部屋の中央に既知障害物が存在する場合の行列データ
【図１２】行列式Ｂを、障害物を一つの小行列で表した場合の行列式を説明する図
【図１３】行列式Ｂにおいて、障害物を表す小行列を（０）とし、それ以外を（１）とした場合の行列式Ｃを説明する図
【符号の説明】
１                      本体部
２                      センサー
２ａａ、２ａｂ          走行方向正面のセンサー
２ｂａ、２ｂｂ          走行方向左側面のセンサー
２８ａ、２８ｂ          車輪
４９                    走行モータ
３２                    操舵モータ
８１，８３，８５，８７  自走ロボットの相対位置状態
１０１〜１１２          自走ロボットの相対位置状態
３０１，３０２，３０３  天井マーカーの配列状態
３０５                  天井
３１１〜３１４          部屋の壁
３２１，３２３          自走ロボットの相対位置状態
３２５                  障害物
３２６                  予期せぬ障害物
【図１】
2004185586.tif 000003
【図２】
2004185586.tif 000004
【図３】
2004185586.tif 000005
【図４】
2004185586.tif 000006
【図５】
2004185586.tif 000007
【図６】
2004185586.tif 000008
【図７】
2004185586.tif 000009
【図８】
2004185586.tif 000010
【図９】
2004185586.tif 000011
【図１０】
2004185586.tif 000012
【図１１】
2004185586.tif 000013
【図１２】
2004185586.tif 000014
【図１３】
2004185586.tif 000015
【手続補正書】
【提出日】平成15年3月4日(2003.3.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】図面の簡単な説明
【補正方法】変更
【補正の内容】
【図面の簡単な説明】
【図１】本発明の自走ロボットの外観図
【図２】図１に示した本発明の自走ロボットの内部構造図
【図３】自走ロボットを直線状に走行させる場合の動作パターンを説明する図
【図４】自走ロボットが壁や障害物に沿って走行する場合の動作パターンを説明する図
【図５】自走ロボットの走行論理を説明する図
【図６】天井に配置されたマーカーを説明する図
【図７】本発明の自走ロボットの制御システムを説明する図
【図８】自走ロボットが走行する部屋のレイアウト図
【図９】図８で示した部屋のレイアウトデータ記憶部のデータ形式
【図１０】自走ロボットの現在位置データ記憶部のデータ形式
【図１１】部屋の中央に既知障害物が存在する場合の行列データ
【図１２】行列式Ｂを、障害物を一つの小行列で表した場合の行列式を説明する図
【図１３】行列式Ｂにおいて、障害物を表す小行列を（０）とし、それ以外を（１）とした場合の行列式Ｃを説明する図
【符号の説明】
１                      本体部
２                      センサー
２ａａ、２ａｂ          走行方向正面のセンサー
２ｂａ、２ｂｂ          走行方向左側面のセンサー
２８ａ、２８ｂ          車輪
４９                    走行モータ
３２                    操舵モータ
８１，８３，８５，８７  自走ロボットの相対位置状態
１０１〜１１２          自走ロボットの相対位置状態
３０１，３０２，３０３  天井マーカーの配列状態
３０５                  天井
３１１〜３１４          部屋の壁
３２１，３２３          自走ロボットの相対位置状態
３２５                  障害物
３２６                  予期せぬ障害物