以下、本発明の実施の形態の移動ロボットを図面を参照して説明する。本実施の形態の移動ロボットは、監視区域内の所定経路を巡回しながらレーザセンサにて物体の侵入/消失などの異常の検出を行うものであり、警備用ロボットとして好適に使われる。移動ロボットは、異常を検出すると、遠隔の監視センタに撮像画像とともに異常信号を送出する。監視センタでは、異常信号を受信すると、受信した撮像画像が監視装置のモニタに表示され、監視員により異常が確認される。監視装置は、監視員の操作に従って移動ロボットを遠隔操作して異常対処を行う。
図2は、本実施の形態の移動ロボットの構成を示しており、図3は、移動ロボットが利用される環境である監視区域と移動ロボットの外観を示している。
図2に示すように、移動ロボット1は、移動手段3、移動制御部5、ガイド検出部7、自己位置検出部9、検知部11、異常判定部13、記憶部15、通信部17、撮像ユニット19及びこれら各部を制御する制御部21、さらに各部に電力を供給する電源部23により構成される。以下に各部を説明する。
移動ロボット1は、図3(b)に示すように4つの車輪を有し、それらのうちで右輪31、左輪33の2つが駆動輪として機能する。移動手段3は、右輪31、左輪33と左右輪を独立に駆動するモータ35、37で構成されており、左右輪の回転速度により直進走行速度および旋回走行速度が制御され、旋回方向も制御される。この左右輪の回転速度は移動制御部5により制御される。なお、左右独立に回転を制御する代わりに、舵角を制御して旋回速度を制御する方式が採用されてもよい。また、車輪駆動でなく、左右のクローラを独立に制御する方式が採用されてもよい。
ガイド検出部7は、移動経路上のガイド手段を検出する。ガイド手段は図3(a)に示されている。図示のように、予め設定された移動経路には、経路の全長にわたってガイド手段としての白線テープ101が固定的に設けられている。また、経路中の所定の地点には、白線テープ101とともに、地点指示手段としての指示マーカ103が固定的に設けられている。指示マーカ103は、白色矩形のマークであり、移動経路上に設定された区間の境界などの地点に設けられている。
ガイド検出部7は、白線検出カメラ41と路面情報抽出部43とで構成されている。白線検出カメラ41は、路面を撮影可能な様に移動ロボット1の底面に設置されている。路面情報抽出部43は、移動ロボット1のコンピュータによって実現され、画像処理を行う。路面情報抽出部43は、エッジ抽出やハフ変換などの処理により、白線検出カメラ41の撮影画像から、移動ロボット1の経路を誘導すべき白線テープ101、及び指示マーカ103を検出して制御部21に出力する。
なお、ガイド検出部7は上記の構成に限定されない。ガイド検出部7は、磁気センサ、電磁誘導センサなどで構成されてもよい。この場合、ガイド検出部7は、移動経路に設置されたガイド手段としての磁気ガイドまたは電磁誘導ガイドを検出するように構成されてよい。ガイド手段及びガイド検出部は、設置する環境により選択できるようにすることが好ましい。また、経路上にガイド手段や地点指示手段を設けることなく、デッドレコニングやGPSにより算出する位置情報に基づき、経路上の各地点が移動ロボット1により認識されてもよい。
移動制御部5は、駆動モータ35、37を制御するための手段である。移動制御部5は、ガイド検出部7による白線テープ101の検知出力に応じて、例えば周知のPID制御などにより、白線テープ101に沿って移動するよう駆動モータ35、37を制御する。また、移動制御部5は、走行区間の検出に応じて、予め設定された経路情報に基づき移動速度を制御する。移動速度は予め区間毎に設定されて、経路情報の一部として記憶されている。また、移動制御部5は、特定地点の検出に応じて経路情報に従って一時的に走行を停止したりもする。
自己位置検出部9は、レゾルバ51、53と位置算出部55とからなり、位置認識部として機能する。レゾルバ51、53はそれぞれモータ35、37に設置されており、モータ35、37のモータ回転軸の絶対位置を検出する。レゾルバ51、53は回転量検出部の一形態である。位置算出部55は、移動ロボット1のコンピュータにより実現され、レゾルバ出力から得られるモータ回転軸の回転量から左右輪31、33それぞれの回転量を算出し、後述の環境地図上の現在の移動ロボット1の位置(X,Y)と姿勢(移動ロボット1の向きθ)を算出する。この処理では、車輪回転量から走行距離と角度変化が求められ、これらの情報から各時点の位置と姿勢が捕捉される。また角度変化は両車輪回転量の差と車輪間隔(トレッド)から算出される。このような位置検出は、デッドレコニング(自律航法)として一般に知られる手法である。
また、位置算出部55は、ガイド検出部7による指示マーカ103の検知出力に応じて、指示マーカ103の検知回数を計数し、経路情報に基づき現在の走行区間を検出するとともに、自己位置の補正などを行う。
検知部11は、移動ロボット1が巡回を開始するときに作動して、移動ロボット1周辺の物体を検出する手段であり、本発明の検出部に相当する。検知部11は、移動ロボット1の前方に向けて設置されたレーザセンサ61から成り、レーザ発振器より照射されるレーザビームが光路上にある物体にて反射した際の反射光を受光する。検知部11は、走査鏡とこの走査鏡を回転駆動する手段とによりレーザ発振器より発射されるレーザビームの照射方向を制御して、移動ロボット1の前方を含む所定の範囲を、例えば30msecの周期で空間走査している。
そして、検知部11は、レーザビームの照射から反射光検出までの時間より算出される検知部11とレーザビームを反射した物体(測定点)との距離と、回転駆動される走査鏡の角度とにより、レーザビームを反射した物体、即ちレーザビームを反射した測定点の相対位置を算出する。相対位置は、移動ロボット1を基準とした測定点の位置である。また、検知部11は、所定時間以内に反射波が返ってこない場合には、レーザビームの照射可能な距離内に物体(測定点)がないと判断して、擬似データを記録する。擬似データは無限遠に相当する大きな値とし、測定点が得られなかったことを判別できるようにする。
記憶部15は、移動ロボット1での各種処理に使用される情報を記憶している。記憶部が記憶する情報には、移動経路の情報を示した経路情報71と、監視区域を二次元座標系で示した環境地図73と、異常判定処理で用いられ検知部11の測定結果を投票する投票テーブル75と、位置算出部55により算出された移動ロボット1の位置と姿勢とを含む現在位置情報77とが含まれる。
経路情報71としては、移動経路中の各区間(ある指示マーカから次の指示マーカまでの区間)の番号に対応して、予め測量した区間距離、区間の始点終点間の方位角の差(角度差)、各区間の走行速度、各指示マーカ上でのロボット動作などが記憶されている。経路情報では、区間番号が、該当区間までに検出されるべきマーカの数(検出回数)と対応付けられている。走行制御では、マーカ検出回数から区間番号が特定され、区間番号から経路情報を参照して走行速度やマーカ上での動作が特定される。
環境地図73は、監視区域の地図情報であり、所定距離ごとにグリッドで仕切られており、各グリッドに識別番号が与えられている。グリッドサイズは、検知したい物体の分解能によって設定する。例えば5cm×5cm毎に仕切る場合は、500m四方の監視区域の環境地図は、1億個のグリッドに仕切られることとなる。
環境地図73は、監視区域内の既存物の位置を表す地図である。環境地図73は、移動ロボット1が過去に実際に巡回経路を走行したときの検知部11を用いて取得された測定結果のデータである。すなわち、過去の走行で検知部11のレーザセンサ61が検知した被測定物についての情報が既存物の情報として環境地図73内に記憶されている。
環境地図73としては、下記のレイヤ1、レイヤ2の2つの環境地図が記憶されている。
(1)レイヤ1:レーザセンサ61により測定点が得られた位置が記憶されているレイヤ。
(2)レイヤ2:レーザセンサ61によるレーザビームが通過した位置が記憶されているレイヤ。
レイヤ1は、侵入物体検知のために利用される。レイヤ1は、移動ロボット1が走行し、レーザセンサ61により一度でも測定点が得られた場合に、その測定点が得られた位置(グリッド)を既存物の位置として記憶しており、この既存物情報が、侵入物体判定に専用に使うために記憶されている。一方、レイヤ2は消失物体検知のために利用される。レイヤ2は、上記のように、移動ロボット1が走行しながらレーザビームを照射し、レーザビームが一度でも通過した位置(グリッド)のデータであり、このデータからは、レーザ通過領域の周囲は、レーザビームが一度も通過しなかった位置、即ち、レーザビームが毎回反射して測定点が得られた位置として特定され、このようなデータが消失物体判定に専用に使うために記憶されている。
上記のレイヤ1およびレイヤ2は本発明の侵入判定用の環境地図および消失判定用の環境地図にそれぞれ対応している。なお、本実施の形態では、上記2種の環境地図を表すのに、レイヤ1、レイヤ2という表現を用いているが、上記の2種の環境地図は積層構造に限られず、各々別々の環境地図として記憶されていてもよい。
また、環境地図は上述のように過去の走行の際の測定結果で作られるが、この点に関し、環境地図は、移動ロボット1が巡回監視の前に学習目的の走行を行ったときの測定結果から生成されてよい。また、環境地図は、前回の巡回監視の際の測定結果から生成されてもよい。どちらの場合も、環境地図は、過去の走行で得られた測定結果から作成された情報といえる。
上記2種の環境地図(レイヤ1、レイヤ2)については後述にて具体例を用いてさらに詳細に説明する。
投票テーブル75は、検知部11の測定結果に応じてグリッド毎に投票が行われるテーブルであり、記憶部15は侵入物体判定用の投票テーブルと消失物体判定用のテーブルを各々持っている。投票テーブル75の各グリッドは環境地図73の各グリッドと対応している。各グリッドへの投票処理は後述するが、侵入物体判定用と消失物体判定用とでは判定内容の相違に応じて投票処理も異なっている。
現在位置情報77は、位置算出部55により算出された環境地図上の移動ロボット1の現在の位置と姿勢である。
異常判定部13は、検知部11より入力された測定点に基づき、環境地図73を用いて侵入物体/消失物体の有無を判定する。概略としては、異常判定部13は、レイヤ1と測定結果を比較して、正常時に検出されない被測定物を検出すると、既存物以外の物体が侵入した侵入異常が発生したと判定する。また、異常判定部13は、レイヤ2と測定結果を比較して、正常時には通過しない領域をレーザビームが通過した場合に、既存物が消失する消失異常が発生したと判定する。侵入または消失が判定されると、通信部17より異常信号を出力し、また、移動制御部5は制御部21に制御されて移動ロボット1の移動の停止や減速、侵入物体の回避や追跡などの決められた処理を行う。
異常判定部13は、投票部81、物体判定部83、および評価点算出部85を含んでいる。投票部81は、検知部11の測定結果に応じた投票処理を投票テーブルのグリッドに対して行う。投票処理では、投票すべきグリッドが環境地図73を参照して特定され、投票テーブルの該当グリッドに投票値が加算される。物体判定部83は、投票テーブルにおけるグリッド毎の投票値に基づいて、物体の有無を判定する。評価点算出部85は、物体判定部83で判定された物体に関して、異常判定のための評価点を算出する。異常判定部13は、評価点が所定の値以上になると異常が発生したと判定する。
撮像ユニット19は、移動ロボット1に搭載されて周囲を撮像する手段である。撮像ユニット19は、例えば、図3(b)に示されるように、ロボット上部のハウジングに収納された6つのカメラを備える。これらカメラが異なる方向を向けられており、水平方向の360度の視野が確保される。撮像ユニット19の画像は記憶部15にバッファされて通信部17から監視センタへ送られる。
通信部17は、遠隔の監視センタと信号を送受信する無線通信手段である。通信部17は、異常判定部13が侵入または消失の異常を検知した場合に、遠隔の監視センタに無線等で異常信号を出力する。また、通信部17は、撮像ユニット19が撮像した画像と自己位置検出部9が検出した移動ロボット1の自己位置を遠隔の監視センタに送信し、監視センタから受信した制御コマンドを制御部21に入力する。
制御部21は、上述した移動ロボット1の各部構成を制御する手段であり、CPU等を備えたコンピュータで構成される。なお、上述した各部構成で、コンピュータ処理可能なものも同コンピュータで実現されてよい。例えば、路面情報抽出部43や、位置算出部55、異常判定部13、移動制御部5などは同コンピュータで実現されてよい。また、記憶部15は、同コンピュータのメモリおよび外部記憶装置などで実現されてよい。
次に、本実施の形態に係る移動ロボット1の動作を説明する。ここでは主として異常判定に関する動作を説明する。概略としては、移動ロボット1は過去の学習走行で得られた測定結果から作成した環境地図を記憶し、そして、巡回時に得られた測定結果と記憶されている環境地図を比較して異常判定を行う。環境地図を作成するための過去の学習走行とは、学習だけを目的とした走行でもよく、または、過去に行われた巡回監視走行でもよいが、下記の例では前者の学習目的の走行が行われる。以下では、環境地図を作成して記憶する処理と、環境地図を用いて巡回走行と異常判定を行う処理とに分けて、移動ロボット1の動作を説明する。
図4は、環境地図を取得するときの移動ロボット1の動作を示すフローチャートである。図4の処理は、制御部21の制御下で、制御部21を含む移動ロボット1の各部構成によって行われる。制御部21は本発明の地図作成部として機能するもので、以下のように、検知部11の測定結果に応じたデータを記憶部15の環境地図73に記録していき、これにより環境地図73を作成する。
図4において、制御部21は、記憶部15における環境地図73のレイヤ1(侵入物体検知用)の全てのグリッドとレイヤ2(消失物体検知用)の全てのグリッドを初期化し(S1)、移動ロボット1に巡回経路に沿って走行を開始させる(S2)。そして、制御部21は、検知部11にてレーザセンサ61の走査が実行されたか否かを判定する(S3)。レーザセンサ61で走査を行なうことにより測距データが得られる。測距データは、前方の所定範囲W°を所定の角度間隔S°でレーザセンサ61が走査した測定結果として得られ、D(n)(n=0,1,2,3・・・N)で表される。D(n)は被測定物までの距離であり、nは、S°おきの照射方向に順次付けられる番号であり、N=W/Sである。例えば、180度の範囲を0.5度間隔で測距データを取得すると、361個の距離値が得られる。これらの361個の距離のセットが、一つの測距データになる。ステップS3でレーザセンサ61の走査が実行されていればステップS4に進み、実行されていなければステップS8に進む。
ステップS4では、移動ロボット1は、自己位置検出部9より移動ロボット1の自己位置として、位置と姿勢のデータ(Xr,Yr,θr)を取得する。(Xr,Yr)が環境地図上での位置座標であり、θrが姿勢(向き)である。
次に、移動ロボット1は、ステップS3で得られた測距データD(n)を、ステップS4の自己位置データ(Xr,Yr,θr)を用いて直交変換し、環境地図上での座標(Xp(n),Yp(n))を算出する(S5)。ここで、測距データD(n)では、測定点のデータが、移動ロボット1を基準とした相対位置データ(距離と角度)である。そこで、このステップS4では、測距データD(n)に測定点があれば、それら測定点の各々の相対位置が、移動ロボット1の自己位置データ(Xr,Yr,θr)を用いて直交変換されて、環境地図上での各測定点の絶対位置座標(Xp(n),Yp(n))が算出される。
移動ロボット1は、ステップS5で求めた測定点がレーザセンサ61の有効到達距離、即ち、レーザビームがその性能上、有効な測距データを得られる最大距離内で算出される場合に、その座標(Xp(n),Yp(n))に対応するレイヤ1のグリッドに“1”を記録する(S6)。
さらに、移動ロボット1は、ステップS4で取得した自己位置の座標(Xr,Yr)から、ステップS5で算出した測定点の座標(Xp(n),Yp(n))までのライン上に位置するレイヤ2のグリッドに“1”を記録する(S7)。この処理は、自己位置から照射されて物体で反射して返ってくる間にレーザビームが通過した領域のグリッドを記録していることになる。
なお、測定点の反射データが得られなかった場合は、レーザセンサ61の有効到達距離までをレーザビームが通過したとして、通過領域に対応するレイヤ2のグリッドに1を記録する。
ステップS4〜S7の処理は、レーザセンサの走査における各々の照射方向で得られた測距データに対して行われる。
ステップS3でレーザセンサの走査が実行されないとき、あるいは、ステップS7で環境地図への記録が行われた後、移動ロボット1は、全経路の巡回を終了したか否かを判定する(S8)。ステップS8の判定は、経路終点の指示マーカ103が検出されたか否かに基づいて判定される。巡回経路が終了してなければ(S8、No)、処理はステップS3に戻る。巡回経路が終了していたら(S8、Yes)、移動ロボット1は、レイヤ1およびレイヤ2の全グリッドの情報を保存して処理を終了する。
図5は、上記の処理を概念的に示している。上記の処理では、移動ロボット1は、レーザセンサ61を使って、既設物Pの移動ロボット1に対する相対位置(距離、角度)を検出する。この相対位置が、移動ロボット1の自己位置(Xr,Yr,θr)を使って、環境地図上での既設物測定点の絶対位置座標(Xp(n),Yp(n))に変換される。
そして、レイヤ1には、測定点の位置座標(XP(n),Yp(n)に対応するグリッドに“1”が記録される。レイヤ2には、移動ロボット1の現在位置(Xr,Yr)から、測定点の位置座標(Xp(n),Yp(n))までの間にあるグリッドに“1”が記録される。
上記の動作が、移動ロボット1の走行過程で繰り返し行われる。これにより、レイヤ1には、一度でも既存物が測定されたすべてのグリッドが記録される。一方、レイヤ2には、一度でもレーザビームが通過できたすべてのグリッドが記録されることになる。即ち、ある位置で一度既存物が測定されたとしても、異なるタイミングの走査で同じ地点をレーザビームが通過した場合、レイヤ2には既存物位置として記録されない。結果として、同じ位置を複数回走査したとき、毎回既存物が測定されたグリッドのみが既存物位置としてレイヤ2に記録されることになる。
図6は、上記の処理で作成される環境地図の例を示している。図6(a)は、監視領域の平面図であり、図6(b)、図6(c)は、環境地図における侵入物体検知用のレイヤ1、消失物体検知用のレイヤ2をそれぞれ示している。
図6(a)の例では、監視領域内に金網P1が含まれている。移動ロボット1が経路を走行しながら繰り返しレーザ走査を行うと、移動ロボット1の位置や傾き等によって、金網部分が測定される場合と、測定されない場合がある。測定されない場合は、レーザビームが金網を通り抜けて後ろの壁面P2が測定される。
このような場合、図6(b)の侵入物体検知用のレイヤ1には、金網P1と壁面P2の両方の測定点が記録される。レイヤ1は、一度でも測定された全部の測定点を記録するからである。一方、消失物体検知用のレイヤ2は、一度でもレーザビームが通過した領域を記録するため、図6(c)に示されるように、金網P1の部分は記録されないことになる。図6(c)では、斜線部分が、レーザビームの通過が記録された部分である。
図7は、環境地図のもう一つの例を示している。図7(a)は、監視領域を側方から見た図であり、図7(b)、図7(c)は、環境地図における侵入物体検知用のレイヤ1、消失物体検知用のレイヤ2をそれぞれ示している。
図7(a)の例では、監視領域内に坂道Q1が含まれている。移動ロボット1が坂道Q1を往復する過程で、水平方向に対してレーザ走査を行ったとする。移動ロボット1は、往路では、坂道Q1を登る手前で、坂道Q1の中腹部分Q2の地面を検出する。また、移動ロボット1が復路で逆向きに走行して坂道Q1を下るときには、下り途中に坂道Q1の下の平坦部分Q3の地面を検出する。
このような場合、図7(b)の侵入物体検知用のレイヤ1には、往路のみで得られる地点Q2の地面に対応するラインL1と、復路のみで得られる地点Q3の地面に対応するラインL2との両方が測定されて、記録される。一方、消失物体検知用のレイヤ2は、図7(c)に示されるようにラインL1、L2は記録されず、ラインL1、L2の位置も斜線で示すようにレーザビームが通過した場所として記録される。
なお、図7の例において、坂道Q1の上にある経路脇の物体Q4は移動物体1の走行方向等に拘わらず常にレーザ走査で検出されるので、物体Q4はレイヤ1でもレイヤ2でも記録されている。ただし、レイヤ1では、物体表面の位置に対応するグリッドが記録されるのに対して、レーザ不通過領域を記録するレイヤ2では、物体を取り囲むグリッドが記録される。
以上に本実施の形態の環境地図73について説明した。上記の環境地図73において、消失物体検知用のレイヤ2は、上記のように、レーザビームが一度でも通過した位置(グリッド)のデータである。このデータからは、レーザ通過領域(図6(c)、図7(c)の斜線部分)の周囲グリッドが、レーザビームが1度も通過しなかった、即ち走査を行う度に毎回既存物の測定点が得られた位置として特定される。したがって、レイヤ2の地図情報は、同一領域を複数回測定したときの全ての測定で測定点が得られた位置を既存物として記憶した地図といえる。
ここで、複数回の走査で既存物が検出される場合と検出されない場合があった位置を、本発明では「不確定既存物位置」と呼ぶ。不確定既存物位置は、移動ロボット1の位置や傾きで測定結果が異なる位置であり、図6の金網や図7の坂道及び坂下の一部は不確定既存物位置に相当する。一方、複数回の走査で毎回既存物が検出される位置を、「確定既存物位置」という。上記のレイヤ2は、不確定既存物位置を除外して確定既存物位置を表す地図といえ、本発明の消失判定用の環境地図に相当する。これに対して、レイヤ1は、不確定既存物位置と確定既存物位置の両方を含んだ全既存物位置を表す地図情報といえ、本発明の侵入判定用の環境地図に相当する。
また、上記の説明では、侵入物体検知用のレイヤ1の環境地図と、消失物体検知用のレイヤ2の環境地図が別々に説明された。しかし、実際のシステムでは、これら2種の環境地図の情報が一体化されていてよい。具体的には、図5の例を参照すると、環境地図の一つ一つのグリッドが、複数ビット(例えば10ビット)の情報を有する。複数ビットのうちの1つのビットに、レイヤ1の情報(“1”または“0”)が記録される。また、別のビットに、レイヤ2の情報(“1”または“0”)が記録される。これにより、一つの環境地図データが、2種の環境地図として利用できる。
次に、図8を用いて、巡回監視時の動作を説明する。図8の処理は、制御部21の制御下で、制御部21を含む移動ロボット1の各部構成によって行われる。移動ロボット1は、侵入物体判定用の投票テーブルおよび消失物体判定用の投票テーブルを初期化し(S21)、巡回経路に沿って走行を開始する(S22)。そして、制御部21は、検知部11にてレーザセンサ61の走査が実行されたか否か判定する(S23)。ステップS23でレーザセンサ61の走査が実行されればステップS24に進み、実行されなければステップS31に進む。
ステップS24では、移動ロボット1は、自己位置検出部9より移動ロボット1の自己位置として、位置と姿勢のデータ(Xr,Yr,θr)を取得する。
さらに、移動ロボット1は、ステップS23で得られたレーザセンサ61の走査結果に、測定点の反射データがあるか否かを判定し(S25)、測定点が無ければ(S25、No)、ステップS29へ進む。これは、測定点が無い場合、即ちすべてのデータが疑似データの場合には侵入物体判定の必要が無く、消失物体判定のみを行えばよいからである。
移動ロボット1は、ステップS25で測定点があれば、測定点の座標変換を行う(S26)。ここでは、移動ロボット1の位置と姿勢(Xr,Yr,θr)に基づき、測定点が直交変換されて、環境地図上での測定点の位置座標(Xp,Yp)が算出される。これにより、移動ロボット1を基準にした測定点の相対位置が、環境地図上の絶対位置に変換される。
次に、異常判定部13が、レイヤ1の環境地図を用いて侵入物体判定処理を行う(S27)。ここでは、後述のように侵入物体の判定のための評価点が算出され、そして、異常判定部13は、ステップS27で侵入物体判定処理を行なった結果得られた評価点から侵入物体の有無を判定する(S28)。評価点が侵入物体判定用の所定の判定基準値以上であれば、侵入物体が有ると判定され、判定基準値未満であれば侵入物体が無いと判定される。侵入物体が有れば(S28、Yes)、移動ロボット1の移動を停止し(S32)、監視センタへ異常警報を出力する(S33)。侵入物体判定の詳細は後述する。
侵入物体が無ければ(S28、No)、またはステップS25で測定点が測距データ中に無ければ、異常判定部13は、レイヤ2の環境地図を用いて消失物体判定処理を行う(S29)。ここでは、消失物体に関する評価点が計算される。異常判定部13は、ステップS29で消失物体判定処理を行った結果得られた評価点から消失物体の有無を判定する(S30)。評価点が消失物体判定用の所定の判定基準値以上であれば、物体消失が発生したと判定され、判定基準値未満であれば物体消失が発生していないと判定される。消失物体が有れば(S30、Yes)、移動ロボット1の移動を停止し(S32)、異常警報を出力する(S33)。消失物体判定の詳細は後述する。
消失物体が無ければ(S30、No)、移動ロボット1は、全経路の巡回を終了したか否かを判定する(S31)。巡回経路が終了していなければステップS23に戻り、巡回経路が終了していたら、移動ロボット1は処理を終了する。ステップS31の判定は、経路終点の指示マーカ103が検出されたか否かに基づいて判定される。
次に、図8のステップS27における侵入物体判定処理とステップS29における消失物体判定処理について、図9および図10を参照して説明する。これらの処理では、侵入物体判定および消失物体判定についての投票と評価点算出が、異常判定部13によって行われる。図9は侵入物体判定処理のフローチャートであり、図10は消失物体判定処理のフローチャートである。
図9において、異常判定部13は、物体からの反射データである測定点 (Xp(n),Yp(n))がレイヤ1に既設物として記録されているものか、侵入物体によるものかを調べるため、記憶部15に記憶された環境地図73のレイヤ1の情報を参照し、測定点に対応するレイヤ1のグリッドを探索し(S301)、レイヤ1の対象グリッドが“値1”を持つか否か判定する(S302)。レイヤ1の“値1”は、既に説明したように、レイヤ1の作成時に一度でも測定点が得られたグリッドを示す。レイヤ1の対象グリッドに“値1”が記録されていなければ、侵入物体の可能性が有るので、異常判定部13の投票部81が、侵入物体判定用の投票テーブルにおける該当グリッド(測定点 (Xp(n),Yp(n))に対応するグリッド)に得点1を投票し(S303)、ステップS304に進む。ステップS302の判断で該当グリッドが“値1”を持っていれば(S302、YES)、処理対象の測定点が既存物であるので、投票テーブルへの投票は行わず、ステップS304に進む。
ステップS304では、異常判定部13は、同一回のレーザ走査において得られた全ての測定点の処理を終えたか否かを判定する。他に測定点があれば(S304、No)、処理はS301に戻り、次に測定点の判定と投票が繰り返される。
ステップS304の判定ですべての測定点についての処理が終了していれば(S304、Yes)、異常判定部13の物体判定部83が、侵入物体判定用の投票テーブルの投票値が1以上のグリッドの連続した領域を侵入候補領域Ga(i)(i=1,2,・・・,I)としてラベリングする(S305)。これにより連続領域である物体が検出される。又、連続領域を抽出する際、画像処理の手法として一般的な膨張収縮処理を行うことで、近傍の連続領域を結合することが好ましい。ここでは、グリッドの間隔が検知対象物体(例えば人)と比較して十分に密であるので、連続していないグリッド(孤立点)がノイズとして除去されてよい。
次に、異常判定部13の評価点算出部85が、領域Ga(i)に属するグリッドの投票値を加算した値を領域の評価点Ea(i)として算出する(S306)。今回周期でラベリングされた領域の位置と評価点が記憶部15に記憶されて(S307)、投票テーブルの値が初期化される。
さらに、異常判定部13では、領域Ga(i)に対し、前回周期で検出したトラッキング対象の領域があるか否かを判定する。この判定では、今回検出した領域と前回検出した領域の大きさ(評価点)の類似度や所定距離内にある等の条件によりトラッキング対象か否かを判定する。このトラッキングでは、ロボットの移動距離を考慮し、前回周期と今回周期の間で、所定の角度、距離範囲内にほぼ同一サイズの物体領域があるか否かで、トラッキング対象の有無を判断する。トラッキング対象が無ければ(S308、No)、侵入物体判定処理は終了する。
トラッキング対象があると判定された場合(S308、Yes)、評価点算出部85は、トラッキング対象の領域の前回周期の評価点に、今回周期で検出した評価点を累積加算し、新たな評価点とし、この評価点を記憶部15に記録する(S309)。これにより評価点が更新され、侵入物体判定処理が終了する。そして、図8のステップS28にて、評価点が所定値以上か否かによって、侵入物体の有無が判定されることになる。
以上に、本実施の形態における侵入物体判定処理について説明した。上記の処理では、巡回時の測定点のグリッドに、侵入判定用のレイヤ1上で既存物を示す“値1”が記録されているか否かを判定している。これにより、侵入判定用のレイヤ1の既存物位置と異なる位置に被測定物が測定されたか否かが判定されて、侵入物体の有無が判定されている。
次に、図10を参照して、消失物体判定処理について説明する。図10において、異常判定部13は、レーザセンサ61による1回の走査において全ての照射角度で測定点が得られているかを判定する(S401)。 測定点が得られなかった角度については、異常判定部13は、レーザセンサ61が検知可能な有効到達距離(例えば80m)にて物体からの反射データが得られたとみなして擬似的に有効到達距離を測定点までの距離として代入する(S402)。なお、図8のステップS25にてNoの判定(測定点が全く無いという判定)がなされてから図10の処理が行われる場合、ステップS401で全測定点が無いと判定されるので、ステップS402ですべての角度について有効到達距離を擬似的な測定点までの距離として代入する。
ステップS401で全測定点のデータがある場合(S401、Yes)、あるいは、ステップS402の代入処理の後、異常判定部13は、直交変換を行って、測定点の環境地図上での座標(Xp(n),Yp(n))算出する(S403)。ここでは、前述の図8のステップS26と同様に直交変換を含む座標変換が行われて、移動ロボット1の現在の自己位置と姿勢(Xr,Yr,θr)を用いて、移動ロボット1に対する測定点の相対位置が、環境地図上での絶対位置座標(Xp(n),Yp(n))に変換される。
そして、異常判定部13は、記憶部15に記憶された環境地図73のレイヤ2の情報を参照し、移動ロボット1の自己位置(Xr,Yr)から測定点(Xp(n),Yp(n))の方向にレイヤ2のグリッドを探索し、探索経路上に存在しておりグリッド値が“1”から“0”に変化するグリッド(変化点グリッド)を探索し(S404)、変化点グリッドがあるか否かを判定する(S405)。
変化点グリッドがあれば(S405、Yes)、物体が消失した可能性が有るので、異常判定部13の投票部81が、消失物体判定用の投票テーブルにおける対応するグリッドに得点1を投票する(S406)。
なお、“得点1”は上記のようにグリッド値が“1”から“0”に変化する変化点グリッドにのみ投票されてよい。あるいは、さらに、変化点グリッドから測定点まで探索を継続し、レーザビームの通過経路上でレイヤ2に0が記録されている全グリッドに“得点1”を投票する処理を行ってもよい。
ステップS406の処理の後、処理はステップS407に進む。また、ステップS405の判断がNoの場合、消失物体の可能性のある変化点グリッドが無いので、投票テーブルへの投票は行わず、ステップS407に進む。
ステップS407では、異常判定部13は、レーザセンサ61の1回の走査で得られたすべての測定点の処理が終了したか否かを判定する。すべての測定点の処理が終わっていなければ(S407、No)、異常判定部13はステップS404に戻り、次の測定点の判定を繰り返す。
ステップS407の判定ですべての測定点についての投票処理が終了していれば(S407、Yes)、異常判定部13の物体判定部83が、消失物体判定用の投票テーブルの投票値が1以上であって隣接しているグリッドを消失物体候補領域としてラベリングする(S408)。これにより、連続領域である物体が検出される。ここでも、侵入物体判定と同様、連続していないグリッド(孤立点)は除去されてよい。また、膨張収縮処理を行い、近傍の連続領域同士を結合処理するのが好ましい。
次に、異常判定部13の評価点算出部85が、ステップS408で消失物体候補とされた領域に属する全グリッドの投票値を加算した値を、該当領域の評価点として算出し(S409)、図10の処理が終了する。そして、図8のステップS30にて、評価値が所定値以上か否かによって、消失物体の有無が判定されることになる。
以上に、本実施の形態における消失物体判定処理について説明した。上記の処理では、巡回時の自己位置から測定点の間に、消失物体検知用のレイヤ2上で変化点グリッドがあるか否かが判定されている。変化点グリッドは、上述のように、レイヤ2上でグリッド値が“1”から“0”に変化するグリッドである。この変化点グリッドは、レイヤ2においてレーザ通過領域の周囲にあるグリッドであり、すなわち、この変化点グリッドは、環境地図作成時の複数回の走査で常に測定点となったグリッドであり、本発明の確定既存物位置に相当する。このような変化点グリッドが巡回時の自己位置と測定点の間にあるか否かを判定すれば、変化点グリッドと測定点が異なっているか、すなわち、確定既存物位置以外の位置に測定点が検出されたかが判定される。そして、変化点グリッドが自己位置と測定点の間にあれば、変化点グリッドと測定点が異なっており、確定既存物位置以外の位置に測定点があることになり、物体が消失した事を検出できる。
以上に移動ロボット1の動作を説明した。次に、上記の移動ロボット1によって誤判定を回避できる具体例を説明する。ここでは図6(a)の金網P1の例を用いる。移動ロボット1がレーザ走査を繰り返すと、図6(a)の金網P1が検出されたり、検出されなかったりする。そのため、仮に、従来の既存物体のマップを単純に使って異常判定を行おうとすると、環境地図を作成するときに検出された金網P1が、巡回時には検出されず、物体が消失したという誤った判定が行われる可能性がある。
これに対して、本実施の形態では、図6(c)に示される如く、金網P1のように複数回の走査で検出されたり、検出されなかったりする不確定な既存物位置は、消失判定用の環境地図から除かれている。このような環境地図を用いて消失物体の判定を行うので、消失物体の誤判定を低減できる。その一方、侵入物体判定については、図6(b)に示される如く、金網P1のような不確定な既存物位置も含んだ環境地図を使うので、侵入物体を正確に検出できる。
別の例として、図7(a)の坂道Q1の例でも、本実施の形態によれば消失異常が好適に判定される。往路では、坂道Q1を登る手前で、前方にある坂道中腹Q2の地面が物体として検出されるが、この中腹部分Q2の地面は復路では検出されない。仮に、往路で作成された既存物体のマップを単純に使って異常判定を行おうとすると、復路で既存物体が検出されず、物体が消失したという誤った判定が行われる可能性がある。
これに対して、本実施の形態では、図7(c)に示される如く、上記の坂道中腹部分Q2のように検出されないこともある不確定な既存物位置は、消失判定用の環境地図から除かれている。このような環境地図を用いて消失物体の判定を行うので、消失物体の誤判定を低減できる。その一方、侵入物体判定については、図7(b)に示される如く坂道部分も含んだ環境地図を使うので、侵入物体を正確に検出できる。
以上、本発明の好適な実施の形態について説明した。上述のように、本発明によれば、移動ロボットは、過去の走行の際の複数回の走査で毎回被測定物が検出された位置のみを既存物の存在位置として表す消失判定用の環境地図を記憶する。このような消失判定用の環境地図を用いて消失異常の判定を行うことにより、坂道や金網のように同一の場所であっても条件によって検知結果が異なる状況でも、環境地図の既存物が異常判定で検出されないといった事態を回避できる。したがって、消失異常の誤判定を低減して、異常検出能力を向上できる。
より具体的には、本発明において、記憶部は、過去の走行の際の検出部による既存物の検出結果に基づき生成され、走行過程の複数回の走査で既存物が検出される場合と検出されない場合があった不確定既存物位置を除外し、複数回の走査で毎回既存物が検出された確定既存物位置を表す消失判定用の環境地図を記憶しており、異常判定部は、現在の走行にて取得される被測定物の位置情報に基づき、消失判定用の環境地図を参照して、確定既存物位置に被測定物が検出されなかったときに既存物が消失する消失異常が発生したと判定する。これにより、上述したように、消失異常の誤判定を低減して、異常検出能力を向上できる。
また、本発明によれば、移動ロボットが所定環境を少なくとも一度走行したときに同一位置を複数回走査した結果、当該同一位置に対する複数回の走査すべてにおいて被測定物が検出された位置を、上記の既存物の存在位置(確定既存物位置)として記憶する。これにより、過去の走行において自ら消失判定用の環境地図を好適に作成し、自ら作成した環境地図を用いることにより消失異常の判定を好適に行える。
また、本発明によれば、センサが走査信号を照射して被測定物で反射した走査信号を受信する。そして、センサの複数回の走査で走査信号が一度でも通過した位置を記録して、消失物体判定用の環境地図が作成される。このとき、走査信号が一度でも通過した位置を除外することにより走査信号が一度も通過していない位置が抽出される。上記例ではセンサがレーザセンサであり、走査信号がレーザビームである。このような処理により、複数回の走査で走査信号が一度でも通過した位置が地図データに記録されるので、走査信号の通過した領域以外の部分が既存物の位置(確定既存物位置)として記憶され、したがって上記記録処理によるデータが本発明の消失物体判定用の環境地図として作成される。移動ロボットの走行過程で走査信号が一度でも通過した領域を記録していけばよいので、本発明の消失物体判定用の環境地図を容易に作成することができる。
また、本発明によれば、異常判定部は、自己位置と検出部が検出した被測定物の位置とを結ぶ直線上に環境地図上の既存物の存在位置が記憶されている場合に、消失異常が発生したと判定する。自己位置と被測定物の位置とを結ぶ直線上に環境地図上で既存物の存在位置が記憶されているか否かといった簡単な判定によって、消失異常の有無を好適に判定できる。
また、本発明によれば、移動ロボットは、走査において被測定物が検出されない場合に、予め設定された所定検出範囲を被測定物が存在しない位置として処理する。上記の例では、所定検出範囲としては、検出部11の有効な検出可能範囲が使われている(図10、ステップS402)。このような処理を行うことにより、物体が消失したときにその先の物体が検知可能範囲外にあったために検知部が物体を検知しなくなって異常判定を行えない、という事態を回避できる。したがって、例えば、所定環境の端におかれた既存物が消失した場合のように、消失物体の背後に既存物が存在しない場合でも消失異常の判定を適切に行える。
また、本発明によれば、さらに、侵入判定用の環境地図も移動ロボットに記憶される。侵入判定用の環境地図は、複数回の走査で被測定物が検出される場合と検出されない場合があった不確定的な既存物位置と上述の既存物の存在位置を全既存物位置として表す地図データである。別の言い方では、侵入判定用の環境地図は、上記の不確定既存物位置と確定既存物位置を含む全既存物位置を表す地図データである。この侵入判定用の環境地図も地図作成部によって作成される。このような侵入判定用の環境地図が参照されて、全既存物位置以外の位置に被測定物が検出されたときに侵入異常が発生したと判定される。より詳細には、所定環境を少なくとも一度走行したときに検出部が被測定物を検出したすべての位置が、侵入判定用の環境地図にて、既存物が存在する位置として記憶される。そして、侵入判定用の環境地図上における既存物の存在位置と異なる位置に検出部が被測定物を検出した場合に、侵入異常が発生したと判定される。このようにして、物体が侵入した異常も好適に判定することができる。
以上に本発明の好適な実施の形態を説明した。しかし、本発明は上述の実施の形態に限定されず、当業者が本発明の範囲内で上述の実施の形態を変形可能なことはもちろんである。