(57)【特許請求の範囲】
【請求項１】
ロボット本体を走行させる走行手段と、
障害物を検知する障害物検知手段と、
作業領域に関する地図を記憶する地図記憶手段と、
この地図記憶手段に記憶された地図中の凹状の角部にマーカを配置するマーカ配置手段と、
前記ロボット本体が前記地図上のどの位置を走行しているかを推定する自己位置推定手段と、
前記ロボット本体の前記作業領域における走行距離が一定距離以上になったか否かを判定する走行距離判定手段と、
この走行距離判定手段により走行距離が一定距離以上になったと判定されると前記ロボット本体の走行を中断し、その中断時点の前記ロボット本体の前記自己位置推定手段で推定される地図上の自己位置をメモリに記憶した後、前記自己位置推定手段で推定される自己位置が前記地図上のマーカ位置に達するまで、前記走行手段を用いて前記ロボット本体を走行させる修正位置移動手段と、
この修正位置移動手段により前記自己位置推定手段で推定される自己位置が前記地図上のマーカ位置に達するまで走行したロボット本体を、前記障害物検知手段を用いて前記作業領域の凹状の角部に入り込ませた後、前記作業領域の凹状の角部に入り込んだ時点の前記自己位置推定手段で推定される自己位置を前記地図上のマーカの位置とすることにより前記自己位置推定手段で推定された自己位置の誤差を修正する誤差修正手段と、
前記メモリに記憶した中断時点の位置から前記誤差修正手段による誤差修正分を差し引く復帰位置算出手段と、
この復帰位置算出手段により前記誤差修正分が差し引かれた前記メモリの中断時点の位置まで前記走行手段を用いて前記ロボット本体を走行させる作業位置移動手段と、
を具備したことを特徴とする自律走行ロボット。
【請求項２】
ロボット本体を走行させる走行手段と、
障害物を検知する障害物検知手段と、
作業領域に関する地図を記憶する地図記憶手段と、
この地図記憶手段に記憶された地図中の凹状の角部にマーカを配置するマーカ配置手段と、
前記ロボット本体が前記地図上のどの位置を走行しているかを推定する自己位置推定手段と、
前記ロボット本体の前記作業領域内走行中の旋回回数が一定回数以上になったか否かを判定する旋回回数判定手段と、
この旋回回数判定手段により旋回回数が一定回数以上になったと判定されると前記ロボット本体の走行を中断し、その中断時点の前記ロボット本体の前記自己位置推定手段で推定される地図上の自己位置をメモリに記憶した後、前記自己位置推定手段で推定される自己位置が前記地図上のマーカ位置に達するまで、前記走行手段を用いて前記ロボット本体を走行させる修正位置移動手段と、
この修正位置移動手段により前記自己位置推定手段で推定される自己位置が前記地図上のマーカ位置に達するまで走行したロボット本体を、前記障害物検知手段を用いて前記作業領域の凹状の角部に入り込ませた後、前記作業領域の凹状の角部に入り込んだ時点の前記自己位置推定手段で推定される自己位置を前記地図上のマーカの位置とすることにより前記自己位置推定手段で推定された自己位置の誤差を修正する誤差修正手段と、
前記メモリに記憶した中断時点の位置から前記誤差修正手段による誤差修正分を差し引く復帰位置算出手段と、
この復帰位置算出手段により前記誤差修正分が差し引かれた前記メモリの中断時点の位置まで前記走行手段を用いて前記ロボット本体を走行させる作業位置移動手段と、
を具備したことを特徴とする自律走行ロボット。
【請求項３】
前記修正位置移動手段において、前記ロボット本体が到達する前記マーカ位置は、前記メモリに記憶した中断位置から最寄のマーカ位置であることを特徴とする請求項１または２記載の自律走行ロボット。
【請求項４】
前記修正位置移動手段において、前記ロボット本体が到達する前記マーカ位置は、前記地図記憶手段に記憶した地図の一番長い辺を基準線として設定し、この基準線に接する角部に配置されたマーカの位置であることを特徴とする請求項１または２記載の自律走行ロボット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自律走行しながら指定された作業領域で作業を行う自律走行ロボットにおいて、作業領域内を自律走行するために必要な地図情報と実際の環境との誤差を修正する自律走行ロボット関する。
【０００２】
【従来の技術】
例えば掃除などの作業を行なう自律走行ロボットが開発されている。この自律走行ロボットには作業する領域の地図を記憶している地図記憶手段と、その地図上で自律走行ロボットがどこを走行しているかを推定する自己位置推定手段が備えられている。
【０００３】
自己位置推定手段を実現する有力な方法は、常時自律走行ロボット自身の動きを推定してそれを累積するデッドレコニング法である。しかし、デッドレコニングでは累積誤差を避けることができず、走行を続けると地図上でのロボットの位置と実環境、つまり実際の作業領域でのロボットの位置とが次第にずれていく。
【０００４】
このように自律走行ロボットが持つ地図と実環境との誤差を修正する方式として、外部システムを利用する方式が知られている（特許文献１）。また、外部システムに頼らずに修正する方式も知られている（特許文献２及び３）。
【０００５】
特許文献１は、走行経路上に配置したマーカをマーカセンサで検出して実環境におけるロボットの位置を求めることにより、地図におけるロボットの位置と実環境におけるロボットの位置との間に生じる誤差を修正している。
【０００６】
これに対して、特許文献２及び特許文献３では、自己位置推定手段により推定された自己位置と予め与えられた地図とから障害物までの推定距離を求め、ロボット本体に設けた距離センサによって障害物までの距離との差を用いて地図上のロボット本体の位置を修正するようにしている。
【０００７】
【特許文献１】
特開2002−73171号公報
【０００８】
【特許文献２】
特開平5−257530号公報
【０００９】
【特許文献３】
特開平11−161328号公報
【００１０】
【発明が解決しようとする課題】
しかし、前述した距離センサを利用した地図修正方式では、図１１に示すように、距離センサの有効計測範囲Ｒより作業領域Ｗが広くて一様な障害物しか計測できない場合がある。その場合、実際のロボット本体の位置をＡ、地図上の推定位置をＡ´とすると、距離センサが一様な距離しか計測できないため、障害物に対して垂直方向の誤差Ｅｖは修正できるが、水平方向の誤差Ｅｈは修正することはできなかった。
【００１１】
また、前述したように外部システムを利用して自律走行ロボットが持つ地図と実環境との誤差を修正する場合には、コストがかかるという問題があった。
【００１２】
本発明は上記の点に鑑みてなされたもので、その目的は、地図上の自律走行ロボットの位置と実環境での位置との間に生じる誤差を、低コストで確実に修正することができる自律走行ロボットを提供することにある。
【００１３】
【課題を解決するための手段】
本発明は、自律走行ロボットが作業領域の凹状の角部に到達した時に、自己位置推定手段で推定された地図中の自己位置を前記マーカの位置に置き換えることにより自己位置推定手段で推定された自己位置の誤差を修正するようにしている。
【００１４】
【発明の実施の形態】
以下図面を参照して本発明の一実施の形態について説明する。図１は自律走行ロボットの正面図、図２はその側面図である。図１及び図２において、１は下部が略円形状で上部が略半球形状を有する自律走行ロボットの筐体である。この筐体１の前面上部に各種指示ボタン等が設けられた操作入力部２が配設されている。また、筐体１の前面から側面に亘った下部に、例えば超音波センサからなる複数の障害物センサ３が配設されている。この障害物センサ３は、例えば、正面から見える位置に所定間隔を開けて３個配設し、左右の側面に所定間隔を開けて２個ずつ配設されている。この障害物センサ３は障害物との距離情報を出力する。
【００１５】
筐体１内には、クリーナモータ４とこのクリーナモータ４で回転するファン５とこのファン５の回転により底部に設けた吸込口６から塵を吸込んで集める集塵室７が収納されている。
【００１６】
また、筐体１の底部略中央の左右にそれぞれ左駆動輪８ａ、右駆動輪８ｂが取り付けられ、この各駆動輪８ａ，８ｂはそれぞれ左走行モータ９ａ、右走行モータ９ｂにより回転駆動される。各駆動輪８ａ，８ｂ及び各走行モータ９ａ，９ｂにより走行手段が構成される。そして、各駆動輪８ａ，８ｂの回転を左右のロータリーエンコーダ（以下、単にエンコーダと称する）１０ａ，１０ｂにより検出している。左右のエンコーダ１０ａ，１０ｂは移動距離と移動方向を測定するセンサを構成している。
【００１７】
また、筐体１の底部後端中央には回転自在で方向が自由に旋回可能な旋回輪１１が取り付けられている。また、筐体１内には、ＣＰＵ、ＲＯＭ、ＲＡＭ等の制御回路部品を組み込んだ回路基板１２及び各部に電源を供給するバッテリ１３が収納されている。
【００１８】
次に、図３を参照して自律走行ロボットの制御系統について説明する。図３において、図１及び図２と同一部分には同一番号を付し、その詳細な説明については省略する。操作入力部２、障害物センサ３、左エンコーダ８ａ及び右エンコーダ８ｂの出力は制御部２１に入力される。この制御部２１内には前述したＲＯＭが配設されている。このＲＯＭには自己位置推定手段２１ａ、地図生成手段２１ｂ、外周走行終了判定手段２１ｃ、走行計画手段２１ｄ、走行領域分割手段２１ｅがプログラムとして記憶されている。
【００１９】
自己位置推定手段２１ａは、左エンコーダ８ａ及び右エンコーダ８ｂが出力する車輪の回転量から自律走行ロボットの走行速度ｖと姿勢の角速度ａを求め、走行速度ｖ及び姿勢の角速度ａを積分することにより、地図上での自律走行ロボットの自己位置を推定している。
【００２０】
地図生成手段２１ｂは、障害物センサ３が出力する障害物との距離情報と自己位置推定手段２１ａが出力する自律走行ロボットの自己位置情報に基づいて作業領域の地図を生成する。この地図は後述する地図記憶部２２ａに記憶される。この作業領域の地図は線分の集合として表される。
【００２１】
外周走行終了判定手段２１ｃは、自律走行ロボットが作業領域の外周を１周したことを判断する。この判定は、例えば外周走行を開始した時の姿勢方向を０度として、外周走行を開始した位置までに戻って来るまでにロボット本体が回転した累積角度を利用している。すなわち、左回りの角度をプラス、右回りの角度をマイナスとして累積した場合、例えばロボット本体の左側面に壁を検知しながら走行した場合には、累積角度はマイナス３６０度で外周走行が終了したと判定している。
【００２２】
走行計画手段２１ｄは、後述する地図記憶部２２ａに記憶されている作業領域をシグザグ走行するのに必要な走行計画を生成する。
【００２３】
作業領域分割手段２１ｅは、図６に示すように地図生成手段２１ｂで生成された地図上の作業領域の壁の最も長い辺を基準線として設定し、作業領域を複数の短冊状の領域に分割する。そして、作業領域分割手段２１ｅは各作業領域に始点を設定し、さらに凹角マーカ２０１を配置している。
【００２４】
また、制御部２１にはメモリ２２が接続される。このメモリ２２内の地図記憶部２２ａには、前述した地図生成手段２１ｂで生成された作業領域の地図が記憶される。
【００２５】
さらに、制御部２１にはモータ制御部２３及び２４が接続されている。モータ制御部２３はクリーナモータ４を駆動制御し、モータ制御部２４は左走行モータ９ａ及び右走行モータ９ｂを駆動制御する。
【００２６】
次に、上記のように構成された本発明の一実施の形態の動作を図面を参照して説明する。自律走行ロボットは、指定された作業領域内を隈なく掃除するために、図４のフローチャートに示した処理を行う。最初に自己位置推定手段２１ａにより自律走行ロボットの自己位置の推定が開始される（ステップＳ１）。そして、図６に示すように作業領域の壁際に沿って一周走行することにより作業領域の壁に沿った掃除を行なう（外周走行）（ステップS２）。この際、地図生成手段２１ｂにより図７に示す作業領域の地図が地図記憶部２２ａに生成される。
【００２７】
次に、図７に示す地図は地図中の最も長い辺を基準線２０２として、短冊状の領域に分割されて後、各領域を走行する走行計画が走行計画手段２１ｄで作成される（ステップS３）。
【００２８】
次に、ステップS３で作成された走行計画に基づいて自律走行ロボットのシグザグ走行が開始される（ステップS４）。
【００２９】
以下、外周走行（ステップS２）、走行計画（ステップS３）、ジグザグ走行（ステップS４）の詳細な動作について説明する。ジグザグ走行（ステップS３）については、図５のフローチャートを参照して詳細に説明する。
【００３０】
まず、外周走行について詳細に説明する。操作入力部２からの指示により自律走行ロボットの作業開始が指示されると、自律走行ロボットは地図記憶部２２ａを初期化してから、自己位置推定手段２１ａによる自己位置推定を開始する。それから作業領域の壁に沿った壁際走行（外周走行）を開始する。
【００３１】
さらに、外周走行中、自律走行ロボットは、障害物センサ３が出力する障害物との距離情報と自己位置推定手段２１ａが出力する自己位置情報に基づいて地図生成手段２１ｂにより作業領域の地図が生成され、地図記憶部２２ａに記憶される。
【００３２】
そして、図６に示すように作業領域の壁際に沿って一周走行すると、外周走行終了判定手段２１ｃにより外周走行の終了か判定され、外周走行が終了される。
【００３３】
次に、走行計画（ステップS３）について詳細に説明する。自律走行ロボットは、外周走行（ステップS２）が終了すると、地図記憶部２２ａに記憶されている図７に示すような作業領域の地図に基づいて走行計画手段２１ｄを用いてジグザグ走行に必要な走行計画を立てる。この走行計画手段２１ｄは、図７に示すように、地図中の作業領域の壁の最も長い辺を基準線２０２に設定し、壁や障害物の角情報を利用して作業領域を複数の短冊状の領域に分割し、各領域に始点２０３を設定する。さらに、作業領域の壁によって形成される凹状の角部の内側に凹角マーカ２０１を配置する。地図中の凹角マーカ２０１としては、例えば凹角マーカ２０１の（ｘ，ｙ）座標を記憶させておけば良い。
【００３４】
このように走行計画手段２１ｄによる走行計画が終了すると、ジクザグ走行（ステップS４）が開始される。このジグザグ走行について図５のフローチャートを参照して詳細に説明する。まず、自律走行ロボットのジグザグ走行が行なわれる（ステップS１１）。つまり、自律走行ロボットは図８に示すように最初の領域の始点２０３まで移動してから、その領域でジクザグ走行を開始する。このジグザグ走行は基準線２０２側から反対側の壁まで直進して、反対側の壁で折り返して戻ってくるという動作を繰り返す。そして、全領域のジグザグ走行が終了したかが判定される（ステップS１２）。
【００３５】
ところで、自律走行ロボットが走行し続けると、自己位置推定手段２１ａは、走行速度ｖ及び姿勢の角速度ａを積分することにより地図上での自律走行ロボットの自己位置を推定しているため、地図上での自己位置と実環境での位置との誤差が累積する。そこで、累積した誤差が所定の範囲を超える前に誤差修正を行なう。このため、自律走行ロボットの走行距離が一定距離以上になると、自律走行ロボットの地図上での自己位置と実環境での位置との誤差修正を行なう。
【００３６】
つまり、自律走行ロボットはジグザグ走行中の走行距離が一定距離以上となったかを判定する（ステップS１３）。ここで、自己位置推定手段２１からの左エンコーダ８ａ及び右エンコーダ８ｂが出力する車輪の回転量から自律走行ロボットの走行速度ｖを求め、この走行速度ｖを積分することにより、自律走行ロボットの走行距離を求めている。このようにして求められた走行距離はメモリ２２に記憶される。
【００３７】
そして、この走行距離が一定距離以上となると（例えば、図８のＡ点）、図８に示すように、自律走行ロボットはジグザグ走行を中断して、最寄の凹角マーカ２０１方向に直進走行する（ステップS１４）。ここで、ジグザグ走行を中断して最寄の凹角マーカ２０１方向に直進走行するときに、ジグザグ走行を中断した地図上のＡ位置をメモリ２２に記憶しておく。自律走行ロボットの地図上での自己位置と実環境での位置との誤差があるため、地図上での凹角マーカ２０１には到達するが、その位置は実環境では角部ではない。
【００３８】
従って、自律走行ロボットが地図上での凹角マーカ２０１に到着した後、自律走行ロボットは障害物センサ３を用いて、凹状の角部に入り込む動作、つまり凹角合わせ走行（ステップS１５）を行なう。
【００３９】
この凹角合わせ走行について、図１０を参照して説明する。そして、図１０（Ａ）に示すように、自律走行ロボットが凹角マーカ２０１に到着すると、自律走行ロボットは図示の水平方向に障害物センサ３により進行方向に作業領域の壁が検知されるまで前進させる。図１０（Ｂ）で示した位置まで前進させる。
【００４０】
そして、図１０（Ｂ）で示した位置から図示の垂直方向に向かって障害物センサ３により進行方向に作業領域の壁が検知されるまで自律走行ロボットを前進させる。このようにして、自律走行ロボットを図１０（Ｃ）に示すように凹状の角部に追い込むことができる。
【００４１】
次に、自己位置推定手段２１ａで推定された地図上での自律走行ロボットの自己位置を凹角マーカ２０１の位置とする位置誤差修正がなされる（ステップS１６）。ここで、ステップS１４〜Ｓ１６により誤差修正手段が構成される。
【００４２】
このように、自律走行ロボットの走行距離が一定距離以上となると、自動的に自己位置推定手段２１ａで推定された地図上での自律走行ロボットの自己位置の誤差を修正するようにしたので、外部システムを用いていないため、安価な方式で自律走行ロボットの自己位置の誤差を確実に修正することができる。
【００４３】
その後、メモリ２２に記憶されたＡ位置から、前記ステップＳ１６の位置誤差修正における誤差修正量を差し引く。
【００４４】
そして、メモリ２２に記憶されたＡ位置から前記ステップＳ１６の位置誤差修正における誤差修正量を差し引いた位置に戻る（ステップＳ１７）。このような処理を行うことにより、ジグザク走行を中断した時の実環境での位置に再び戻ってこられる。
【００４５】
次に、メモリ２２に記憶されている走行距離をリセットし（ステップS１８）、前述したステップS１の処理に戻る。
【００４６】
そして、再度走行距離が一定距離以上となると、凹角合わせ走行が同様に行なわれる。
【００４７】
なお、上記した実施の形態では、自律走行ロボットの走行距離が一定距離以上となった場合には、最寄りの凹角マーカ２０１に直進したが、ジグザク走行時の折り返し回数を計数しておき、この折り返し回数が一定回数以上となると凹角合わせ走行を行なって誤差修正を行なうようにしても良い。
【００４８】
さらに、自律走行ロボットの走行時間が一定時間以上となった場合には、最寄りの凹角マーカ２０１に直進するようにしても良い。
さらに、上記した実施の形態では、自律走行ロボットの走行距離が一定距離以上となった場合には、最寄りの凹角マーカ２０１に直進したが、自律走行ロボットの走行距離が一定距離以上となった場合には、図９に示すように基準線２０２に垂直な方向から基準線２０２まで移動し、前記基準線２０２に沿って移動し、凹角マーカ２０１に到達した後、誤差修正を行なうようにしても良い。このように地図の中で一番信頼性のある基準線２０２を用いることにより、凹角マーカ２０１に的確に到達することができる。
【００４９】
なお、凹角マーカ２０１の配置する際に、基準線２０２に接する凹角のみに凹角マーカを配置することが好ましい。このように凹角マーカ２０１を配置することにより、隣接する凹角マーカの誤認識を回避することができる。
【００５０】
なお、上記した実施の形態では、地図生成手段２１ｂで作業領域の地図を生成したが、地図が予め設定されていても良い。
【００５１】
また、上記自律走行ロボットを掃除するロボットとして使用したが、それ以外も用途であっても良いことは勿論である。
【００５２】
さらに、上記実施の形態では、自己位置推定手段２１ａにより姿勢の角速度ａを求め、この角速度ａを積分することにより自律走行ロボットの姿勢を算出するようにしたが、ジャイロセンサを用いて自律走行ロボットの姿勢を検出するようにしても良い。
【００５３】
また、自律走行ロボットの走行距離が一定距離以上となった場合には、最寄りの凹角マーカ２０１に直進して、位置誤差修正を行なうようにしたが、姿勢の誤差も修正するようにしても良い。
【００５４】
【発明の効果】
以上のように本発明によれば、地図上の自律走行ロボットの位置と実環境での位置との間に生じる誤差を、低コストで確実に修正することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る自律走行ロボットの正面図。
【図２】同実施の形態に係る自律走行ロボットの側面図。
【図３】同実施の形態に係る自律走行ロボットの制御系統を示すブロック図。
【図４】同実施の形態に係る自律走行ロボットの概略動作を説明するためのフローチャート。
【図５】同実施の形態に係るジクザグ走行を説明するためのフローチャート。
【図６】同実施の形態に係る外周走行を説明するための図。
【図７】同実施の形態に係る作業領域の分割を説明するための図。
【図８】同実施の形態に係るジグザグ走行の途中で地図と実環境との誤差を修正する方式を説明するための図。
【図９】ジグザグ走行の途中で地図と実環境との誤差を修正する別の方式を説明するための図。
【図１０】地図と実環境との誤差を修正する方式を説明するための図。
【図１１】従来の地図と実環境との誤差を修正する方式を説明するための図。
【符号の説明】
２…操作入力部、
３…障害物センサ、
４…クリーナモータ、
９ａ…左走行モータ、
９ｂ…右走行モータ、
２１…制御部。
【図１】
0004197606.tif 000002
【図２】
0004197606.tif 000003
【図３】
0004197606.tif 000004
【図４】
0004197606.tif 000005
【図５】
0004197606.tif 000006
【図６】
0004197606.tif 000007
【図７】
0004197606.tif 000008
【図８】
0004197606.tif 000009
【図９】
0004197606.tif 000010
【図１０】
0004197606.tif 000011
【図１１】
0004197606.tif 000012