(57)【要約】【課題】車輪の横滑りによって生じるずれを補正することで自律走行体を目標方向に向かって直進走行させる。【解決手段】絨毯４１が敷かれた走行領域において、自律走行体１を壁面Ｗ3側の起点Ｓから壁面Ｗ2側の目標点Ａに向かって走行させるときに絨毯目が右方向に向いている為に、自律走行体に右方向の横滑りが生じ、実際にはＡ点よりも右にずれたＢ点に到達する。このとき、Ｓ点、Ａ点、Ｂ点の各座標から、ＳＡ間の距離ｓａ及びＳＢ間の距離ｓｂを求め、ｃｏｓ−１（ｓａ／ｓｂ）によって横滑りによってずれる角度θ1を求める。この角度θ1を記憶しておき、自律走行体が壁面Ｗ2で折り返して壁面Ｗ2から壁面Ｗ3に向かうときには角度θ1を使用して自律走行体の進行方向を横滑りによるずれを打ち消すように補正する。そして、以降走行においてもこの角度θ1のデータを使用して補正する。【選択図】      図６
2005346477.tif 000002
【特許請求の範囲】
【請求項１】
左右に設けた駆動車輪を駆動手段で回転駆動して自律走行する走行体本体と、
この走行体本体と周囲の障害物までの距離を計測する測距センサと、
前記走行体本体の走行方向を検知する方位センサと、
走行時前記方位センサの出力値に基づいて前記走行体本体の向きが常に目標方向に向くように左右の駆動車輪の回転速度を制御する車輪速度制御手段と、
前記左右の駆動車輪の回転速度を計測する車輪速度計測手段と、
前記車輪速度制御手段が前記走行体本体の向きが常に目標方向に向くように左右の駆動車輪の回転速度を制御している状態で前記車輪速度計測手段が計測した左右の駆動車輪の回転速度から横滑りの発生を検知する横滑り検知手段と、
この横滑り検知手段が横滑り発生の検知を開始した地点と発生の検知を終了した地点における前記走行体本体の座標値を、前記測距センサを使用して求める実座標値算出手段と、
前記横滑り検知手段が横滑りの発生を検知している検知区間において、横滑りが無かったと仮定したときの前記走行体本体の検知区間における終了到達地点の座標値を求める仮定座標値算出手段と、
この仮定座標値算出手段が求めた仮定の終了到達地点の座標値と、前記実座標値算出手段が求めた走行体本体の検知開始地点と検知終了地点の座標値とから検知区間における横滑り角度を計測する横滑り角度計測手段と、
前記走行体本体が検知区間を走行するときの目標方向を、前記横滑り角度計測手段が計測した横滑り角度だけ横滑り方向とは反対方向に補正する目標方向補正手段と
を備えたことを特徴とする自律走行体。
【請求項２】
走行体本体を、横滑り検知手段が横滑りの発生を検知している検知区間を、通過位置が異なるように間隔を開けて往復走行させる場合には、目標方向補正手段は、最初の往路走行で取得した横滑り角度を使用して、最初の復路走行時及び以降の往路と復路の走行時毎に目標方向を補正することを特徴とする請求項１記載の自律走行体。
【請求項３】
横滑り検知手段は、左右の駆動車輪の回転速度差が所定値を越えたとき横滑りの発生を検知することを特徴とする請求項１又は２記載の自律走行体。
【請求項４】
左右に設けた駆動車輪を駆動手段で回転駆動して自律走行する走行体本体と、
この走行体本体と周囲の障害物までの距離を計測する測距センサと、
前記走行体本体の走行方向を検知する方位センサと、
走行時前記方位センサの出力値に基づいて前記走行体本体の向きが常に目標方向に向くように左右の駆動車輪の回転速度を制御する車輪速度制御手段と、
前記左右の駆動車輪の回転速度を計測する車輪速度計測手段と、
前記車輪速度制御手段が前記走行体本体の向きが常に目標方向に向くように左右の駆動車輪の回転速度を制御している状態で前記車輪速度計測手段が計測した左右の駆動車輪の回転速度から横滑りの発生を検知する横滑り検知手段と、
この横滑り検知手段が横滑り発生の検知を開始した地点と発生の検知を終了した地点における前記走行体本体の座標値を、前記測距センサを使用して求める実座標値算出手段と、
前記横滑り検知手段が横滑りの発生を検知している検知区間において、横滑りが無かったと仮定したときの前記走行体本体の検知区間における終了到達地点の座標値を求める仮定座標値算出手段と、
この仮定座標値算出手段が求めた仮定の終了到達地点の座標値と、前記実座標値算出手段が求めた走行体本体の検知開始地点と検知終了地点の座標値とから検知区間における横滑り角度を計測する横滑り角度計測手段と、
前記走行体本体を予めメモリに設定された走行領域内の対辺間を通過位置が異なるように間隔を開けて往復走行制御する走行制御手段と、
この往復走行時において往路及び復路の走行毎に前記横滑り検知手段が横滑りの発生を検知している検知区間を前記走行領域内に検知領域として書き込み、走行領域の往復走行が終了することで走行領域内への検知領域の書き込みを終了する検知領域書き込み手段と、
走行領域内への検知領域の書き込みを終了した後、前記走行制御手段によって前記走行体本体を往復走行制御するとき、この走行体本体が検知領域を走行するときの目標方向を、前記横滑り角度計測手段が計測した横滑り角度だけ横滑り方向とは反対方向に補正する目標方向補正手段と
を備えたことを特徴とする自律走行体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、自律走行しながら作業を行う自律走行体に関する。
【背景技術】
【０００２】
従来、走行領域に存在する壁面を超音波センサや光センサ等からなる測距センサで検知して壁沿い走行を行う自律走行体が知られている（例えば、特許文献１参照）。
【特許文献１】特開平４−１６０５０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このような走行制御を行う自律走行体に掃除機能を持たせて、図９に示すように、前後が壁面Ｗ2、Ｗ3、左右が壁面Ｗ1、Ｗ4で囲まれた領域１内を、例えば、壁面Ｗ2とＷ3の対辺間を通過位置が異なるように左右の間隔を開けて往復走行させて掃除させる場合が考えられる。この場合において、領域１内の図中斜線で示す部分に絨毯２が敷き詰められ、その絨毯２の目が図中右側に向いているとすると、壁面Ｗ1とＷ3との角から出発した自律走行体３は図中実線の矢印で示すように往復走行する。
【０００４】
そして、自律走行体３が絨毯２の上を走行する場合には絨毯目による車輪の横滑りが発生し、壁面Ｗ2とＷ3に対して垂直方向を目標に走行したつもりでも横滑りによって壁面Ｗ2に向かう自律走行体３は進行方向右側にずれ、逆に壁面Ｗ3に向かう自律走行体３は進行方向左側にずれる。このため、図中三角形で示す未掃除領域４が生じるという問題があった。なお、ずれを測距センサによって壁面Ｗ1やＷ4との距離を測定して補正することも考えられるが、壁との距離が離れると測定精度が低下するので、ずれを補正することは困難である。
【０００５】
そこで、本発明は、車輪の横滑りによって生じるずれを補正する走行制御を行うことで自律走行体を目標方向に向かって直進走行させることができる自律走行体を提供する。
【課題を解決するための手段】
【０００６】
本発明は、左右に設けた駆動車輪を駆動手段で回転駆動して自律走行する走行体本体と、この走行体本体と周囲の障害物までの距離を計測する、例えば超音波センサや光センサなどからなる測距センサと、走行体本体の走行方向を検知する方位センサと、走行時方位センサの出力値に基づいて走行体本体の向きが常に目標方向に向くように左右の駆動車輪の回転速度を制御する車輪速度制御手段と、左右の駆動車輪の回転速度を計測する車輪速度計測手段と、車輪速度制御手段が走行体本体の向きが常に目標方向に向くように左右の駆動車輪の回転速度を制御している状態で車輪速度計測手段が計測した左右の駆動車輪の回転速度から横滑りの発生を検知する横滑り検知手段と、この横滑り検知手段が横滑り発生の検知を開始した地点と発生の検知を終了した地点における走行体本体の座標値を、測距センサを使用して求める実座標値算出手段と、横滑り検知手段が横滑りの発生を検知している検知区間において、横滑りが無かったと仮定したときの走行体本体の検知区間における終了到達地点の座標値を求める仮定座標値算出手段と、この仮定座標値算出手段が求めた仮定の終了到達地点の座標値と、実座標値算出手段が求めた走行体本体の検知開始地点と検知終了地点の座標値とから検知区間における横滑り角度を計測する横滑り角度計測手段と、走行体本体が検知区間を走行するときの目標方向を、横滑り角度計測手段が計測した横滑り角度だけ横滑り方向とは反対方向に補正する目標方向補正手段とを備えたものである。
【発明の効果】
【０００７】
本発明によれば、車輪の横滑りによって生じるずれを補正する走行制御を行うことで自律走行体を目標方向に向かって直進走行させることができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態を、図面を参照して説明する。なお、この実施の形態は、本発明を、清掃作業を行う自律走行体に適用したものについて述べる。
【０００９】
図１及び図２は自律走行体の構成を示す図で、下部が略円形状で上部が略半球形状になっている走行体本体１の下端部に、その外周面に沿って障害物との接触を検知し、また、接触時の衝撃を和らげるバンパ２を取り付けている。そして、前記バンパ２に走行体本体１と壁などの周囲の障害物との距離を計測する、例えば、超音波センサからなる多数の測距センサ３を所定の間隔をあけて配置している。
【００１０】
前記走行体本体１の内部には、クリーナモータ４とこのモータ４で回転するファン５とこのファン５の回転により底部に設けた吸込口６から塵を吸込んで集める集塵室７とからなるクリーナ機構が収納されている。
【００１１】
また、前記走行体本体１の底部略中央の左右にそれぞれ走行用の駆動車輪８ａ、８ｂを取り付け、この左右の駆動車輪８ａ，８ｂをそれぞれ駆動手段である左走行モータ９ａ、右走行モータ９ｂで個々に回転駆動するようにしている。そして、前記各駆動車輪８ａ，８ｂの回転をそれぞれ左右のロータリーエンコーダ（以下、単にエンコーダと称する。）１０ａ、１０ｂで検出するようにしている。前記左右のエンコーダ１０ａ，１０ｂは後述する車輪速度計測手段において駆動車輪８ａ，８ｂの回転速度の算出するときにも使用される。
【００１２】
前記走行体本体１の底部後端中央には回転自在で方向が左右に自由に旋回する旋回輪１１が取り付けられている。また、前記走行体本体１の天部に走行方向を検知する方位センサ１２を配置している。また、前記走行体本体１内には、ＣＰＵ、ＲＯＭ、ＲＡＭ等の制御回路部品を組み込んだ回路基板１３及び各部に電源を供給するバッテリ１４が収納されている。
【００１３】
前記バンパ２に配置されている各測距センサ３についてさらに詳しく説明すると、図３に示すように、図中矢印で示す走行方向に対して、先端中央に前方測距センサ３-1を配置し、後端中央に後方測距センサ３-2を配置し、左端に１対の左側方測距センサ３-3、３-4を所定の間隔を開けて配置し、右端に１対の右側方測距センサ３-5、３-6を所定の間隔を開けて配置し、左斜め前に左斜め前方測距センサ３-7を配置し、右斜め前に右斜め前方測距センサ３-8を配置している。
【００１４】
前記前方測距センサ３-1は走行体本体１が走行する前方にある壁や物などの障害物までの距離を計測し、前記後方測距センサ３-2は走行体本体１が走行する方向とは反対の後方にある壁や物などの障害物までの距離を計測し、左側方測距センサ３-3、３-4は走行体本体１が走行する方向の左側にある壁や物などの障害物までの距離を計測し、右側方測距センサ３-5、３-6は走行体本体１が走行する方向の右側にある壁や物などの障害物までの距離を計測し、左斜め前方測距センサ３-7は走行体本体１が走行する方向の左斜め前方にある壁や物などの障害物までの距離を計測し、右斜め前方測距センサ３-8は走行体本体１が走行する方向の右斜め前方にある壁や物などの障害物までの距離を計測するようになっている。
【００１５】
図４は制御部のハード構成を示すブロック図で、２１は制御部本体を構成するＣＰＵ、２２はこのＣＰＵ２１が各部を制御するプログラムが格納されたＲＯＭ、２３はデータを演算するためのメモリや一時記憶用バッファメモリなど、各種メモリを設けたＲＡＭである。また、２４は前記各測距センサ３-1〜３-8、方位センサ１２、クリーナモータ４を回転制御するモータ制御部２５、左右の走行モータ９ａ，９ｂを回転制御するモータ制御部２６及び前記左右のエンコーダ１０ａ，１０ｂに対して信号の入出力制御を行うＩ／Ｏポートである。前記ＣＰＵ２１と、ＲＯＭ２２、ＲＡＭ２３及びＩ／Ｏポート２４とはバスライン２７を介して電気的に接続されている。
【００１６】
図５は、前記ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、Ｉ／Ｏポート２４の複合体から構成される制御部３０を機能的に示したブロック図で、この自律走行体は、機能的には、前記モータ制御部２６を制御して左右の走行モータ９ａ，９ｂの回転速度を制御する車輪速度制御手段３１と、前記各エンコーダ１０ａ，１０ｂの出力から左右の走行モータ９ａ，９ｂの回転速度を計測する車輪速度計測手段３２と、この車輪速度計測手段３２により計測された駆動車輪８ａ，８ｂの回転速度から横滑りが発生していることを検知する横滑り検知手段３３と、この横滑り検知手段３３が横滑り発生の検知を開始した地点と発生の検知を終了した地点における走行体本体１の座標値を、前記測距センサ３を使用して求める実座標値算出手段３４と、前記横滑り検知手段３３が横滑りの発生を検知している検知区間において、横滑りが無かったと仮定したときの走行体本体１の検知区間における終了到達地点の座標値を求める仮定座標値算出手段３５と、この仮定座標値算出手段３５が求めた仮定の終了到達地点の座標値と、前記実座標値算出手段３４が求めた走行体本体１の検知開始地点と検知終了地点の座標値とから検知区間における横滑り角度を計測する横滑り角度計測手段３６とを備えている。
【００１７】
また、走行体本体１を予めメモリ４０に設定された走行領域内の対辺間を通過位置が異なるように間隔を開けて往復走行制御する走行制御手段３７と、この走行制御手段３７による往復走行時において往路及び復路の走行毎に前記横滑り検知手段３３が横滑りの発生を検知している検知区間を前記メモリ４０の走行領域内に検知領域として書き込み、走行領域の往復走行が終了することで走行領域内への検知領域の書き込みを終了する検知領域書き込み手段３８と、前記メモリ４０の走行領域内への検知領域の書き込みを終了した後、前記走行制御手段３７によって走行体本体１を往復走行制御するとき、この走行体本体１が検知領域を走行するときの目標方向を、前記横滑り角度計測手段３６が計測した横滑り角度だけ横滑り方向とは反対方向に補正する目標方向補正手段３９とを備えている。なお、前記メモリ４０はＲＡＭ２３によって構成されている。
【００１８】
このような構成において、走行体本体１を所定の走行領域内を走行させる場合は、走行制御手段３７はメモリ４０に設定された走行領域に基づいて走行制御する。走行体本体１を走行させる場合は、モータ制御部２６を制御し、このモータ制御部２６により左右の走行モータ９ａ，９ｂを回転駆動する。そして、左右の走行モータ９ａ，９ｂは左右の駆動車輪８ａ，８ｂを個々に回転駆動する。
【００１９】
ここで走行領域が、図６に示すように、前後が壁面Ｗ2、Ｗ3、左右が壁面Ｗ1、Ｗ4で囲まれ、しかも全面に絨毯４１が敷かれている部屋であって、その部屋内を走行体本体１が、例えば壁面Ｗ2とＷ3の対辺間を通過位置が異なるように左右に所定の間隔を開けながら往復走行して絨毯４１の上を掃除する場合の動作について説明する。
【００２０】
走行体本体１は、走行制御手段３７に制御され壁面Ｗ2とＷ3との一角を起点Ｓとして、走行領域、すなわち、掃除区域の走行を開始する。掃除区域内の起点Ｓは、壁面Ｗ1，Ｗ3からそれぞれ所定の距離ｘ1，ｙ1離れた位置とする。
【００２１】
まず、起点Ｓにおいて走行体本体１の姿勢、すなわち、進行方向を壁面Ｗ3から垂直となる方向に向けた後、所定の車輪速度を車輪速度制御手段３１に与え、直進走行を開始する。走行中は方位センサ１２の出力値を所定の時間間隔で監視し、走行体本体１の方向が絨毯目等の影響により変動した場合には、当初の姿勢方向を維持するように左右の駆動車輪８ａ，８ｂの回転速度を車輪速度制御手段３１によって制御する。
【００２２】
例えば、方位センサ１２が当初の姿勢方向よりも右方向の出力値を示した場合には、右の駆動車輪８ｂの回転速度を上げると共に、左の駆動車輪８ａの回転速度を下げることによって、左方向に姿勢方向を傾ける制御を行い、当初の姿勢方向に戻す。掃除区域の床材が絨毯ではなく、横滑りが生じないような床材であれば、走行体本体１は、左右の駆動車輪８ａ，８ｂの回転速度が略一致した状態で直進走行することができる。すなわち、起点Ｓから図中点線で示すように直進して対向する壁面Ｗ2の手前に位置する目標点Ａに到達することができる。
【００２３】
しかし、図６に示すように全面に絨毯４１が敷かれている場合には、絨毯目の影響を受けて走行体本体１は横滑りを起こす。例えば、絨毯目が右方向に向いていれば右方向に横滑りを起こす。このため、横滑りが無かったと仮定した場合の到達目標点Ａと実際に走行体本体１が到達する位置が異なるという現象が生じる。つまり、起点Ｓから直進を開始した走行体本体１は目標点Ａ方向に向けた姿勢、すなわち、壁面Ｗ3に対して垂直方向の姿勢を維持するように車輪速度を制御しながら直進を行う。しかし、絨毯４１の絨毯目による横滑り現象で実際の到達位置はＢ点となる。
【００２４】
駆動車輪８ａ，８ｂに横滑りが生じているか否かは車輪速度計測手段３２により計測された実際の左右の駆動車輪８ａ，８ｂの回転速度から知ることができる。すなわち、横滑りが発生した場合には、姿勢を保つ為に左右の駆動車輪８ａ，８ｂに回転速度の差が生じる。車輪速度計測手段３２により計測された左右の駆動車輪８ａ，８ｂの回転速度を横滑り検知手段３３に入力し、この横滑り検知手段３３で左右の駆動車輪８ａ，８ｂの回転速度の差を比較する。横滑り検知手段３３は、左右の駆動車輪８ａ，８ｂの回転速度の差が所定値を超えた場合に横滑りが発生していると判定する。
【００２５】
そして、図６においては、起点Ｓにおいて横滑りの発生が判定されるので、この起点Ｓが横滑り発生の検知を開始した地点となる。また、走行体本体１がＢ点に到達した後は直進を停止するので横滑りはなくなり、このＢ点が横滑り発生の検知を終了した地点となる。
【００２６】
次に、壁面Ｗ1と壁面Ｗ3が接する角をＯ点とし、このＯ点を原点にしてＳ点、Ａ点、Ｂ点の座標値を求める。Ｓ点の座標（ｘ，ｙ）は（ｘ1，ｙ1）となる。次に、実際に走行して到達した位置Ｂ点の座標を実座標値算出手段３４によって求める。Ｂ点のｘ座標は、測距センサ３により壁面Ｗ1までの距離ｄ1を計測することによってｘ＝ｄ1となる。また、ｙ座標は事前に与えられた地図情報から壁面Ｗ2とＷ3との距離ｄを求め、測距センサ３により壁面Ｗ2までの距離ｄ2を計測することによって求める。すなわち、ｙ＝ｄ−ｄ2となる。
【００２７】
次に、仮定座標値算出手段３５によって横滑りが無かったと仮定し、この仮定で直進した場合の目標点Ａの座標値を求める。目標点Ａのｘ座標は起点Ｓの垂直方向に位置するので、ｘ＝ｘ1となる。また、ｙ座標は位置Ｂと同一とみなし、ｙ＝ｄ−ｄ2とする。
【００２８】
なお、座標値を求める為に必要な部屋の形状、大きさを示す地図情報はメモリ４０に記憶されている。この場合にメモリ４０に記憶した地図情報は、予め与えられている場合もあり、また、今回の走行前に走行体本体１が壁面Ｗ1、Ｗ2、Ｗ4、Ｗ3に沿って部屋の内部を一周走行することによって作成する場合もある。
【００２９】
次にＳ点、Ａ点、Ｂ点の座標値から、横滑り角度計測手段３６によってＳ点とＡ点を結ぶ直線ＳＡとＳ点とＢ点を結ぶ直線ＳＢとのなす角度θ1を求める。すなわち、横滑り方向の角度を求める。これには、まず、各座標値から直線ＳＡの長さｓａと直線ＳＢの長さｓｂを算出し、続いて、２つの直線のなす角度θ1を、θ1=ｃｏｓ−１（ｓａ／ｓｂ）によって求める。
【００３０】
走行体本体１は角度θ1を計算した後、この情報をメモリ４０に格納し、到達位置Ｂ点から次の移動点Ｃに向かって９０度方向転回した後、Ｃ点に向けて所定距離移動する。このときの移動距離は、例えば、吸込口６の幅に相当する距離とする。そして、Ｃ点に到達すると走行体本体１は壁面Ｗ3に正対するように方向転回する。
【００３１】
次に、走行体本体１は本来であれば壁面Ｗ3のＥ点に向かって直進を開始することになるが、メモリ４０に格納した角度θ1を使用し目標方向補正手段３９が進行する目標方向を補正する。すなわち、目標方向補正手段３９は絨毯目の影響を打ち消す方向に走行体本体１の姿勢を傾ける補正を行う。ここでは絨毯目による横滑りが走行体本体１をｘ軸のプラス方向に角度θ1だけずらす作用を為すので、壁面Ｗ3に向かう走行体本体１に対してはｘ軸のマイナス方向に角度θ1傾けるように姿勢方向を補正する。すなわち、走行体本体１はＣ点において壁面Ｗ3に正対するＥ点の方向よりも右側に角度θ1だけ傾けたＤ点を目標点として向かうように姿勢制御されて走行する。この補正された姿勢を保つように車輪速度を制御することによって横滑りの影響が打ち消され、結果的には走行体本体１はＣ点から実線の矢印で示すように走行してＥ点に到達することができるようになる。
【００３２】
Ｅ点に到達した走行体本体１は次の移動点Ｆに向かって９０度方向転回した後、Ｆ点に向けて所定距離移動する。そして、Ｆ点に到達すると走行体本体１は進行方向を壁面Ｗ3に対して垂直となる壁面Ｗ2に向かって正対するように方向転回する。そして、走行体本体１は本来であれば壁面Ｗ2のＨ点に向かって直進を開始することになるが、メモリ４０に格納した角度θ1を使用し目標方向補正手段３９が進行する目標方向を補正する。すなわち、目標方向補正手段３９は絨毯目の影響を打ち消す方向に走行体本体１の姿勢を傾ける補正を行う。走行体本体１はＦ点において壁面Ｗ2に正対するＨ点の方向よりも左側に角度θ1だけ傾けたＧ点を目標点として向かうように姿勢制御されて走行する。この補正された姿勢を保つように車輪速度を制御することによって横滑りの影響が打ち消され、結果的には走行体本体１はＦ点から実線の矢印で示すように走行してＨ点に到達することができるようになる。
【００３３】
以降、このようにして、壁面Ｗ3から壁面Ｗ2に向かうときには本来の目標点よりも左側に角度θ1だけ傾けた点を目標点として向かい、壁面Ｗ2から壁面Ｗ3に向かうときには本来の目標点よりも右側に角度θ1だけ傾けた点を目標点として向かう補正を行いながら往復走行を繰り返す。これにより絨毯４１の上を走行体本体１は横滑りしながらも本来の目標に向かって直進することができる。従って、全体の掃除を終えたときには、最初の起点Ｓから目標点Ａに走行するときに横滑りによってＢ点に到達するため若干の未掃除領域が生じるがそれ以外では未掃除領域が生じることはない。
【００３４】
なお、この同じ掃除区域を再び起点Ｓから出発させて掃除する場合は、走行体本体１のメモリ４０には補正に使用する角度θ1のデータがすでに格納されているので、走行体本体１を最初から本来の目標点Ａよりも左側に角度θ1だけ傾けた点を目標点として走行させることができるので、このときには横滑りの影響を受けずに走行体本体１を目標点Ａに直進走行させることができる。
【００３５】
次に走行領域が、図７に示すように、前後が壁面Ｗ2、Ｗ3、左右が壁面Ｗ1、Ｗ4で囲まれ、しかも中央部のみに絨毯４２が敷かれている部屋であって、その部屋内を走行体本体１が、例えば壁面Ｗ2とＷ3の対辺間を通過位置が異なるように左右に所定の間隔を開けながら往復走行して掃除する場合の動作について説明する。
【００３６】
この場合は、走行体本体１はＳ（ｘ1，ｙ1）点から出発して壁面Ｗ3と壁面Ｗ2との対辺間を通過位置が異なるように壁面Ｗ4の方向に吸込口６の幅に相当する距離の間隔を開けて蛇行走行する。そして、走行体本体１が壁面Ｗ3側のＫ点に到達すると、進行方向を壁面Ｗ3に対して垂直となる壁面Ｗ2に向かって正対するように方向転回する。そして、走行体本体１は壁面Ｗ2のＮ点に向かって直進を開始する。
【００３７】
走行体本体１が絨毯４２の縁に当たるＬ点に到達するとここからは横滑りが発生するようになる。この横滑りにより、本来であれば絨毯４２の縁に当たるＭ点で絨毯区間が終了するところ、右方向に所定距離ずれたＰ点で絨毯区間が終了することになる。そして、絨毯区間が終了するＰ点で横滑りが終了し、その後走行体本体１は横滑りせずに直進し壁面Ｗ2側のＱ点に到達する。このとき、横滑り検知手段３３は左右の駆動車輪８ａ，８ｂの回転速度の差から横滑りが始まったＬ点と横滑りが終了したＰ点を検知する。
【００３８】
次に、絨毯区間での横滑りが無く直進したと仮定した場合の絨毯区間が終了する地点をＭ点とし、壁面Ｗ1と壁面Ｗ3が接する角をＯ点とし、このＯ点を原点にしてＬ点、Ｐ点、Ｍ点の座標値を求める。Ｌ点のｘ座標は、実座標値算出手段３４が走行体本体１の蛇行回数ｎと往復走行に伴う横移動の距離ｄ3からｘ=ｘ1＋ｎ＊ｄ3の演算で求める。また、ｙ座標はＬ点において後方測距センサ３-2により壁面Ｗ３までの距離ｄ4を計測することでｙ＝ｄ4とする。
【００３９】
Ｐ点のｘ座標、ｙ座標は、Ｐ点において左側方測距センサ３-3，３-4により壁面Ｗ1まで距離ｄ5を計測し、また、前方測距センサ３-1により壁面Ｗ2までの距離ｄ6を計測することで、実座標値算出手段３４がｘ＝ｄ5、ｙ＝ｄ−ｄ6として求める。Ｍ点のｘ座標、ｙ座標は、仮定座標値算出手段３５が求める。すなわち、Ｍ点のｘ座標はＬ点と同一とみなし、ｘ＝ｘ1＋ｎ＊ｄ3によって求める。また、Ｍ点のｙ座標はＰ点と同一とみなし、ｙ＝ｄ−ｄ6によって求める。
【００４０】
次にＬ点、Ｐ点、Ｍ点の座標値から、横滑り角度計測手段３６が直線ＬＭと直線ＬＰとのなす角度θ2、すなわち、絨毯４２による横滑りの角度を求める。これには、まず、各座標値から直線ＬＭの長さｌｍと直線ＬＰの長さｌｐを算出し、続いて、２つの直線のなす角度θ2を、θ2＝ｃｏｓ−１（ｌｍ／ｌｐ）によって求める。
【００４１】
走行体本体１は角度θ2を計算した後、この情報をメモリ４０に格納し、Ｐ点からＱ点に向かって直進し、Ｑ点に到達する。そして、到達位置Ｑ点から次の移動点Ｒに向かって９０度方向転回した後、Ｒ点に向けて所定距離移動する。そして、Ｒ点に到達するとそう後退本体１は壁面Ｗ3に正対するように方向転回する。
【００４２】
次に、走行体本体１は壁面Ｗ3に向かって直進を開始するが、横滑り検知手段３３により横滑りが検知されたＴ点からは目標方向補正手段３９がメモリ４０に格納した角度θ2を使用して走行する目標方向を補正する。すなわち、目標方向補正手段３９は絨毯目の影響を打ち消す方向に走行体本体１の姿勢を傾ける補正を行う。ここでは絨毯目による横滑りが走行体本体１をｘ軸のプラス方向に角度θ2だけずらす作用を為すので、壁面Ｗ3に向かう走行体本体１に対してはｘ軸のマイナス方向に角度θ2傾けるように姿勢方向を補正する。すなわち、走行体本体１はＴ点において壁面Ｗ3に正対するＶ点の方向よりも右側に角度θ2だけ傾けたＵ点を目標点として向かうように姿勢制御されて走行する。この補正された姿勢を保つように車輪速度を制御することによって横滑りの影響が打ち消され、結果的には走行体本体１はＴ点から実線の矢印で示すように走行してＶ点に到達することができるようになる。そして、走行体本体１がＶ点到達した後は、横滑り検知手段３３による横滑り検知が終了するので、目標方向補正手段３９による補正も終了し、走行体本体１はＶ点からは壁面Ｗ3に正対したＷ点に向かって直進するようになる。
【００４３】
以降、このようにして、壁面Ｗ3から壁面Ｗ2に向かうときには絨毯４２の区間に入ると、走行体本体１は姿勢を壁面Ｗ2に正対する方向よりも左側に角度θ2だけ傾けて走行する。また、壁面Ｗ2から壁面Ｗ3に向かうときには絨毯４２の区間に入ると、走行体本体１は姿勢を壁面Ｗ3に正対する方向よりも右側に角度θ2だけ傾けて走行する。これにより走行体本体１が最初に絨毯４２の上を走行するときには横滑りの影響を受けて走行方向にずれが生じるが、壁面で折り返して絨毯４２の上を２回目以降走行するときには横滑りの影響を打ち消すように走行方向の補正が行われる。
【００４４】
これにより、絨毯４２の上も絨毯を敷いていない床面と同じように走行体本体１を直進させることができ、最初に絨毯４２の上を走行する場合に絨毯上に若干の未掃除領域が生じる虞があるが、それ以外では未掃除領域が生じる虞はなく絨毯４２上を良好に掃除することができる。
【００４５】
そして、この壁面Ｗ1、Ｗ2、Ｗ3、Ｗ4で囲まれ、しかも中央部のみに絨毯４２が敷かれている部屋を最初に蛇行するように往復走行したときに、検知領域書き込み手段３８は、図８に示すように、メモリ４０に記憶されている部屋の大きさを示すマトリックス状の地図情報５１に、絨毯４２の敷かれている領域を絨毯領域５２として書き込む。
【００４６】
これにより、この同じ部屋を再び起点Ｓから出発させて掃除する場合は、メモリ４０から絨毯領域５２を把握することができるので、走行体本体１が絨毯領域５２を最初に走行する時点で補正に使用する角度θ2のデータをメモリ４０から読み出して走行体本体１の姿勢方向を横滑りの影響を打ち消すように補正することができる。これにより、走行体本体１を絨毯４２上において最初にＬ点からＭ点に向かう場合に姿勢を左側に角度θ2だけ傾けて走行させることができる。すなわち、走行体本体１を絨毯４２のすべての面において横滑りの影響を受けずに直進走行させることができる。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施の形態に係る自律走行体の外部構成を示す正面図。
【図２】同実施の形態に係る自律走行体の内部構成を示す一部切欠した側面図。
【図３】同実施の形態に係る自律走行体における測距センサの配置状態を示す図。
【図４】同実施の形態における制御部のハード構成を示すブロック図。
【図５】同実施の形態における制御部の構成を機能的に示す機能ブロック図。
【図６】同実施の形態における掃除のための走行領域の一例を示す図。
【図７】同実施の形態における掃除のための走行領域の他の例を示す図。
【図８】図７の走行領域をマトリックス状の地図情報としてメモリに記憶した状態を示す図。
【図９】従来の走行制御による課題を説明するための図。
【符号の説明】
【００４８】
１…走行体本体、３…測距センサ、８ａ，８ｂ…駆動車輪、９ａ，９ｂ…走行モータ、１０ａ，１０ｂ…ロータリエンコーダ、１２…方位センサ、２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、３１…車輪速度制御手段、３２…車輪速度計測手段、３３…横滑り検知手段、３４…実座標値算出手段、３５…仮定座標値算出手段、３６…横滑り角度計測手段、３７…走行制御手段、３９…目標方向補正手段、４０…メモリ。
【図１】
2005346477.tif 000003
【図２】
2005346477.tif 000004
【図３】
2005346477.tif 000005
【図４】
2005346477.tif 000006
【図５】
2005346477.tif 000007
【図６】
2005346477.tif 000008
【図７】
2005346477.tif 000009
【図８】
2005346477.tif 000010
【図９】
2005346477.tif 000011