(57)【要約】【課題】移動ロボットにおいて、走行路面が雨で濡れていても、障害物検出の誤報が少なく高い判定精度を得ること。【解決手段】移動ロボットは、測距センサと、障害物判定手段と、走行路面状態判定手段と、走行速度と障害物検出の閾値を変更できる制御手段を有している。雨天時には速度を遅くして測距センサによる走行距離に対するデータサンプリング間隔を短くし、サンプル数を増加させて走行路面と障害物の距離差をより細密に得られるようにし、これにより閾値を高い値として障害物を見落としなくより正しい距離差で検出するとともに、誤報を避ける。【選択図】図５
2008009927.tif 000002
【特許請求の範囲】
【請求項１】
走行する路面の濡れ状態を検出可能な移動ロボットであって、
前記路面に対して一定周期ごとに距離計測用の検知波を送波するとともに反射波を受波して移動ロボットまでの距離を測定する測距センサと、
前記路面の濡れ状態を検知する路面状態判定手段と、
前記測距センサにて計測した距離データに基づき、所定閾値を越える大きさの前記路面上に存在する障害物を検出する障害物判定手段と、
前記移動ロボットの走行速度を制御する制御手段を具備し、
前記制御手段は、前記路面状態判定手段にて路面の濡れ状態を検出すると、前記走行速度を前記障害物判定手段に適した所定速度に制限することを特徴とした移動ロボット。
【請求項２】
前記障害物判定手段は、前記路面状態判定手段にて路面の濡れ状態を検知すると、前記所定閾値を前記路面の濡れ状態を検出していないときの閾値よりも前記障害物を検出しにくい値とする請求項１に記載の移動ロボット。
【請求項３】
前記所定閾値は、前記路面からの障害物の高さに相当する値に基づいて定める請求項１または２に記載の移動ロボット。
【請求項４】
前記路面状態判定手段は、前記測距センサにて計測した所定範囲外または計測不能な距離データに基づき前記路面の濡れ状態を検知する請求項１乃至請求項３のいずれか一つに記載の移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、走行路面の障害物を検出しつつ屋外を走行する移動ロボットに関し、特に走行路面が濡れていても障害物の検出精度を確保するための技術に関する。
【背景技術】
【０００２】
従来、走行路面の障害物を検出しつつ走行する移動ロボットは、特許文献１にあるように距離検知センサを用いて、床面（走行路面）に向けて距離測定用のレーザ光を左右方向に所定サンプリング間隔にて投受光し、得られた距離データに基づいて障害物を検出していた。
【０００３】
図１１は、従来の移動ロボットＲによる障害物検出の状態を説明する図であって、右側に移動ロボットＲ、レーザ光Ｌ、走行路面Ｓ及び障害物Ｈの位置関係を側面視した図を示し、左側には距離検知センサにて計測した距離データを平面視した図を示している。左側の距離データは、距離検知センサを中心に左右（Ｘ軸方向）及び前後（Ｙ軸方向）に平面視した直交座標系にて模式的に示している。また、移動ロボットＲの移動の履歴を見るために、時刻ｔ，ｔ＋１，ｔ＋２，ｔ＋３，ｔ＋４の時刻の経過順に上下に並べて示している。
【０００４】
時刻ｔでは、移動ロボットＲのレーザ光Ｌは走行路面Ｓに投光され、走行路面Ｓからの反射光を受光する。このため、左欄にあるように、走行路面Ｓのレーザ光Ｌが当たっているところまでの距離が計測されている。
【０００５】
時刻ｔ＋１では、移動ロボットＲが障害物Ｈにやや近づき、レーザ光Ｌが障害物Ｈの走行路面Ｓに近い高さに当たった状態である。この場合、計測される距離データは、左欄に示すように走行路面Ｓからの反射光による距離と障害物Ｈからの反射光による距離に差が生じる。
ｔ＋２では、移動ロボットＲがｔ＋１時点より更に近づき、レーザ光Ｌが障害物Ｈの中間的な高さに当たった状態である。この場合、計測される距離データは、左欄に示すように走行路面Ｓからの反射光による距離と障害物Ｈからの反射光による距離の差がｔ＋１時点より大きく生じる。
ｔ＋３では、移動ロボットＲがｔ＋２時点より更に近づき、レーザ光Ｌが障害物Ｈの上方部に当たった状態である。この場合、計測される距離データは、左欄に示すように走行路面Ｓからの反射光による距離と障害物Ｈからの反射光による距離の差がｔ＋２時点より更に大きくなる。
【０００６】
ｔ＋４では、移動ロボットＲのレーザ光Ｌは障害物Ｈの上方を通過して走行路面Ｓに投光され、走行路面Ｓからの反射光を受光する。このため、左欄にあるように、走行路面Ｓのレーザ光Ｌが当たっているところまでの距離が計測されている。
なお、通常では、移動ロボットＲが障害物に衝突するのを防ぐために、障害物Ｈを検出した時点で停止または回避動作を行うので、ｔ＋４まで移動させないように制御されるが、今回は説明のために記載している。
【０００７】
移動ロボットＲでは、図１１の左欄に示すような距離データに基づいて、障害物Ｈを検出している。すなわち、同図から明らかなように、走行路面Ｓからの反射光による距離データは、略等距離のデータとして計測され、障害物Ｈは走行路面Ｓからの反射光による距離データよりも近距離のデータとなる。そこで、移動ロボットＲでは、走行路面Ｓによる距離データより所定閾値以上の距離差があれば障害物として検出していた。なお、所定閾値は、距離差が障害物の走行路面からの高さに相当することを考慮し、走行に障害となるか否かを判定するのに使用している。
【特許文献１】特開平1-293410号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、雨が降り、走行路面が濡れるとレーザセンサによる正しい距離値が得にくくなる。特にレーザセンサを走行路面に対して浅い角度で設置している場合、走行路面の状況によっては、レーザ光が鏡面反射して距離値がまったく得られなかったり、受光した反射光による信号の波形の立ち上がり位置が判断しにくい等のため、距離値の誤差が大きくなることがあり、距離値の誤差によって実際の走行路面よりも短い値（近い距離）が得られた場合には、障害物と間違えて判定してしまうことがある。
【０００９】
例えば、移動ロボットが速度10km/h(277.7cm/s) で走行し、レーザセンサのサンプリング周期が33msとすると、移動ロボットが9.2cm 移動するごとにセンサデータが得られることになる。ここで、障害物にレーザ光が当たる場合、センサの取付角度が約10度とすると、レーザ光が障害物に当たる位置は、ロボットが移動するにつれて障害物の高さ方向に1.6cm(=tan10°*9.2) ずつずれていくことになる。
【００１０】
ここで移動ロボットが5cm までの段差を乗り越えることができる場合には、5cm 以上の高さの物体を走行を阻害する障害物として検出することが必要となる。
したがって、5cm 高の障害物を発見するにはセンシング結果が3.4cm ＜h ≦5cm の範囲内である必要があり、すなわち5cm のものを確実に見つけるには閾値を3.4cm として設定する必要がある。
【００１１】
しかし、前述の通り、走行路面が濡れることにより誤差が大きくなり、実際の距離よりも短い値が得られると、高さの低い物体であっても高さ3.4 ｃｍ以上の障害物として誤検出される可能性があるという問題点があった。
また、移動ロボットの走行速度が速いと、レーザセンサのサンプリング周期の限界により、走行距離に対する計測できる距離データのサンプル数が少なくなる。すなわち、速度が遅ければ、ｔ〜ｔ＋４までの５周期分の距離データを取得できるが、速度が倍程度速くなるとｔ、ｔ＋２、ｔ＋４の３周期分の距離データしか取得できない。また、走行路面が濡れてくると、レーザ光の受光数が少なくなるので、計測できる距離データの数が少なくなる。したがって、移動ロボットの走行速度が速いこと、及び走行路面が濡れていることに起因して、計測できる距離データのサンプル数がかなり少なくなるので、結果的に障害物の検出精度の低下を招いてしまうという問題があった。
【００１２】
本発明は、上記問題に鑑みてなされたものであり、走行路面の状態（雨による濡れ）に応じて、障害物検出の判定基準である閾値を変更あるいは走行速度を落とすことにより、障害物検出における誤報の可能性を減じて判定精度を向上させることを目的とする。
【課題を解決するための手段】
【００１３】
請求項１に記載された移動ロボットは、走行する路面の濡れ状態を検出可能な移動ロボットであって、
前記路面に対して一定周期ごとに距離計測用の検知波を送波するとともに反射波を受波して移動ロボットまでの距離を測定する測距センサと、
前記路面の濡れ状態を検知する路面状態判定手段と、
前記測距センサにて計測した距離データに基づき、所定閾値を越える大きさの前記路面上に存在する障害物を検出する障害物判定手段と、
前記移動ロボットの走行速度を制御する制御手段を具備し、
前記制御手段は、前記路面状態判定手段にて路面の濡れ状態を検出すると、前記走行速度を前記障害物判定手段に適した所定速度に制限することを特徴としている。
【００１４】
請求項２に記載された移動ロボットは、請求項１記載の移動ロボットにおいて、
前記障害物判定手段は、前記路面状態判定手段にて路面の濡れ状態を検知すると、前記所定閾値を前記路面の濡れ状態を検出していないときの閾値よりも前記障害物を検出しにくい値とすることを特徴としている。
【００１５】
請求項３に記載された移動ロボットは、請求項１または２記載の移動ロボットにおいて、
前記所定閾値は、前記路面からの障害物の高さに相当する値に基づいて定めることを特徴としている。
【００１６】
請求項４に記載の移動ロボットは、請求項１乃至請求項３のいずれか一つに記載の移動ロボットにおいて、
前記路面状態判定手段は、前記測距センサにて計測した所定範囲外または計測不能な距離データに基づき前記路面の濡れ状態を検知することを特徴としている。
【発明の効果】
【００１７】
請求項１に記載された移動ロボットによれば、一定周期で動作する測距センサを備えた移動ロボットの制御において、走行路面が濡れている場合には移動ロボットの速度を制限することにより、移動ロボットの走行距離に対する測距センサによる見かけ上のサンプリング間隔を高め、これによって障害物の検出データをより多く取得して走行路面と障害物の距離差をより細密に得ることができる。
【００１８】
請求項２に記載された移動ロボットによれば、測距センサによる見かけ上のサンプリング間隔を高めたために、障害物判定の閾値をより厳しい値に変えることが可能となり、これによって走行路面の濡れによる誤報を減少させつつ、同時に必要な検出精度を達成することができる。
【００１９】
従来技術では、走行路面乾燥時には、移動ロボットの走行速度が相対的に速くても、非障害物（誤報対象）からのデータは閾値にはかからず、誤報は発生しないが、走行路面濡れ時には乾燥時よりもデータの誤差が大きくなるため、移動ロボットの走行速度と閾値がそのままであると、誤報が生じる可能性が高まる。そこで誤報を避けるためには閾値を相対的に高くする必要がある。しかし、走行速度が速いままだと走行距離に対するデータ取得間隔が相対的に長くサンプル数が少ないので、前述したように誤報を避けるために単に閾値を相対的に高くしたのでは本来検出すべき障害物を見逃すおそれがある。
【００２０】
そこで、雨天時には走行速度を遅くして走行距離に対するデータ取得間隔を短くする（サンプル数を増加する）ことにより、走行路面と障害物の距離差をより細密に得られるようにするとともに、これにより閾値を高い値にすることができることから、障害物を見落としなく、かつ、誤報を避けることもできるようになる。
【発明を実施するための最良の形態】
【００２１】
１．全体の構成（図１）
図１は、本発明の一実施形態に係る移動ロボット１が利用される環境である監視区域の平面図と、同移動ロボット１の外観を示す斜視図である。
この移動ロボット１は、例えば警備目的のために使用される自律移動型のロボットであり、監視区域内の所定経路を巡回しながら図示しない異常判定用のセンサや撮像ユニット７、レーザセンサ２にて監視区域内の異常の検出を行うものである。
【００２２】
図１（ａ）において、建物の周囲が、予め設定された移動ロボット１が巡回する移動経路とされており、その移動経路の全長にわたってガイド手段としての白線テープ３が固定的に設けられている。監視区域は、建物と、この建物の周囲を一周するように設定された白線テープ３を含む所定面積の範囲とされている。
【００２３】
また経路中の所定の地点には、白線テープ３の近傍に地点指示手段としての指示マーカ４が固定的に配置されている。指示マーカ４は、白色矩形のマークとして移動経路上に設定された走行区間の境界に設けられており、移動経路上に設定された走行区間や指示マーカ４が設定された地点を移動ロボット１に指示するものである。
【００２４】
また、白線テープ３の中途には、移動ロボット１による監視巡回行動の１サイクルにおける開始地点（出発点）及び終了地点（到着点）となり、ロボット不使用時の格納庫であるとともに、さらに移動ロボット１のバッテリーを充電する充電装置を備えたロボットボックスが配置されている。
【００２５】
なお、図１には示さないが、例えば前記建物内のセキュリティー関連部署等には監視センタが設置されている。この監視センタには、本例の移動ロボット１及びこれに関連するシステムを運用するための管制装置等が配置されており、係員がその運用に当たる。
【００２６】
図１（ｂ）にその外観を示すように、移動ロボット１は、移動手段である左右の車輪６で前記白線テープ３に沿って走行しつつ、本体の正面側に装備した障害物検知手段としてのレーザセンサ２により、移動方向前方の監視区域を図示一点鎖線で示すように走査する。本体の上部には、全周囲を撮像できる撮像ユニット７が装備されており、レーザセンサ２等によって異常を発見した場合やその他必要な場合に周囲の必要な位置の画像を撮像できるようになっている。
【００２７】
そして、この移動ロボット１は、監視巡回行動中に監視区域内で異常を検出すると、遠隔の前記監視センタに撮像画像とともに異常信号を送出する。監視センタでは、異常信号を受信すると、受信した撮像画像を表示して異常の確認を行い、移動ロボット１を遠隔操作して異常対処を行う。
【００２８】
２．移動ロボット１の構成（図１及び図２）
図２は、本例の移動ロボット１の具体的な構成を示す機能ブロック図である。
この移動ロボット１は、移動手段６，８、ガイド検出部１０、移動制御部９、自己位置検出部１３、測距センサ１６、記憶部１７、処理部１８、撮像ユニット７、通信部２０及びこれら各部を制御する制御部２１、各部に電力を供給する電源部２２を有している。以下に各部ごとに説明する。
【００２９】
(1) 移動手段
移動ロボット１は図１（ｂ）に示すように４つの車輪６を有しており、それらのうち右前輪６、左前輪６の２つが駆動輪として機能する。移動手段は、右前輪６，左前輪６と左右各前輪６を独立に駆動する２つのモータ８で構成されており、左右各前輪６の回転速度により直進走行速度、旋回走行速度が制御され、旋回方向も制御される。この左右各前輪６の回転速度は移動制御部９により制御される。なお、左右前輪６を独立に制御する代わりに、舵角を制御して旋回速度を制御する方式でもよいし、車輪駆動でなく、左右のクローラを独立に制御する方式でもよい。
【００３０】
(2) ガイド検出部
ガイド検出部１０は、移動経路上のガイド手段である前述した白線テープ３を検出する。
ガイド検出部１０は、白線検出カメラ１１と路面情報抽出部１２とから成る。白線検出カメラ１１は、走行路面を撮影可能な様に移動ロボット１の底面に設置されている。路面情報抽出部１２は、エッジ抽出やハフ変換などの処理により、白線検出カメラ１１の撮影画像から、移動ロボット１の経路を誘導すべき白線テープ３及び指示マーカ４を検出して制御部２１に出力する。
【００３１】
なお、ガイド検出部１０は、磁気センサ、電磁誘導センサなどで構成されても良く、それぞれ移動経路に設置されたガイド手段としての磁気ガイド、電磁誘導ガイドを検出するようにすることもできる。ガイド手段及びガイド検出部は設置する環境により選択できるようにすることが好ましい。また、巡回経路上にガイド手段や地点指示手段を設けることなく、デッドレコニングやＧＰＳにより算出する位置情報に基づき、巡回経路上の各地点を認識するようにしてもよい。
【００３２】
(3) 移動制御部
移動制御部９は、移動手段の車輪６を駆動するモータ８を制御するための手段である。移動制御部９は、ガイド検出部１０による白線テープ３の検知出力に応じて、例えば周知のＰＩＤ制御などにより、移動ロボット１が白線テープ３に沿って移動するようモータ８を制御する。また、移動制御部９は、後述する自己位置検出部１３の位置算出部１５による走行区間の検出に応じて、予め設定された経路情報に基づき移動速度を制御し、位置算出部１５による特定地点の検出に応じて走行停止する。
【００３３】
(4) 自己位置検出部
自己位置検出部１３は、前記移動手段の各モータ８にそれぞれ設置された回転量検出部としてのレゾルバ１４と、各レゾルバ１４にそれぞれ接続された位置算出部１５からなる。レゾルバ１４はモータ８の回転軸の絶対位置をそれぞれ検出する。位置算出部１５はレゾルバ１４の出力から得られるモータ８の回転軸の回転量から左右各前輪輪６それぞれの回転量を算出し、左右各前輪６それぞれの回転量と車輪半径から算出された左右各前輪６の走行距離の平均から移動ロボット１の走行距離を算出する。
【００３４】
本例では移動ロボット１の巡回経路は固定されているため、走行距離をもって自己位置とすることができる。走行距離として記録するのは、開始地点からの総距離としてもよいし、各指示マーカ４の位置からの距離として記録してもよい。なお、位置算出部１５は左右各前輪それぞれの回転量の差と車輪間隔から移動ロボットの姿勢（向き）の変化を算出して左右各前輪による走行距離と姿勢変化からデッドレコニングにより自己位置を算出してもよい。
【００３５】
また、自己位置算出部１３は、ガイド検出部１０による指示マーカ４の検知出力に応じて、指示マーカ４の検知回数を計数し、経路情報に基づき現在の走行区間を検出するとともに、自己位置の補正などを行う。
【００３６】
(5) 測距センサ
測距センサ１６は、移動ロボット１の前方を走査して走行路面の状態、走行路面上の異物その他の被検出対象を検出するための手段である。
測距センサ１６は、図３に示すように移動ロボット１の本体の前面側に、進行方向の前方下方に向けて設置されたレーザセンサ２からなり、レーザ発振器より照射されるレーザ光が光路上にある物体にて反射した際の反射光を受光する。測距センサ１６は、走査鏡とこの走査鏡を回転駆動する手段とによりレーザ発振器から発射されるレーザ光の照射方向を制御して、移動ロボット１の前方を含む所定の範囲を所定周期（例えば３３ｍｓ）で空間走査している。
【００３７】
なお、図３（ａ）には、本例の移動ロボット１におけるレーザセンサ２と測定点との幾何学的位置関係を示し、図３（ｂ）には、同レーザセンサ２の走査角度範囲Φで示すセンシングエリア（斜線領域）及び同エリア内におけるセンサ測定データ数についての一例を示した。図示したように、本例ではレーザセンサ２によるセンシングエリアとして移動ロボット１の正面１４０°を設定し、走査鏡を０．５°ずつ回転させてセンシングエリアを走査している。これによりレーザセンサ２による一周期の走査で２８１個の測定点のデータが所得される。
【００３８】
そして、測距センサ１６はレーザ光の照射から反射光検出までの時間により算出される測距センサ１６とレーザ光を反射した物体（測定点）との距離値と、回転駆動される走査鏡の角度とにより、レーザ光を反射した物体、即ちレーザ光を反射した測定点の相対位置を算出する。相対位置は、移動ロボット１を基準とした測定点の位置（距離値、角度）である。測距センサ１６はレーザセンサ２が一周期走査するごとに測定結果を出力する。
【００３９】
なお、測距センサ１６はレーザセンサ以外のセンサで構成されてもよい。例えば、測距センサ１６は赤外線タイプのセンサで構成されてもよく、ミリ波レーダタイプのセンサで構成されてもよい。また、走査鏡により走査する構成に限らず、移動ロボットの周囲所定角度毎に複数の投受光部を設けて、各投受光部を所定周期で作動させることにより、周囲下方の路面や障害物までの距離値を得るよう構成されてもよい。この場合、測距センサ１６は各投受光部の測定結果をまとめて出力する。
【００４０】
(6) 記憶部
記憶部１７は、移動ロボット１の各種処理に使用される情報を記憶している。記憶部１７が記憶する情報には、以下1)〜4)のものが含まれる。
1)移動経路の情報を示した経路情報
2)障害物マップ
3)位置算出部により算出された移動ロボット１の位置情報
4)障害物判定用の閾値
【００４１】
1)の経路情報は、走行経路中の各区間（ある指示マーカ４から次の指示マーカ４までの区間）番号に対応して、区間内での走行速度maxHとmaxL（maxH＞maxL）、予め測量した区間距離、区間の始点終点間の方位角の差（角度差）及び各区間を走行している時の車輪径、各指示マーカ４上での移動ロボット１の動作が記憶されている。経路情報では、区間番号が、該当区間までに検出されるべき指示マーカ４の数（検出回数）と対応付けられている。走行制御では、指示マーカ４の検出回数から区間番号や指示マーカ４上での移動ロボット１の動作が特定され、そして区間番号から各区間における車輪径が特定されることとなる。
【００４２】
2)の障害物マップは、測距センサ１６、処理部１８で検出された障害物情報を一時的に記憶するための移動ロボット１周囲所定範囲を示したマップである。図４に示すように、移動ロボット１に設置されたレーザセンサ２の位置を原点（０，０）としたそのマップエリアの中には、停止エリア、減速エリアが設定されており、検出された障害物や走行路面の濡れ情報がマップに登録される。そして、移動ロボット１が走行するごとに、その移動に応じてマップ上に登録された障害物データの座標変換を行う。
【００４３】
3)の位置情報は、自己位置検出部１３の位置算出部１５によって算出された移動ロボット１の自己位置情報である。
4)の障害物判定用の閾値は、移動ロボット１が乗り越えられないような走行に支障を与える高さの物体を障害物として検出するために物体の高さに相当する値と比較される閾値である。閾値として設定される値として、相対的に大きな値thＨ（障害物ありと判定するための閾値として厳しい値）と相対的に低い値thＬ（障害物ありと判定するための閾値として緩い値）の２つの値が予め記憶されており、この内何れかが、後述する障害物検知に係る制御で障害物判定用閾値として設定される。
【００４４】
(7) 処理部
処理部１８は路面状態判定部２３と障害物判定部１９を備えている。路面状態判定部２３は、レーザセンサ２の出力結果に基づき路面状態が乾燥しているか、濡れているかを判定し、判定結果を制御部２１に出力する。この結果、制御部２１は路面状態に応じた上限速度（maxH又はmaxL）で走行するよう移動制御部９に信号を出力する。障害物判定部１９は、測距センサ１６の出力に基づき異常の有無を判定する。障害物判定部１９は、測距センサ１６の一周期の走査結果として出力されたデータに含まれる距離値の差を閾値（thＨ又はthＬ）と比較して、所定以上の高さを持つ障害物が存在するか否かを判定する。前述したように、測距センサ１６が路面を走査した結果として出力したデータに含まれる距離値の差（走査鏡の角度毎における距離値の差）は、障害物の高さに相当する値となる。この障害物高さに相当する値を閾値処理することで、移動ロボット１の走行に支障を与える高さの障害物が存在するか否かを判定するのである。そして、移動ロボット１の走行に支障を与える高さの障害物が検出され異常と判定されると、後述する通信部２０より異常信号が出力され、また、移動制御部９が移動ロボット１の停止や減速などの予め定められた処理を行う。障害物判定部１９は、前記障害物マップを用いて異常を判定する。具体例は後述する。なお、本例では、レーザセンサ２の出力結果から路面の濡れを判定しているが、路面の濡れを判定する手段を別途設けてもよい。この場合、レーザセンサ２の反射波から判定する方法に限られず超音波、赤外線の反射波、或いは画像解析、車輪から発生する走行音の違いを解析するなどにより判定してもよい。
【００４５】
(8) 撮像ユニット
撮像ユニット７は、移動ロボット１の本体上面に搭載されて移動ロボット１の周囲を撮像する手段である。本例では、複数のカメラを周方向に外向きに並べて全周をカバーするようにしている。
【００４６】
(9) 通信部
通信部２０は、遠隔の監視センタと信号を送受信する無線通信手段である。通信部２０は、移動ロボット１が監視領域内で異常を検知した場合、遠隔の監視センタに無線等で異常信号を出力する。また、通信部２０は、撮像ユニット７が撮像した画像と自己位置検出部１３が算出した移動ロボット１の位置を遠隔の監視センタに送信し、監視センタから送信された制御コマンドの信号を受信して後述する制御部２１に入力する。
【００４７】
(10)制御部
制御部２１は、移動ロボット１の各構成部分を統括的に制御する手段であり、ＣＰＵ等を備えたコンピュータで構成される。
【００４８】
なお、上述した各部の構成で、その機能がコンピュータ処理によって実現可能なものは、同コンピュータで実現されてよい。例えば、路面情報抽出部１２、位置算出部１５、移動制御部９、路面状態判定部２３、障害物判定部１９などは同コンピュータで実現されてよい。また、記憶部１７は、同コンピュータのメモリおよび外部記憶装置などで実現されてよい。
【００４９】
３．移動ロボットの制御系における情報処理の手順及びこれによる動作
以下、本例の移動ロボット１の走行時における制御動作を説明するが、まず本例の移動ロボット１の走行時における障害物検知の全体的な制御手順を説明し（図５）、次に図５の手順で取得した情報等を用いて行う移動ロボット１の走行制御を説明する（図６）。次に、前記障害物検知時の制御手順における濡れ路面検知制御（図７）と、障害物検知制御（図８）についてそれぞれ詳細に説明する。各フローチャートを用いた以下の説明では、Ｓで始まる連続番号により制御手順の各ステップを示すものとする。
【００５０】
(1) 障害物検知に係る全体的な制御（図５）
図５は、本例の移動ロボット１の走行時における障害物検知手順の全体を示すフローであり、この手順において、濡れ路面検知処理（Ｓ０１）において走行路面の濡れを検知した場合には移動ロボット１の走行速度の上限を下げる速度設定の要求を行うとともに障害物ありと判定するための閾値を上げ、またレーザセンサによる１回の走査結果から障害物検知処理（Ｓ０７）を行っている。ここで障害物の有無を検出した場合には検出結果に応じた移動ロボット１の停止・減速の要求を行う。なお、本例では、障害物検知制御の一例を図８、図９に示しているが、これに限らず、測距センサ１６で前方路面を走査して得られた距離値の差に基づき障害物の有無を判定する処理であればよい。
【００５１】
Ｓ０１：濡れ走行路面検知処理において、走行路面が濡れているかどうかを判定する。このサブルーチンの詳細は図７に示し、後に詳述する。
Ｓ０２：走行路面に濡れがある場合はＳ０５へ進む。濡れがない場合はＳ０３へ進む。
【００５２】
Ｓ０３：走行路面に濡れがない場合（Ｓ０２でＮＯ）は、走行速度の上限をmaxHに設定するよう制御部２１へ指令する。この走行速度の上限maxHは、走行路面が濡れていない場合の走行速度の上限を示す。なお、路面の凹凸の影響などにより、水たまりが点在し、濡れ路面判定処理の判定結果が短い間隔で濡れと乾燥が変化する場合、速度制御を頻繁に行うのは好ましくない為、濡れを検知した後、所定距離進むまでは乾燥と判定されても上限速度を変更しないようにしたり、障害物マップ上に濡れと判定された位置を記憶しておき移動ロボット１が走行することによりマップ上の所定エリアから濡れと判定された位置がなくなってから乾燥路面の判定を再開するようにしてもよい。
Ｓ０４：走行路面状態（濡れなし）に応じて障害物ありと判定するための閾値（障害物高さに相当する値）として、路面が濡れている場合と比較して相対的に低い閾値thＬを設定する。すなわち、乾いた走行路面ではレーザセンサ２により検出する距離の誤差が濡れ路面の場合よりも相対的に小さいので、走行速度の上限を相対的に高く（maxH）して、障害物ありと判定する際の閾値は相対的に低いもの（thＬ）とする。設定された閾値thＬは記憶部１７に記憶される。
【００５３】
Ｓ０５：走行路面が濡れている場合（Ｓ０２でＹＥＳ）は、走行速度の上限をmaxL（＜maxH）に設定するよう制御部２１へ指令する。この走行速度の上限maxLは、走行路面が濡れている場合の速度の上限を示すもので、すなわち走行路面が濡れている場合は濡れていない場合よりも移動ロボット１の速度を落とす。
Ｓ０６；走行路面状態（濡れあり）に応じて障害物ありと判定するための閾値（障害物高さに相当する値）として路面が濡れていない場合と比較して相対的に高い閾値thＨを設定する。すなわち、濡れた走行路面ではレーザセンサ２により検出する距離の誤差が乾いている場合よりも相対的に大きいので、走行速度の上限を相対的に低く（maxL）して、障害物ありと判定する際の閾値は相対的に高いもの（thＨ）とする。設定された閾値thＨは記憶部１７に記憶される。
【００５４】
Ｓ０７：障害物検知処理（走行路面との距離差検出方式）を実行する。このサブルーチンは図８に示し、図９も参照して後に詳述する。
【００５５】
Ｓ０９：Ｓ０７の障害物検知処理において障害物ありと判定されたか否かを判定する。障害物有りの場合はＳ１０へ進み、ない場合はＳ１４へ進む。
【００５６】
Ｓ１０：障害物がある場合（Ｓ０９でＹＥＳ）は、この障害物が障害物マップにおいて停止エリア（図４参照）にあるか否かを判定し（Ｓ１０）、ある場合（Ｓ１０でＹＥＳ）はＳ１１で移動ロボット１を停止させるよう制御部２１へ指令し、ない場合（Ｓ１０でＮＯ）はＳ１２へ進む。
【００５７】
Ｓ１２：検出された障害物が障害物マップにおいて減速エリア（図４参照）にあるか否かを判定する。ある場合（Ｓ１２でＹＥＳ）はＳ１３で移動ロボット１を減速させるよう制御部２１へ指令し、ない場合（Ｓ１２でＮＯ）はＳ１４へ進む。
【００５８】
Ｓ１４：制御部２１から障害物検知処理を停止するよう指令が入力されているか否か判定し、なければＳ０１に戻って以上の処理手順を繰り返し、停止するよう指令があれば終了する。
【００５９】
(2) 全体的な走行制御（図６）
図６は本例の移動ロボット１の走行制御において、指示マーカ４と指示マーカ４の間を１走行区間とした場合のフローチャートを示すものであり、初期の設定に従い規定の移動経路を走行しながら、前述した障害物検知処理（図５）において出力された走行速度の設定要求や停止要求、減速要求等に基づいて行う情報処理手順を示すものである。
【００６０】
Ｓ５１：制御部２１は、記憶部１７に記憶されている経路情報から、現在の走行区間の速度情報として、maxHとして指定された速度を取得する。経路情報には走行区間ごとの走行速度として、maxHとmaxLの２つの速度が記憶されている。移動ロボット１は、通常、maxHで指定された速度で走行し、濡れた路面を検出すると走行速度をmaxLにおとして走行する。
Ｓ５２：制御部２１は、取得したmaxHとして指定された走行速度で移動ロボット１を走行させる。
【００６１】
Ｓ５３：制御部２１は、処理部１８が前述した図５のフローにおいて制御部２１へ出力した走行速度に関する情報（maxHの設定速度、又はmaxLの設定速度、又は停止要求、又は減速要求）を取得する。
Ｓ５４：制御部２１は、処理部１８からの走行速度に関する情報中、停止要求があるか否かを判定する。停止要求があれば（Ｓ５４でＹＥＳ）、Ｓ５５で移動ロボット１の走行を停止する。移動ロボット１が停止した場合、制御部２１は再び走行開始の指令がくるまで移動ロボット１を停止した状態に維持する。
【００６２】
Ｓ５６：停止要求がなかった場合（Ｓ５４でＮＯ）には、処理部１８からの走行速度に関する情報（以下「指定速度」とする）に基づき、速度変更が必要か否かを判定する。制御部２１は、指定速度と現在走行速度を比較して、現在走行速度が指定速度よりも速ければ指定速度まで減速し、現在走行速度の方が指定速度より遅ければ、指定速度まで加速して走行する。
【００６３】
つまり、指定速度の上限が増加または減少した場合（例えば、走行路面が濡れ時のmaxLから走行路面乾燥時のmaxHへ変更した場合又は路面乾燥時のmaxHから路面濡れ時のmaxLに変更された場合）、現在走行速度が、指定速度の上限と同じであればそのまま現在走行速度で走行し、現在走行速度が指定速度の上限よりも遅ければ指定速度の上限まで加速し、現在走行速度が指定速度の上限よりも速ければ指定速度の上限まで減速する。尚、maxHとして指定される速度の上限は予め記憶部１７の経路情報に各区間毎に記憶されている走行速度の値であって、例えば１０km/hや６km/h等であり、maxLとして指定される速度の上限は、maxH以下の例えば３km/h等である。
また、障害物が障害物マップにおいて減速エリアにあるために減速要求がなされた場合は、maxHやmaxLによる走行速度の要求にかかわらず減速を行う。
【００６４】
Ｓ５７：上述のような処理により制御部２１が速度変更が必要と判断した場合（Ｓ５６でＹＥＳ）には、指定された走行速度に変更する。
【００６５】
Ｓ５８：制御部２１は、移動ロボット１が走行している走行区間が終了したか否かを判定する。終了していなければＳ５３へ戻って以上の手順を繰り返す。走行区間が終了していれば、Ｓ５１に処理を戻して次の走行区間における走行制御を開始する。また、経路の終点に到着した場合には以上の制御を終了する。
【００６６】
(3) 濡れ走行路面検知制御（図７）
図７は、図５のＳ０１においてサブルーチン化されているレーザセンサによる濡れ路面検知処理の具体的フローを示す。
Ｓ７１：路面状態判定部２３は、レーザセンサ２からの出力信号によるレーザ光を反射した測定点までの距離値ｙのデータ（センサデータ）を取得する。レーザセンサは１８０度に近い中心角度の範囲において約３ｍ先の走行路面にレーザ光を照射し、反射光を得ている（図３参照）。
【００６７】
Ｓ７２：路面状態判定部２３は、センサデータのうち、移動ロボット１の進行方向の正面に相当するＮ個（例えば正面６０°分のデータとなる１２１個）のデータを選択する。
【００６８】
Ｓ７３：路面状態判定部２３は、上記の進行方向正面に相当するＮ個のデータのうち、各センサデータの値（距離値ｙ）が一定値以下であるようなセンサデータの数をカウントする。
ここで一定値としては、路面で反射した場合に得られる距離値よりもやや高い数値としており、得られた各センサデータの値（距離値ｙ）が一定値以下である場合とは、レーザ光が走行路面で反射してレーザセンサ２に戻ってきた場合であり、走行路面のレーザ光が当たった部分から反射光が得られたことを意味する。すなわち、ここでのカウント数とは、センサデータＮ個のうち、走行路面で反射してレーザセンサ２に戻ってきたレーザ光の数を意味する。
なお、走行路面が濡れている場合にはレーザ光が走行路面で全反射してレーザセンサ２には戻ってこない場合があり、この場合レーザセンサ２におけるセンサデータとしては無限遠と評価され、センサデータの値（距離値ｙ）としては一定値以上と判定される。あるいは、走行路面が濡れている場合に走行路面で乱反射したレーザ光がレーザセンサにおいて路面からの距離値とは著しく異なる大きな距離値として出力される場合もある。そこで、本例では、路面で反射した場合に比べて著しく大きな距離値を示すセンサデータは濡れた路面で反射したレーザ光によるものとみなして処理する。
【００６９】
Ｓ７４：路面状態判定部２３は、上記カウント数が前述のセンサデータの数Ｎ個に対して占める割合が予め設定しておいた所定値（例えば７０％）以上か否かを判定する。
【００７０】
Ｓ７５：上記カウント数が前述のセンサデータの数Ｎ個に対して占める割合が前述の所定値以上である場合（Ｓ７４においてＹＥＳ）、乾燥路面と判定する。
【００７１】
Ｓ７６：上記カウント数がセンサデータの総数Ｎ個に対して占める割合が前述の所定値以上でない場合（Ｓ７４においてＮＯ）、濡れ路面と判定する。
【００７２】
(4) 障害物検知制御（図８及び図９）
この障害物検知制御は、平坦な走行路面上に存在する何らかの障害物を検知するための方式である。
【００７３】
Ｓ８１：１周期分のセンサデータにおいて隣接するデータ間で距離値の差が所定値以下となるものをグループ化してラベリングする。
図９は前述の図１１と同様にレーザセンサが１周期の走査によって検出した各位置を示す距離値ｙのセンサデータをｘｙ座標平面上にプロットしたものであり、Ｘ軸は移動ロボット１の正面からの角度、Ｙ軸は移動ロボット１からの距離値を示す。図示上は連続した直線になっているが実際には測定点の集合であって、図中両脇の水平な直線は平坦な走行路面のデータであり、中央の凸部は走行路面上に置かれた障害物までの距離を示すデータであり、両者の連続部分は障害物の側面からの反射によるデータを示している。また、図示していないが、レーザセンサの位置はＸＹ座標の原点となり図中下方にある。
【００７４】
ここで、ラベリングとは、センサデータの順列中、ｙ方向の距離が近くｘ方向に並んでいる複数のデータをひとつの集合として分類することを意味し、図９の例では図中両脇の水平な２箇所の直線と、中央の凸部がラベリングされている。
【００７５】
Ｓ８２：ラベリングされたひとかたまりのデータ（ラベリングデータ）の１つに着目し、ラベリングデータのＸ方向についての両脇にそれぞれＫ個（例えば１０個）以上の数の測定点からなるラベリングデータがあるか否かを判断する。Ｋの値はセンサデータの総数と検出対象の障害物の大きさ等を考慮して適宜設定する。
【００７６】
Ｓ８３：両脇にそれぞれＫ個以上の数のデータがある場合（Ｓ８２でＹＥＳ）、これら両脇のラベリングデータがほぼ同じｙ座標値であるか否かを判断する。これによって、両脇のラベリングデータが走行路面によるものか否かを判断する。
【００７７】
Ｓ８４：着目したラベリングデータのｙ座標値の平均値と、両脇のラベリングデータのｙ座標値の平均値の差を算出する。これにより、着目した検知対象物と、その両脇にある検知対象物との距離値の差が求められる。この距離差は着目した検知対象物の高さに相当するものである。
【００７８】
Ｓ８５：Ｓ８４で算出した差が、図５に示した検知に係る制御で記憶部１７に記憶された障害物判定用の閾値（障害物の高さに相当する閾値：thＬ又はthＨ）以上であるか否かを判定する。図５において示した様に、記憶部１７には、路面の状態に応じて、路面が濡れていれば高さに相当する値として相対的に高い値thＨ、路面が濡れていなければ高さに相当する値として相対的に低い値thＬの何れかが障害物判定用の閾値として設定されている。
【００７９】
Ｓ８６：Ｓ８４で算出した差が障害物判定用の閾値以上である場合（Ｓ８５でＹＥＳ）、着目したラベリングデータを障害物として認定し、障害物ありと判定する。
【００８０】
障害物ありとされた場合及びＳ８２、Ｓ８３、Ｓ８５でそれぞれＮＯだった場合、全ラベリングデータについて以上の処理を行ったか否かを判断し、全て処理していれば（Ｓ８７でＹＥＳ）本フローによる処理手順を終了し、全ラベリングデータについて以上の処理を行っていなければ（Ｓ８７でＮＯ）Ｓ８２に戻って次のラベリングデータに着目して以上の手順を繰り返す。
【００８１】
４．本例による作用効果（図１０）
本例による作用効果を図１０を参照して詳述する。
同図は、前述した図１１、図９と同様に、レーザセンサ２が１周期走査したときの計測対象（障害物又は非障害物（誤報対象））と移動ロボットとの距離値を示すセンサデータをｘｙ座標平面上にプロットして、レーザセンサ２が１周期走査したときの測定点の軌跡と、障害物判定用閾値との関係を示したものである。また、図１０（ａ）では、連続する各時刻毎に得られたセンサデータを重ねてｘｙ座標平面上にプロットしている。図においてＸ軸は移動ロボット１の正面からの角度、Ｙ軸は移動ロボット１からの距離値を示す。
【００８２】
図５において説明したように、本例の移動ロボット１は、路面の濡れを検出すると、走行速度の上限をmaxLに下げ、障害物ありと判定するための閾値を厳しい値thＨに設定する。
また、前述したように、レーザセンサ２は、前方路面を所定周期で走査するので、移動ロボット１の走行速度が速くなるほど、一回走査した後に次に走査するまでの走行距離が長くなる。つまり、走行速度が遅いときは、走行距離に対するサンプリング間隔が密になり、走行速度が速いときは走行距離に対するサンプリング間隔が疎になる。
図１０（ｂ）は、例えば路面となるアスファルト上に白線が引かれている場合の例を示している。白線は路面が乾燥していると距離が短く計測されることがあり、左図のような計測例となる。そして、路面とともに白線が濡れると右図のように更に距離が短く計測される。すなわち、図１０（ｂ）に示す白線のような非障害物（誤報対象）の計測例によれば、走行路面乾燥時には（図１０（ｂ）中の左図）、移動ロボット１の走行速度が相対的に速いmaxHであっても、非障害物（誤報対象）の路面との距離差（高さに相当する値）は速度maxHでの相対的に低い閾値thＬにはかからず、誤報は発生しないが、走行路面濡れ時には乾燥時よりもデータの誤差が大きくなるため（図１０（ｂ）中の右図）、移動ロボット１の走行速度が相対的に速いmaxHであって閾値が相対的に低いthＬのままであると、非障害物（誤報対象）からのデータはこの相対的に低い閾値thＬにかかってしまい、誤報となってしまう。そこで誤報を避けるためには閾値を相対的に高くする必要がある。
【００８３】
しかし、図１０（ａ）に示す障害物計測例の左図のように、速度が相対的に高速の速度maxHで走行距離に対するデータ取得間隔が相対的に長くサンプル数が少ない場合は、見逃しを避けるために障害物判定用の閾値を相対的に低い値にする必要があり、前述したように誤報を避けるために単に閾値を相対的に高くしたのでは検出すべき障害物を見逃すおそれがある。
【００８４】
そこで、図１０（ａ）に示す障害物計測例の右図のように、速度を相対的に低速の速度maxLとすることで走行距離に対するデータ取得間隔を短くする（サンプル数を増加する）ことにより、走行路面と障害物の距離差をより細密に得られるようにするとともに、閾値を相対的に高い値thＨにすることで、障害物を見落としなく、かつより細密な距離差で検出するとともに、誤報を避けることもできる。
【００８５】
このように、誤報の発生しやすい雨天時にはロボットの走行速度を落とすことで走行路面に対するデータ取得のサンプリング間隔を短くし、走行路面と障害物の距離差をより細密に得られるようにすれば、これにより閾値を厳しくすることができ、誤報削減を図れる効果も得られるのである。
【図面の簡単な説明】
【００８６】
【図１】図１は、本発明の一実施形態に係る移動ロボット１が利用される環境である監視区域の平面図と、同移動ロボット１の外観を示す斜視図である。
【図２】図２は、本例の移動ロボット１の具体的な構成を示す機能ブロック図である。
【図３】図３（ａ）は、本例の移動ロボット１におけるレーザセンサ２と測定点との幾何学的位置関係を示す側面図であり、図３（ｂ）は、同レーザセンサ２の走査角度範囲Φで示すセンシングエリア（斜線領域）等を示す平面図である。
【図４】図４は、本例の移動ロボット１の記憶部１７において、移動ロボット１に設置されたレーザセンサの位置を原点（０，０）としたマップとして登録されたマップエリアを示す図である。
【図５】図５は、本例の移動ロボット１の走行制御における障害物検知手順の全体を示すフローである。
【図６】図６は、本例の移動ロボット１の走行制御において、指示マーカ４と指示マーカ４の間を１走行区間とした場合のフローチャートを示すものである。
【図７】図７は、図５のＳ０１においてサブルーチン化されているレーザセンサによる濡れ走行路面検知処理の具体的フローを示す。
【図８】図８は、平坦な走行路面上に存在する何らかの障害物を検知するのに適した走行路面との距離差検出方式による障害物検知制御を示すフローである。
【図９】図９は、レーザセンサが１周期の走査によって検出した各位置を示す距離差ｙのセンサデータをｘｙ座標平面上にプロットしたものである。
【図１０】図１０は、移動する本例の移動ロボット１におけるレーザ光の走査において、計測対象（障害物又は非障害物（誤報対象））と移動ロボット１との距離差を示すレーザの軌跡を、レーザセンサ２の位置を含むｘｙ座標系の平面内において各時刻毎におけるレーザセンサ２からの距離データとして示したものである。
【図１１】図１１は、移動しながら前方斜め下方に向けてレーザを走査しつつ障害物の検出を行う基本構造の移動ロボット１において、その走行中の障害物検出の状態を時系列で示す図であり、各時刻ｔ〜ｔ＋４において、レーザ光と移動ロボット１と障害物の側面図と、レーザセンサ２の位置を原点とした平面視ｘｙ座標系の画面において検出対象と移動ロボット１との距離差（図中ｙ方向の距離）をレーザの軌跡で表現したものである。
【符号の説明】
【００８７】
１…移動ロボット
２…測距センサとしてのレーザセンサ
１６…測距センサ
１９…障害物判定手段としての障害物判定部
２１…制御手段としての制御部
【図１】
2008009927.tif 000003
【図２】
2008009927.tif 000004
【図３】
2008009927.tif 000005
【図４】
2008009927.tif 000006
【図５】
2008009927.tif 000007
【図６】
2008009927.tif 000008
【図７】
2008009927.tif 000009
【図８】
2008009927.tif 000010
【図９】
2008009927.tif 000011
【図１０】
2008009927.tif 000012
【図１１】
2008009927.tif 000013