JP4377347B2 - 移動ロボット - Google Patents

移動ロボット Download PDF

Info

Publication number
JP4377347B2
JP4377347B2 JP2005070108A JP2005070108A JP4377347B2 JP 4377347 B2 JP4377347 B2 JP 4377347B2 JP 2005070108 A JP2005070108 A JP 2005070108A JP 2005070108 A JP2005070108 A JP 2005070108A JP 4377347 B2 JP4377347 B2 JP 4377347B2
Authority
JP
Japan
Prior art keywords
wheel
section
unit
mobile robot
distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005070108A
Other languages
English (en)
Other versions
JP2006252350A (ja
Inventor
清人 藤井
幸司 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Secom Co Ltd
Original Assignee
Secom Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Secom Co Ltd filed Critical Secom Co Ltd
Priority to JP2005070108A priority Critical patent/JP4377347B2/ja
Publication of JP2006252350A publication Critical patent/JP2006252350A/ja
Application granted granted Critical
Publication of JP4377347B2 publication Critical patent/JP4377347B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は、移動ロボットに関し、特に、移動ロボットにおける位置算出精度の向上に関する。
近年、所定の経路を移動して物品の搬送や異常の監視を行う移動ロボットが供されてきている。このような移動ロボットにおいては、車輪の回転量を計測して、予め入力された車輪半径と左右輪間隔(トレッド)とに基づき、移動距離と移動経路を算出して移動体の現在位置を計測することが知られるところである。
特許文献1には、特に、ガイド手段となる磁気テープに沿って走行するとともに、路面に設けられた番地指定発振器を読み取って右折左折などの旋回制御等を行い、車輪の回転量をエンコーダで計測して走行距離から現在位置を算出する無人搬送車が記載されている。この無人搬送車は、現在位置に応じて予め記憶した既設物データを演算して既設物以外の障害物を検出するよう動作する。
特開平9−6433号公報(図2)
上述した従来の無人搬送車は、エンコーダで計測した車輪の回転量から移動距離を算出しており、このような移動距離算出のためには、予め記憶されている車輪半径が一般に用いられる。また、同無人搬送車は、左右輪の走行用モータを制御して旋回制御しており、このような旋回制御のためには、予め入力された左右車輪間隔が一般に用いられる。
しかし、車輪半径や車輪間距離を使って現在位置を検出すると、下記のように、路面形状の影響で現在位置の算出に誤差が生じてしまう場合がある。
ここでは、進行方向に対して右または左に傾斜した経路をガイド手段に沿って走行する場合を考える。この場合、車体が重力により谷側に引っ張られるが、この状況でガイド手段に追従するように走行制御が行われると、谷側の車輪は山側の車輪より多く回転して走行することとなる。このため、山側と谷側とで左右の車輪の回転量に差が生じる。そして、この車輪回転量に基づいて現在位置の値が計算されると、位置と姿勢の計算値が異常なものとなってしまう。
従来の無人搬送車は、このような問題を解決することができず、現在位置を誤って算出するおそれがある。
また、車輪半径は空気圧や路面状況、車体の重量によって変動するため、一定ではなく、固定値を利用すると走行距離に誤差が生じてしまう可能性がある。また、これに伴い、車輪の接地面積が変化するために、左右輪間隔が変動し、カーブ走行時の旋回角度が変化するという問題がある。このように、従来の無人搬送車は、車輪半径の変動により、現在位置を誤って算出するおそれがあり、また、ガイド手段となる磁気テープに沿った正確な旋回制御が困難となるおそれがある。
そこで、本発明は、路面形状の変動などによる位置計測の誤差を低減して、現在位置を高精度に算出できる移動ロボットを安価に実現することを目的とする。
本発明は、車輪を駆動して複数区間からなる走行経路を移動するロボットに関し、この移動ロボットは、前記車輪の回転量を計測する回転量検出部と、各区間の始点終点間の距離を記憶した経路情報と前記区間毎に設定した車輪径を含む車輪特徴量とを記憶する記憶部と、前記走行経路に配設された指示手段を検出する指示手段検出部と、前記指示手段検出部の出力に基づき前記各区間の始点と終点を検出する区間判別部と、前記走行経路の方向に対する前記移動ロボットの進行方向の傾きを検出する傾き検出部と、第一の区間の始点および終点の少なくとも一方において前記傾き検出部により検出される傾きに基づき、前記経路情報上の前記第一の区間の始点終点間の距離を調整する区間距離調整部と、前記区間判別部が前記第一の区間の終点を判別すると、該第一の区間の始点終点間で計測された車輪回転量と前記区間距離調整部により調整された距離とに基づき該第一の区間における車輪径の補正値を算出して前記車輪特徴量を更新する車輪情報算出部と、前記記憶部に記憶されている現在走行している区間の車輪特徴量と前記車輪の回転量とに基づき現在位置を算出する位置算出部と、を具備している。
前記記憶部は、前記経路情報として更に予め設定された前記各区間の始点終点間の角度差を記憶するとともに前記車輪特徴量として駆動輪間距離を記憶し、さらに、第二の区間の始点および終点の少なくとも一方において前記傾き検出部により検出される傾きに基づき、前記経路情報上の前記第二の区間の始点終点間の角度差を調整する角度差調整部を備え、前記車輪情報算出部は、前記区間判別部が第二の区間の終点を判別すると、該第二の区間の始点終点間で計測された車輪回転量と前記角度差調整部により調整された角度差と前記記憶部に記憶された車輪径とに基づき車輪特徴量としての駆動輪間距離(左右の車輪間隔)の補正値を算出して前記車輪特徴量を更新してよい。
上記構成により、車輪特徴量を区間毎に記憶し、区間毎の車輪特徴量に基づいて車輪回転量から現在位置が算出される。例えば右または左に傾斜した区間については、谷側の駆動輪の車輪径を小さく設定することにより、傾斜を特に考慮しないで現在位置を算出しても現在位置が正確に求められる。このようにして、区間による路面形状の変化の影響を低減して、現在位置の算出精度を向上できる。しかも、車輪特徴量を区間毎に記憶するという簡単な構成で、位置算出自体を大きく変えないでも路面形状の変化に適応でき、したがって、高価な構成を付加することなく移動ロボットの機能を利用して安価な構成で現在位置の検出精度を向上できる。
また、上記構成により、各区間で計測された車輪回転量と予め記憶された各区間の経路情報から区間毎の車輪特徴量が算出され、計算された車輪特徴量を用いて現在位置が算出される。ここでも車輪径を例にとると、路面が左右に傾斜していれば、谷側の車輪回転量の計測値が大きくなり、自然と谷側の車輪径が小さく計算され、この小さな車輪径を用いる自然と傾斜が加味され現在位置が正確に計算される。このようにして、区間による路面形状の変化を考慮しないで車輪特徴量を求めても、路面形状の影響を低減する現在位置計算を可能とする車輪特徴量を得ることができ、現在位置の算出精度を容易に向上できる。
また、上記構成により、移動ロボットが予め決められた複数区間からなる走行経路を走行することを利用して、経路上に所定区間を設定して、この所定区間に関して記憶された経路情報と同所定区間の走行で計測された車輪回転量とから車輪特徴量を計算しており、したがって、この点でも、高価な構成を付加することなく移動ロボットの機能を利用して安価な構成で現在位置の検出精度を向上できる。さらにまた、上記構成により、各区間で算出された車輪特徴量を用いて現在位置を算出するので、車輪径等の車輪特徴量が変化した場合でも現在位置を高精度に検出できる。
た、上記構成により、車輪特徴量として車輪径と駆動輪間距離の補正値を好適に算出することができる。車輪径は半径でよく(直径でもよい)、走行距離の算出に利用され、駆動輪間距離は車輪径と共に車両姿勢(向き)の算出に利用され、これら情報を用いて車両の現在位置を計算できる。
本発明によれば、その特徴として、経路情報上の区間距離と移動ロボットが実際に走行する距離にはロボット進行方向の傾きに起因するずれが生じることに基づき、このずれを補正する調整を経路情報上の距離に施している。これにより、実際の区間走行での走行距離の増減分を補正して車輪特徴量としての車輪径の補正値をより正確に求めることができ、現在位置の算出精度を向上できる。
また、本発明によれば、その特徴として、経路情報上の区間両端の角度差と移動ロボットで実際に生じる角度差にはロボット進行方向の傾きに起因するずれが生じることに基づき、このずれを補正する調整を経路情報上の角度差に施している。これにより、実際の区間走行での角度差の増減分を補正して車両特徴量としての駆動輪間距離の補正値をより正確に求めることができ、現在位置の算出精度を向上できる。
また、本発明において、前記位置算出部は、各区間の前回の走行にて前記車輪情報算出部により算出されて各区間と対応して前記記憶部に記憶された前記車輪特徴量を前記記憶部から読み出して現在位置を算出し、前記車輪情報算出部は、各区間にて前記位置算出部による位置算出と並行して計測された車輪回転量に基づき次回の同区間の走行のために車輪特徴量を算出して前記記憶部に記憶してよい。
これにより、各区間で前回の走行で算出され記憶された車両特徴量を使って現在位置を算出しつつ、並行して同区間の次の走行のために車両特徴量を算出して記憶するので、各区間の毎回の走行で直前の走行で得た車輪特徴量を使用でき、直近の車輪特徴量を使うことで現在位置を正確に検出できる。
その他、本発明は上述の移動ロボットに限定されない。本発明は、別の装置、方法、プログラムまたはシステムの態様で表現および特定されてもよい。例えば、本発明の別の態様は、上記の移動ロボットまたは他の移動体に備えられる現在位置検出装置または車輪特徴量算出装置である。また、本発明の別の態様は、上記の構成の動作を行う現在位置検出方法または車輪特徴量検出方法である。また、本発明の別の態様は移動ロボットの制御方法である。また、本発明の別の態様は、そのような方法をコンピュータに実行させるプログラムである。また、本発明の別の態様は、移動ロボットと監視センタとが通信で接続されたシステムである。
上述のように、本発明によれば、路面形状の変動などによる位置計測の誤差を低減して、現在位置を高精度に算出できる移動ロボットを安価に実現することができる。
以下、本発明の実施の形態を図面を参照して説明する。本実施の形態の移動ロボットは、監視区域となる所定の環境内の所定経路を巡回して、監視区域内に出現した物体や消失した物体を検知して異常を検出するものである。移動ロボットは、異常を検知すると遠隔の監視センタに異常信号を送出する。監視センタでは、異常信号を受信すると、移動ロボットに搭載された撮像手段による画像の確認や、移動ロボットを遠隔操作して異常対処を行う。
移動ロボットの構成を図1に示す。移動ロボット1は、移動手段3、移動制御部5、ガイド検出部7、自己位置検出部9、障害物検知部11、障害物判定部13、記憶部15、通信部17、撮像ユニット19、これら各部を制御する制御部21、および、各部に電力を供給する電源部23より構成されている。以下に各部を説明する。
移動手段3は、右輪31、左輪33と左右輪を独立に駆動するモータ35、37で構成されている。移動ロボット1は図2(b)に示されるように4つの車輪を有しており、それらのうちの2つの車輪が駆動輪であり、図1の右輪31、左輪33に相当する。これら駆動輪が回転して、移動ロボット1が走行する。そして、左右輪の回転速度により直進走行速度および旋回走行速度が制御され、旋回方向も制御される。左右輪の回転速度は、移動制御部5により独立して制御される。なお、車輪駆動でなく、左右のクローラを独立に制御する方式が採用されてもよい。
ガイド検出部7は、移動経路上のガイド手段を検出する。ガイド手段は図2(a)に示されている。図示のように、予め設定された移動ロボットが巡回する移動経路には、経路の全長にわたってガイド手段としての白線テープ101が固定的に設けられている。また、経路中の所定の地点には、白線テープ101とともに、地点指示手段としての指示マーカ103が固定的に設けられている。指示マーカ103は1組の白色で四角形のマークであり、移動経路上に設定された区間の境界に設けられている。本実施の形態では例えば直線からカーブに移る地点およびその逆の地点が区間の境界に設定され、指示マーカ103が設けられている。また、本発明の範囲内で直線とカーブとの変化点以外にも区間の境界が設定され、指示マーカ103が設けられてよい。例えば、一つの直線上で左右の傾斜が変化する地点に区間の境界を設定し、指示マーカ103を設けることができる。
ガイド検出部7は、白線検出カメラ41と画像処理部43とから成る。白線検出カメラ41は、路面を撮影可能に移動ロボット1の底面に設置されている。画像処理部43は、移動ロボット1のコンピュータにより実現され、エッジ抽出やハフ変換などの処理により、白線検出カメラ41の撮影画像から、移動ロボット1の経路を誘導すべき白線テープ101、及び指示マーカ103を検出して制御部21に出力する。制御部21は、画像処理部43から入力された指示マーカ103の検出情報に基づき、走行経路の各区間の始点と終点を検出する。即ち、指示マーカ103の検出回数を計数し、この検知回数と経路情報に基づいて現在の区間を判別する。本実施の形態では、指示マーカ103が区間の境界を示す指示手段に相当し、ガイド検出部7が指示手段検出部に相当し、制御部21が区間判別部として機能する。
なお、ガイド検出部7は、上記の構成に限定されない。ガイド検出部7は、磁気センサ、電磁誘導センサなどで構成されてもよい。この場合、ガイド検出部7は、移動経路に設置されたガイド手段としての磁気ガイドまたは電磁誘導ガイドを検出するように構成されてよい。ガイド手段及びガイド検出部は、設置する環境により選択できるようすることが好ましい。
移動制御部5は、駆動モータ35、37を制御するための手段である。移動制御部5は、ガイド検出部7による白線テープ101の検知出力に応じて、例えば周知のPID制御などにより、白線テープ101に沿って移動するよう駆動モータ35、37を制御する。また、移動制御部5は、自己位置検出部9による走行区間の検出に応じて、予め設定された経路情報に基づき移動速度を制御する。移動速度は予め区間毎に設定され、経路情報の一部として記憶されている。
自己位置検出部9は、レゾルバ51、53、位置算出部55とからなり、位置認識部として機能する。自己位置検出部9は、さらに車輪情報算出部57を備えている。
レゾルバ51、53はそれぞれモータ35、37に設置されており、モータ35、37のモータ回転軸の絶対位置をそれぞれ検出する。レゾルバ51、53は回転量検出部の一形態である。
位置算出部55は、移動ロボット1のコンピュータにより実現され、レゾルバ出力から得られるモータ回転軸の回転量から左右輪31、33それぞれの回転量を算出し、後述の環境地図上の現在のロボットの位置(X,Y)と姿勢(θ)を算出する。この処理では、車輪回転量から走行距離と角度変化が求められ、これらの情報から各時点の位置と姿勢が捕捉される。また、角度変化は、車輪回転量の差と車輪間隔(左右車輪間隔、駆動輪間距離またはトレッドの意味、以下同じ)から算出される。このような位置検出は、デッドレコニング(自律航法)として一般に知られる手法である。
また、位置算出部55は、ガイド検出部7による指示マーカ103の検知出力と制御部21による区間の判別に応じて、移動経路の始点や終点の認識、自己位置の補正などを行う。
また、車輪情報算出部57は、左右輪それぞれの回転量と記憶部15の経路情報とから、車輪特徴量を算出する。本実施の形態では、車輪特徴量として、車輪半径の補正値および車輪間隔の補正値が計算される。本実施の形態では両補正値が補正係数であり、基準車輪半径に補正値が掛けられて車輪半径が算出され、また、基準車輪間隔に補正値が掛けられ、これらの補正された車輪半径及び補正された車輪間隔が位置算出部55で走行制御の現在位置と姿勢の算出に使用される。
車輪情報算出部57は、区間判別部である制御部21による区間の判別に応答して、区間の始点終点間で計測された車輪回転量から上記の計算処理を行う。走行経路の複数の区間は車輪径更新区間Tnと車輪間隔更新区間Twに分かれており(図2(a))、車輪径更新区間Tnでは車輪半径の補正値が算出され、また、車輪間隔更新区間Twでは、車輪間隔の補正値が算出される。
障害物検知部11は、移動ロボット1の前方の物体を検出する手段である。障害物検知部11は、移動ロボット1の前方に向けて設置されたレーザセンサ61から成り、レーザ発振器より照射されるレーザ光が光路上にある物体にて反射した際の反射光を受光する。障害物検知部11は、走査鏡とこの走査鏡を回転駆動する手段とによりレーザ発振器より発射されるレーザ光の照射方向を制御して、移動ロボット1の前方を含む所定の範囲を、例えば30msecの周期で空間走査している。
そして、障害物検知部11は、レーザ光の照射から反射光検出までの時間より算出される障害物検知部11とレーザ光を反射した物体(測定点)との距離と、回転駆動される走査鏡の角度とにより、レーザ光を反射した物体、即ちレーザ光を反射した測定点の相対位置を算出する。相対位置は、移動ロボット1を基準とした測定点の位置である。
なお、障害物検知部11は、レーザセンサ以外のセンサで構成されてもよい。例えば、障害物検知部11は赤外線タイプのセンサで構成されてもよく、ミリ波レーダタイプのセンサで構成されてもよい。
記憶部15は、移動ロボット1での各種の処理に使用される情報を記憶している。記憶部15が記憶する情報には、移動経路の情報を示した経路情報71と、監視区域を二次元座標系で示した環境地図73と、位置算出部55により算出された移動ロボット1の位置と姿勢とを含む位置情報75と、車輪特徴量の情報を示す車輪情報77とが含まれる。
経路情報71としては、移動経路中の各区間(ある指示マーカから次の指示マーカまでの区間)番号に対応して、各区間の走行速度、予め測量した区間距離、区間の始点終点間の方位角の差(角度差)が記憶されている。経路情報では、区間番号が、該当区間までに検出されるべきマーカの数(検出回数)と対応付けられている。走行制御では、マーカ検出回数から区間番号が特定され、そして、区間番号から各区間の走行速度等が特定されることになる。
なお、指示マーカは、区間の境界に加えて、それ以外の場所にも設定されてもよく(例えば、移動ロボット1が所定の場所の映像を撮像して送信するチェックポイントの目印として指示マーカが設けられ、撮像および通信の制御に利用されてよい)、この場合にも、上記のように区間番号とマーカ検出回数を対応づけておくことで区間が特定される。
また、経路情報71には、各区間が車輪径更新区間Tn(第一の区間)であるか車輪間隔更新区間Tw(第二の区間)であるかを示す情報が含まれている(図2(a))。前者は、車輪半径を更新する区間であり、後者は、車輪間隔を更新する区間である。より詳細には、区間番号と対応して、更新識別データが付与されており、更新識別データが、各区間が車輪径更新区間Tnか車輪間隔更新区間Twかを特定するデータである。
なお、本実施の形態では、移動経路上の直線区間が車輪径更新区間Tnであり、カーブ区間が車輪間隔更新区間Twである。そこで、区間番号と対応して、各区間が直線かカーブかのデータが記憶され、このデータから各区間が車輪径更新区間Tnか車輪間隔更新区間Twかが特定されてもよい。さらに、直線区間では、区間の始点終点間の角度差が0である。そこで、角度差の情報によって、更新の種類が特定されてもよい。
環境地図73は、監視区域の地図情報であり、所定距離ごとにグリッドで仕切られており、各グリッドに識別番号が与えられている。本実施の形態では5cm×5cmのグリッドで環境地図を仕切る例を説明する。例えば5cm×5cm毎に仕切る場合は、500m四方の監視区域の環境地図は、1億個のグリッドに仕切られることとなる。環境地図73と共に、環境地図上での既設物体の位置情報である既設物情報が記憶されている。既設物情報は、環境地図73の各グリッドの属性情報からなっており、各グリッドの属性情報として既設物の有無が登録されており、これにより既設物体の位置が特定される。既設物情報は、実際に移動ロボット1を走行させることで取得されてもよい。例えば、巡回以外の時に既設物情報を生成するモードを設定し、移動ロボット1を走行経路に沿って走らせて、このときに障害物検出部11で検出される物体を既設物体として求め、求められた既設物体の位置を記憶部15に登録してもよい。
図3は、環境地図73を示す模式図である。図3では、移動ロボット1の周辺部のみが示されている。図においてハッチングして示すグリッドは、既設物情報にて物体の位置が示されているグリッド、すなわち、既設物グリッドである。
位置情報75は、位置算出部55により算出された移動ロボットの位置と姿勢である。位置および姿勢は、下記の車輪情報77を使って、車輪回転量から算出される。
車輪情報77としては、予め設定された左右車輪の半径基準値および車輪間隔基準値と、車輪情報算出部57にて算出された、各区間ごとの左右車輪の半径補正値および車輪間隔補正値が記憶されている。半径基準値および車輪間隔基準値は固定の値である。これに対して、車輪情報算出部57で算出される車輪半径および車輪間隔の補正値は、車輪の空気圧や摩耗等による変化や各区間の路面形状などを反映した車輪半径および車輪間隔を提供するものである。
通信部17は、遠隔の監視センタと信号を送受信する無線通信手段である。通信部17は、障害物判定部13が異常を検知した場合、遠隔の監視センタに無線等で異常信号を出力する。また、通信部17は、撮像ユニット19が撮像した画像を遠隔の監視センタに送信し、監視センタから受信した制御コマンドを制御部21に入力する。
撮像ユニット19は、移動ロボット1に搭載されてロボットの周囲を撮像する撮像手段である。撮像ユニット19は、例えば、図2(b)に示されるように、ロボット上部の六角柱型のハウジングに収納されている。ハウジングの中には、6つの撮像部が6方向に向けて収納されており、これにより、水平方向の全視野がカバーされる。撮像ユニット19にて撮像された画像は、記憶部15にバッファされて、通信部17から監視センタに送信される。
障害物判定部13は異常判定部81を備えており、障害物検知部11の出力に基づき異常の有無を判定する。異常が判定されると、通信部17より異常信号が出力され、また、移動制御部5が、移動の停止や減速、障害物の回避や追跡などの予め定められた処理を行う。
異常判定部81は、環境地図と既設物情報を用いて異常を判定する。既設物体が存在しない位置の物体が障害物検知部11により検出されたとき、異常判定部81は、侵入物が存在しており異常が発生したと判定する。また、既設物体が障害物検知部11によって検出されなかったとき、異常判定部81は、既設物体が消失する異常が発生したと判定する。
障害物判定部13は、下記の投票処理によって物体の有無を判定してもよい。この場合、障害物判定部13には投票部が設けられ、投票部は、障害物検知部11が測定点の相対位置を計測すると、移動ロボット1の位置と姿勢に基づき、計測された測定点に対応するグリッドを環境地図73より判定して、該当グリッドに投票値を加算する。この処理のために、記憶部15には、各グリッドの投票値を記録する投票テーブルが記憶されており、この投票テーブルに投票値が書き込まれる。そして、物体判定部が設けられ、この物体判定部は、投票テーブルにおけるグリッド毎の投票値に基づいて、各グリッドの物体の有無を判定する。物体判定部は、投票値が所定のしきい値以上になったグリッドに物体が存在すると判定する。上記のような投票処理を行うことにより、瞬間的に移動ロボット1の向きがブレたような場合に誤った測定点が計測されても、そのような測定点の投票値が大きくならないので、物体の誤検出を防止できる。
なお、上記の投票値には重み付け処理が施されてもよい。好適には、測定点までの距離に反比例した重みが付けられる。さらに、隣の測定点間の距離に反比例する重みが付けられる。重みを付けた投票値が計算され、この投票値が投票テーブルの該当グリッドに加算される。
制御部21は、上述した移動ロボット1の各部構成を制御する手段であり、CPU等を備えたコンピュータで構成されている。図1の各部構成でコンピュータ処理可能なものも、同コンピュータで実現されてよい。例えば、ガイド検出部7の画像処理部43や、自己位置検出部9の位置算出部55および車輪情報算出部57が上記のコンピュータで実現され、障害物検知部11の一部および障害物判定部13の機能も同コンピュータで実現されてよい。また、移動制御部5についても同様であり、例えば、モータ制御に関する上位指令値が算出されて、モータ駆動回路に伝えられてよい。さらに、記憶部15は、上記コンピュータのメモリおよび外部記憶装置等で実現されてよい。
次に、本実施の形態に係る移動ロボット1の動作を説明する。ここでは、まず、移動ロボット1の全体的な動作の概要を説明し、それから、車輪特徴量を求める動作を説明する。
移動ロボット1は、図示しない計時手段によって予め設定された巡回開始時刻の到来を検知したときや、操作部からの入力、又は監視センタからのコマンドを受信することにより巡回モードに設定され、ガイド検出部7からの信号を入力とし、移動制御部5により移動手段3を制御し、ガイド手段である白線テープ101(図2(a))に沿って移動を開始する。白線テープ101が画像から検出され、そして、白線テープ101が常に画像の所定位置で所定角度を向くように、移動制御部5が両モータ35、37の回転を独立して制御する。本実施の形態では、白線テープ101が画像の中央で上下方向を向くように移動制御部5が動作する。また、指示マーカ103に基づき、記憶部15の経路情報71を参照して現在の移動区間と走行速度が求められ、走行速度に応じてモータ回転が制御される。
移動ロボット1は、移動を開始すると障害物検知部11を作動させて前方を空間走査する。障害物検知部11は、反射光を検出すると、測定点の距離計測データS(Φm)を出力する。ここで、Φmは、レーザ光の照射方向を示す角度であり、例えば、−90°< Φm < 90°の範囲を障害検知部11が走査するものとし、移動ロボットの正面を0°とする。障害物検知部11は所定の短い時間間隔で計測データを出力する。
障害物判定部13は、障害物検知部11からの入力を受けると、異常の有無を異常判定部81により判定する。このとき、障害物判定部13は、自己位置検出部9より環境地図上の移動ロボット1の位置(X,Y)、姿勢θを取得する。自己位置検出部9では、一般にデッドレコニングと呼ばれる手法によりレゾルバ51、53の検出値、車輪半径、車輪間隔などから移動ロボット1の位置、姿勢が計算されている。障害物判定部13は、以下の式に基づき障害物検知部11による測定点の出力結果を環境地図上の座標に投影する。即ち、移動ロボット1との相対位置として得られた測定点の位置を、環境地図上の座標(Xs,Ys)に変換する。
Xs=X+S(Φm)cos(Φm+θ)
Ys=Y+S(Φm)sin(Φm+θ)
障害物判定部13の異常判定部81は、上記の測定結果に基づいて異常が有るか否かを判定する。このとき、前述したような投票処理が行われ、測定点のグリッドに投票値が加算され、投票値が所定のしきい値以上になったグリッドを対象として異常の有無が判定されてもよい。
異常判定では、環境地図と共に記憶部15に記憶された既設物情報が参照される。そして、測定点と対応する既設物体の位置が記憶部15に登録されていなければ、既設物体以外の物体が存在しており、異常が有る(侵入物が有る)と判定する。また、異常判定部81は、測定点と自己位置の間に位置すべき他の既設物体の情報が登録されているか否かを判定する。他の既設物体が登録されていれば、その既設物体が消失しているので、異常判定部81は異常が有ると判定する。異常判定部81が異常が有ると判定すると、制御部21が移動ロボット1の走行を停止させ、さらに通信部17より異常信号を監視センタへ出力する。
上記のような障害物検出と異常判定を行いながら、移動ロボット1は移動経路の終点まで走行する。
次に、車輪特徴量を求めるための移動ロボット1の動作の概要を説明する。移動ロボット1は、移動経路に沿って走行しながら、指示マーカ103を検出し、走行中の区間を判別し、特に、各区間が車輪径更新区間Tnおよび車輪間隔更新区間Twのいずれであるかを判別する。
移動ロボット1は、車輪径更新区間Tnでは車輪半径の補正値を算出して、記憶部15の情報を更新する。このとき、車輪情報算出部57が、レゾルバ51、53の出力より、同区間Tnの始点のマーカを通過してから終点のマーカを通過するまでの左右輪の回転量を取得する。そして、経路情報中の区間距離を用いて、左右の各輪の車輪半径の補正値を回転量から算出する。
また、移動ロボット1は、車輪間隔更新区間Twでは車輪間隔の補正値を算出して、記憶部15の情報を更新する。このとき、車輪情報算出部57が、レゾルバ51、53の出力より、同区間Twの始点のマーカを通過してから終点のマーカを通過するまでの左右輪の回転量を取得する。そして、経路情報中の角度差(始点と終点の角度差であり、経路接線角度の差で表される)を用いて、車輪間隔の補正値を算出する。
上記の車輪半径および車輪間隔の補正値は、区間ごとに算出されて、記憶される。位置算出は、この区間ごとの車輪半径および車輪間隔の補正値を用いて行われる。つまり、今回の巡回時に算出された車輪半径および車輪間隔の補正値が、次回または次回以降の巡回時の位置算出に利用される。
また、本実施の形態では、補正値としては、補正係数が算出される。車輪半径の補正係数が基準値に掛けられて車輪半径が算出され、同様に、車輪間隔の補正係数が基準値に掛けられて車輪間隔が算出される。こうして得られる車輪半径および車輪間隔を用いて現在位置が算出されることになる。
ただし、本発明の範囲内で補正値は、計測結果を反映した車輪情報を得られるものであれば、上記のような係数ではなくてもよい。車輪半径の補正値は、車輪半径基準値と計測結果から得られる車輪半径との差分でもよい。また、車輪半径の補正値は、車輪半径そのものの値でもよい。車輪間隔についても同様である。
次に、図4、図5のフローチャートを参照して、車輪特徴量の算出処理の詳細を説明する。この算出処理は主として自己位置検出部9の車両情報算出部57により行われる。
図4に示すように、走行が開始すると、レゾルバ51、53による車輪回転数の計測が開始し(S1)、続いて、区間境界の指示マーカが検出されたか否かが判定される(S3)。指示マーカはガイド検出部7で検出され、制御部21からマーカの検出が自己位置検出部9に伝えられる。指示マーカが検出されていなければ、ステップS3の判定が繰り返される。指示マーカが検出されると、指示マーカ検出時の車輪回転数が下記のように記憶される(S5)。以下では、例えば、車輪Aが右の駆動輪であり、車輪Bが左の駆動輪である。
車輪A回転数:Ma1
車輪B回転数:Mb1
次に、区間番号の判別が行われる(S7)。ここでは、経路情報71が参照されて、現在の区間の番号nが特定される。そして、再び指示マーカが検出されたか否かが判定される(S9)。指示マーカが検出されなければステップS9の判定が繰り返される。指示マーカが検出されると、指示マーカ検出時の車輪回転数が下記のように記憶される(S11)。これにより、区間nの始点および終点の車輪回転数がそれぞれ記憶されたことになる。
車輪A回転数:Ma2
車輪B回転数:Mb2
続いて、区間n走行時の車輪回転量と基準車輪情報とに基づき、下記のようにして、区間n内における各車輪の走行距離が算出される(S13)。基準車輪情報(車輪半径基準値Ra、Rb、車輪間隔基準値W)は記憶部15の車輪情報77から取得される。
車輪A半径基準値:Ra
車輪B半径基準値:Rb
車輪間隔基準値:W
車輪A回転量:θa (=Ma2−Ma1)
車輪B回転量:θb (=Mb2−Mb1)
車輪A走行距離:Da (=Ra×θa)
車輪B走行距離:Db (=Rb×θb)
台車旋回角:θ (=(Da−Db)/W)
次に、記憶部15に記憶された区間nの経路情報が参照される(S15)。そして、経路情報から、区間nが、車輪径更新区間Tnから車輪間隔更新区間Twかが求められる。また、区間nの区間距離Dが求められる。さらに、区間nの始点終点間の角度差φが読み出される。これらは、区間nの番号と関連づけて記憶されている。
なお、前述したように、直線区間が車輪径更新区間Tnに設定され、カーブ区間が車輪間隔更新区間Twに設定されてよい。この場合、区間の種別は、直線か否かの情報でもよい。以上は、各区間が単純な直線、円弧のみで構成されている場合であり、移動経路中にクランク状の区間が設定されている場合であれば、角度差にて車輪径更新区間Tnか車輪間隔更新区間Twかを判定することが好ましい。即ち、円弧の複合で構成されたクランクであっても、角度差のない区間では車輪径更新区間Tnに設定され、直線の複合で構成されたクランクであっても角度差がある区間では車輪間隔更新区間Twに設定されるべきでる。
次に、図5に移り、上記で得られた情報を基に、区間nが車輪径更新区間Tnであるか否かが判定され(S17)、Yesであれば、区間n内の走行距離と経路情報とから、区間nにおける車輪半径の補正値が下記のようにして算出される(S19)。
車輪A半径補正値:Ca =D/Da
車輪B半径補正値:Cb =D/Db
車輪間隔補正値:Cw =1.0
この補正値は、補正係数である。車輪半径の補正係数を車輪半径基準値に掛けると、区間nにおいて現在位置の検出に使用すべき車輪半径が得られる。上記のステップでは、車輪間隔についても補正値が計算され、この値が以降のステップでも処理されるが、補正値は1.0に固定されており、したがって車輪径更新区間Tnでは実質的には車輪間隔は補正されない。
一方、ステップS17がNoであれば、区間nが車輪間隔更新区間Twであり、ステップS21に進み、区間n内の旋回角と経路情報とから、区間nにおける車輪間隔の補正値が下記のようにして算出される。
車輪A半径補正値:Ca =1.0
車輪B半径補正値:Cb =1.0
車輪間隔補正値:Cw =θ/φ
ステップS21の補正値も補正係数である。車輪間隔の補正係数を車輪間隔基準値に掛けると、区間nにおいて現在位置検出に使用すべき車輪間隔が得られる。上記のステップでは、車輪半径についても補正値が計算され、この値が以降のステップでも処理されるが、補正値は1.0に固定されており、したがって車輪間隔更新区間Twでは実質的には車輪半径は補正されない。
ステップS19またはステップS21で補正値が算出されると、算出した補正値が区間nと関連付けて記憶部15に記憶される(S23)。ここでは、記憶部15に過去に記憶された車輪情報中の補正値が、上記の算出した計算値でもって置き換えられる。
続いて、区間番号が一つ加えられ、n=n+1とされる(S25)。指示マーカの検出によって次の区間に進むからである。そして、車輪情報の算出のための車輪回転数が下記のように置き換えられる(S27)。
車輪A回転数:Ma1=Ma2
車輪B回転数:Mb1=Mb2
さらに、経路が終了したか否かが判定される(S29)。経路が終了したか否かは、区間nに基づき経路情報を参照することで分かる。区間番号が最終区間の番号以下であれば経路が終了しておらず、経路が終了していなければステップS9に戻り、経路が終了していれば、車輪回転数の計測を終了し(S31)、移動ロボット1の走行が終了する。
以上に、車輪情報77の補正値を計算する処理を説明した。次に、図6および図7を参照して、計算された補正値を用いて現在位置を算出する処理を説明する。この処理は、主として自己位置検出部9の位置算出部55によって行われる。現在位置の計算は、各区間にて過去の巡回、例えば前回の巡回で得られた補正値を用いて行われることになる。
図6に示すように、走行が開始すると、下記のような台車(移動ロボット)の初期状態が設定される(S41)。
現在の位置:(X0,Y0)
現在の姿勢:θ0
現在の区間n:n0
そして、レゾルバ51、53による車輪回転数の計測が開始し(S43)、下記のように車輪回転数が記憶される(S45)。前出のMa1、Mb1が車輪特徴量の算出に用いられるのに対して、La1、Lb1は、現在位置の算出に利用するために記憶されるパラメータである。
車輪A回転数:La1
車輪B回転数:Lb1
次に、現在の区間nにおける車輪半径、車輪間隔の補正値が下記の通り記憶部15から読み出され、また、車輪半径基準値および車輪間隔基準値が記憶部15から読み出される(S47)。
車輪A半径補正値:Ca
車輪B半径補正値:Cb
車輪間隔補正値:Cw
車輪A半径基準値:Ra
車輪B半径基準値:Rb
車輪間隔基準値:W
そして、補正値に基づいて、車輪半径、車輪間隔が下式により算出される(S49)。 なお、直線区間では、Cw=1.0なので、車輪間隔は基準値と同じになり、車輪半径が補正されることになる。また、カーブ区間では、Ca=Cb=1.0なので、車輪半径が基準値と同じになり、車輪間隔が補正されることになる。
補正値適用後の車輪A半径:Ra’ =Ra×Ca
補正値適用後の車輪B半径:Rb’ =Rb×Cb
補正値適用後の車輪間隔:W’ =W×Cw
続いて、前回の計測の次の周期で計測された車輪回転数が下記のように記憶される(S51)。
車輪A回転数:La2
車輪B回転数:Lb2
そして、算出された車輪半径Ra'、Rb'、車輪間隔W'と車輪回転量とに基づき、現在の位置と姿勢が、下記式に従って算出される(S53)。ここでは、下式により、添え字1、2で表される前後2回(2周期)の測定点間の左右輪回転量が求められ、そして、位置、姿勢の変化量が求められる。
車輪A回転量:θa (=La2−La1)
車輪B回転量:θb (=Lb2−Lb1)
車輪A走行距離:Da (=Ra'×θa)
車輪B走行距離:Db (=Rb'×θb)
台車旋回角:θ (=(Da−Db)/W')
並進距離:Ds (=(Da+Db)/2)
さらに、記憶されている1周期前の現在位置(Xt,Yt)、姿勢(θt)から現在の位置(Xt+1,Yt+1)および現在の姿勢(θt+1)が下式で得られる。なお、走行開始後1回目となる計測では、1周期前の値として初期状態の値(X0,Y0)(θ0)が用いられる。
θt+1=θt+θ
Xt+1=Xt+Ds×cosθt+1
Yt+1=Yt+Ds×sinθt+1
ステップS53に続いて、車輪回転数が下記のように入れ替えられる(S55)。
車輪A回転数:La1=La2
車輪B回転数:Lb1=Lb2
続いて、指示マーカが検出されたか否かが判定される(S57)。指示マーカはガイド検出部7で検出され、制御部21からマーカの検出が自己位置検出部9に伝えられる。指示マーカが検出されていなければ、ステップS51に戻る。これにより、上述した現在位置および姿勢の計算が位置算出部55により繰り返される。
ステップS57で指示マーカが検出されると、区間番号が一つ加えられ、n=n+1とされる(S59)。指示マーカの検出によって次の区間に進むからである。そして、移動経路が終了したか否かが判定され(S61)、経路が終了していなければステップS47に戻り、次の区間で同様の現在位置計算処理を行う。すなわち、次の区間の車輪半径および車輪間隔の補正値を使用して現在位置が検出されることになる。ステップS61の判定で経路が終了していれば、車輪回転数の計測を終了し(S63)、移動ロボット1の走行が終了する。
以上に車輪特徴量の計算に関する移動ロボット1の動作を説明した。次に、車輪特徴量の算出精度(車輪半径及び車輪間隔の補正値算出精度)をさらに向上するための処理について説明する。ここでは、走行経路の方向に対する移動ロボット1の進行方向の傾きを考慮して、車輪特徴量の計算基準になる経路側の情報である区間始点終点間の角度差や区間距離の方を調整する。
図8は、直線区間からカーブ区間を通って次の直線区間を走行する移動ロボット1を模式的に示している。移動ロボット1には、白線検出カメラの画像が重ねて示されている。図8(a)は理想状態であり、移動ロボット1の進行方向が、走行経路の方向(ガイド手段である白線テープ101の方向)と常に一致しており、両者の傾きが0である。
一方、図8(b)は実際の移動ロボット1の姿勢を示しており、図示のように、実際の走行では、移動ロボット1の進行方向が経路方向に対して傾くことがあり、この傾きを両駆動輪の制御で修正しながら走行している。特に、カーブの出口では姿勢が不安定になりがちで、進行方向が経路方向に対して傾き易い(両者が平行にならない)。このような進行方向の傾きは、車両特徴量の計算では誤差の要因になってしまう。すなわち、本実施の形態では、経路情報の区間距離および区間両端の角度差を基準にして車輪回転量から車輪半径および車輪間隔の補正値を計算しているが、区間の始点および終点で車両の進行方向が傾くと、実際の走行距離や走行で生じた角度差が経路情報の値とずれてしまい、そのために、経路情報をそのまま使うと、車輪特徴量の計算値に誤差が生じる。
そこで、本実施の形態では、下記に説明するようにして、移動ロボット1の進行方向の傾きを検出して、傾きに応じた経路情報の調整を行い、それから車輪特徴量を計算することとする。
図9は、車輪間隔更新区間Twであるカーブ区間を示している。本実施の形態では、区間Twの始点(地点1)と終点(地点2)のマーカが検出されたときに、それぞれ、角度ズレ量Δφ1、Δφ2が検出される。これらは、上述した進行方向と経路方向の傾き角である。
角度ズレ量Δφ1、Δφ2は、ガイド検出部7によって検出される。ガイド検出部7では、画像処理部43が、白線検出カメラ43の画像から白線テープ101を検出し、白線テープ101の方向を求める。この白線テープ101の方向は経路方向である。したがって、白線テープ101の画像中での傾きから、移動ロボット1の角度ズレ量が求められる。この角度ズレ量は、走行制御における位置算出でも常時利用されてよい。
このように、ガイド検出部7は傾き検出部として機能しており、そして、指示マーカ103が検出されたときには、角度ズレ量が自己位置検出部9に渡され、記憶部15に記憶される。区間の始点での角度ズレ量Δφ1が、同地点での車輪A、B回転数Ma1、Mb1と共に記憶され、区間の終点での角度ズレ量Δφ2が、同地点での車輪A、B回転数Ma2、Mb2と共に記憶されることになる。
そして、自己位置検出部9の車輪情報算出部57は区間角度差調整部として機能し、上記の角度ズレ量Δφ1、Δφ2を読み出して、車輪間隔更新区間Twの始点終点間の角度差φを、下式に従って調整(補正)する。
φ= φ−(Δφ1−Δφ2)
これにより、車輪間隔更新区間Twの始点終点間で実際に移動ロボット1に生じた角度差が得られる。この調整後の角度差φを用いて車輪間隔の補正値Cwが算出される。したがって、結局、車輪間隔の補正値Cwは下式によって計算されることになる。
Cw= θ/(φ−(Δφ1−Δφ2))
ここで、θは、車輪半径および車輪間隔の基準値と、計測された車輪回転量とから算出された車輪旋回角である。
次に、図10は、車輪径更新区間Tnである直線区間を示している。ここでも、上記と同様にして、区間Tnの始点(地点1)のマーカが検出されたときに、角度ズレ量Δφ1がガイド検出部7により検出され、同地点での車輪A、B回転数Ma1、Mb1と共に記憶される。同様に、区間Tnの終点(地点2)のマーカが検出されたときに、角度ズレ量Δφ2がガイド検出部7によって検出され、同地点での車輪A、B回転数Ma2、Mb2と共に記憶される。
そして、自己位置検出部9の車輪情報算出部57が区間距離調整部として機能し、上記の角度ズレ量を用いて区間距離を調整する。以下のように、角度ズレ量から距離ズレ量が求められ、距離ズレ量を用いて区間距離が調整される。ここで、角度ズレ量は、上述した進行方向と経路方向の傾き角であり、距離ズレ量は、経路情報上の区間距離と実際の走行距離とのずれ量である。
図11は、区間始点の角度ズレ量Δφ1から、同地点での車輪毎の距離ズレ量ΔDa1、ΔDb1を求める処理を示している。図中で、dは、左右輪の中点から、指示マーカの中心位置までの、経路方向(白線テープ101の方向)の距離であり、ガイド検出部7はこの距離がdとなったときに指示マーカ103の検出信号を出力する。距離ズレ量ΔDa1、ΔDb1は、角度ズレ量Δφ1から下式によって求められる。
ΔDa1 = d−(W×sinΔφ1)/2
ΔDb1 = d+(W×sinΔφ1)/2
同様に、区間終点での距離ズレ量ΔDa2、ΔDb2も、角度ズレ量Δφ2から下記の式で求められる。
ΔDa2 = d−(W×sinΔφ2)/2
ΔDb2 = d+(W×sinΔφ2)/2
そして、自己位置検出部9の車輪情報算出部57は、上記の距離ズレ量ΔDa1、ΔDb1、ΔDa2、ΔDb2を用いて、車輪径更新区間Tnの始点終点間の距離Dを、下式に従って調整(補正)する。区間距離Dは、車輪A、Bで個別に調整され、車輪A、Bに関する区間距離DA、DBが得られる。
DA= D−(ΔDa1−ΔDa2)
DB= D−(ΔDb1−ΔDb2)
これにより、車輪径更新区間Tnでの車輪A、Bそれぞれの実際に走行した距離が得られる。そして、これらDA、DBを用いて、下式に従い車輪A、Bの車輪半径の補正値Ca、Cbが計算される。
Ca =DA/Da
Cb =DB/Db
ここで、Da、Dbは、車輪半径基準値と車輪回転量とから算出された車輪A、Bの走行距離であり、Ca、Cbは補正値である。
上記の処理を、図4、図5に示した本実施の形態の動作フローに当てはめると、下記のようになる。すなわち、ステップS5で車輪A、B回転数Ma1、Mb1を記憶するときに、角度ズレ量Δφ1が一緒に記憶され、ステップS11で車輪A、B回転数Ma2、Mb2を記憶するときに、角度ズレ量Δφ2が一緒に記憶される。また、ステップS27で車輪A、B回転数を入れ替えるとき(Ma1=Ma2、Mb1=Mb2)、角度ズレ量も入れ替えられる(Δφ1=Δφ2)。そして、ステップS19で車輪半径の補正値を算出する前に、区間距離Dが上記のように車輪A、車輪Bのための区間距離DA、DBに調整され、この調整値がステップS19で使われる。また、ステップS21で車輪間隔の補正値を算出する前に、区間両端の角度差φが上記のように調整され、この調整値がステップS21で使われる。区間距離Dと角度差φの調整は、これらがステップS15にて読み出される時に行われてもよい。
以上のような処理により、車輪特徴量の算出精度を向上できる。なお、本実施の形態では、算出精度を向上させるために区間の始点と終点の両方で検出された傾きが使用されている。しかし、本発明の範囲内で、始点または終点での傾きのみが使われてもよい。カーブの終点での傾きが大きくなる傾向があるので、車輪間隔の補正値算出では区間終点の傾きを使用することが好適であり、また、車輪半径の補正値算出では区間始点の傾きを使用することが好適である。
以上に本発明の好適な実施の形態について説明した。本実施の形態によれば、車輪特徴量を区間毎に記憶し、区間毎の車輪特徴量に基づいて車輪回転量から現在位置が算出される。右または左に傾斜した区間については、谷側の駆動輪の車輪径が小さく設定され、この設定により、傾斜を特に考慮しないで通常通りに現在位置を算出しても現在位置を正確に求められる。このようにして、区間による路面形状の変化の影響を低減して、現在位置の算出精度を向上できる。しかも、車輪特徴量を区間毎に記憶するという簡単な構成で、位置算出処理自体を大きく変えないでも路面形状の変化に適応でき、したがって、高価な構成を付加することなく移動ロボットの機能を利用して安価な構成で現在位置の検出精度を向上できる。
また、本実施の形態によれば、各区間で計測された車輪回転量と予め記憶された各区間の経路情報から区間毎の車輪特徴量が算出され、計算された車輪特徴量を用いて現在位置が算出される。ここでも車輪径を例にとると、路面が左右に傾斜していれば、谷側の車輪回転量の計測値が大きくなり、自然と谷側の車輪径が小さく計算され、この小さな車輪径を用いる自然と傾斜が加味され現在位置が正確に計算される。このようにして、区間による路面形状の変化を考慮しないで車輪特徴量を求めても、路面形状の影響を低減する現在位置計算を可能とする車輪特徴量を得ることができ、現在位置の算出精度を容易に向上できる。
また、上記の車輪特徴量の計算に関して、移動ロボットが予め決められた複数区間からなる走行経路を走行することを利用して、経路上に所定区間を設定して、この所定区間に関して記憶された経路情報と同所定区間の走行で計測された車輪回転量とから車輪特徴量を計算しており、したがって、この点でも、高価な構成を付加することなく移動ロボットの機能を利用して安価な構成で現在位置の検出精度を向上できる。さらにまた、各区間で算出された車輪特徴量を用いて現在位置を算出するので、車輪径等の車輪特徴量が変化した場合でも現在位置を高精度に検出でき、この点でも有利である。
また、本実施の形態によれば、車輪径更新区間と車輪間隔更新区間を適切に設定して、左右輪独立駆動における自律航法に使われる車輪径と駆動輪間距離を算出することができる。
また、本実施の形態によれば、各区間で前回の走行で算出され記憶された車両特徴量を使って現在位置を算出しつつ、並行して同区間の次の走行のために車両特徴量を算出して記憶するので、各区間の毎回の走行で直前の走行で得た車輪特徴量を使用でき、直近の車輪特徴量を使うことで現在位置を正確に検出できる。
また、本実施の形態によれば、区間端部での経路方向と進行方向の傾きを検出して、経路情報上の区間距離を実際に走行した距離へと車輪毎に調整し、調整した区間距離を用いて車輪径の補正値を計算している。このようにして実際の区間走行での走行距離の増減分を車輪毎に補正して車輪径の補正値をより正確に求めることができ、現在位置の算出精度を向上できる。
また、本実施の形態によれば、区間端部での経路方向と進行方向の傾きを検出して、経路情報上の区間両端の角度差を実際に移動ロボットで発生した角度差へと調整し、調整した角度差を用いて車輪間隔の補正値を計算している。このようにして実際の区間走行での角度差の増減分を補正して車輪間隔の補正値をより正確に求めることができ、現在位置の算出精度を向上できる。
以上に本発明の好適な実施の形態を説明した。しかし、本発明は上述の実施の形態に限定されず、当業者が本発明の範囲内で上述の実施の形態を変形可能なことはもちろんである。
本発明は、移動しながら周囲の物体を検出する移動ロボットとして有用である。
本発明の実施の形態に係る移動ロボットの機能ブロック図である。 移動ロボットが使用される環境および移動ロボットの外観を示す図である。 記憶部に記憶されている環境地図および既設物情報を示す図である。 車輪特徴量算出の処理を示すフローチャートである。 車輪特徴量算出の処理を示すフローチャートである。 現在位置算出の処理を示すフローチャートである。 現在位置算出の処理を示すフローチャートである。 移動ロボットの進行方向が傾くことによる影響を説明する図である。 進行方向の傾きに基づく車輪間隔更新処理を説明する図である。 進行方向の傾きに基づく車輪径更新処理を説明する図である。 進行方向の傾きに基づく車輪径更新処理を説明する図である。
符号の説明
1 移動ロボット
3 移動手段
5 移動制御部
7 ガイド検出部
9 自己位置検出部
11 障害物検知部
13 障害物判定部
15 記憶部
17 通信部
19 撮像ユニット
21 制御部
31 右輪
33 左輪
35,37 モータ
41 白線検出カメラ
43 画像処理部
51,53 レゾルバ
55 位置算出部
57 車輪情報算出部
61 レーザセンサ
71 経路情報
73 環境地図
75 位置情報
77 車輪情報
81 異常判定部

Claims (2)

  1. 車輪を駆動して複数区間からなる走行経路を移動するロボットであって、
    前記車輪の回転量を計測する回転量検出部と、
    各区間の始点終点間の距離を記憶した経路情報と前記区間毎に設定した車輪径を含む車輪特徴量とを記憶する記憶部と、
    前記走行経路に配設された指示手段を検出する指示手段検出部と、
    前記指示手段検出部の出力に基づき前記各区間の始点と終点を検出する区間判別部と、
    前記走行経路の方向に対する前記移動ロボットの進行方向の傾きを検出する傾き検出部と、
    第一の区間の始点および終点の少なくとも一方において前記傾き検出部により検出される傾きに基づき、前記経路情報上の前記第一の区間の始点終点間の距離を調整する区間距離調整部と、
    前記区間判別部が前記第一の区間の終点を判別すると、該第一の区間の始点終点間で計測された車輪回転量と前記区間距離調整部により調整された距離とに基づき該第一の区間における車輪径の補正値を算出して前記車輪特徴量を更新する車輪情報算出部と、
    前記記憶部に記憶されている現在走行している区間の車輪特徴量と前記車輪の回転量とに基づき現在位置を算出する位置算出部と、
    を具備したことを特徴とする移動ロボット。
  2. 前記記憶部は、前記経路情報として更に予め設定された前記各区間の始点終点間の角度差を記憶するとともに前記車輪特徴量として駆動輪間距離を記憶し、
    さらに、
    第二の区間の始点および終点の少なくとも一方において前記傾き検出部により検出される傾きに基づき、前記経路情報上の前記第二の区間の始点終点間の角度差を調整する角度差調整部を備え、
    前記車輪情報算出部は、前記区間判別部が第二の区間の終点を判別すると、該第二の区間の始点終点間で計測された車輪回転量と前記角度差調整部により調整された角度差と前記記憶部に記憶された車輪径とに基づき車輪特徴量としての駆動輪間距離の補正値を算出して前記車輪特徴量を更新することを特徴とする請求項1に記載の移動ロボット。
JP2005070108A 2005-03-11 2005-03-11 移動ロボット Expired - Fee Related JP4377347B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005070108A JP4377347B2 (ja) 2005-03-11 2005-03-11 移動ロボット

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005070108A JP4377347B2 (ja) 2005-03-11 2005-03-11 移動ロボット

Publications (2)

Publication Number Publication Date
JP2006252350A JP2006252350A (ja) 2006-09-21
JP4377347B2 true JP4377347B2 (ja) 2009-12-02

Family

ID=37092765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005070108A Expired - Fee Related JP4377347B2 (ja) 2005-03-11 2005-03-11 移動ロボット

Country Status (1)

Country Link
JP (1) JP4377347B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4861158B2 (ja) * 2006-12-27 2012-01-25 セコム株式会社 遠隔監視システム
WO2008153122A1 (ja) * 2007-06-13 2008-12-18 Nec Corporation 移動体の移動システムと方法とプログラム
JP5347108B2 (ja) * 2008-09-29 2013-11-20 恩斯邁電子(深▲シン▼)有限公司 自走式機器装置の走行ルート計画方法
JP2011118585A (ja) * 2009-12-02 2011-06-16 Nippon Sharyo Seizo Kaisha Ltd 自動搬送車
JP5429986B2 (ja) * 2009-12-25 2014-02-26 株式会社Ihiエアロスペース 移動ロボットの遠方環境認識装置及び方法
JP6363462B2 (ja) 2014-10-03 2018-07-25 シャープ株式会社 自律走行装置
JP6481347B2 (ja) * 2014-11-28 2019-03-13 村田機械株式会社 移動量推定装置、自律移動体、及び移動量の推定方法
JP6286465B2 (ja) * 2016-03-14 2018-02-28 ヤマハ発動機株式会社 自動走行車両

Also Published As

Publication number Publication date
JP2006252350A (ja) 2006-09-21

Similar Documents

Publication Publication Date Title
JP4377347B2 (ja) 移動ロボット
US5276618A (en) Doorway transit navigational referencing system
JP4368317B2 (ja) 移動ロボット
JP4530996B2 (ja) 移動ロボット
JP5105596B2 (ja) 自律走行移動体の走行経路決定用地図作成装置及び走行経路決定用地図作成方法
JP5310285B2 (ja) 自己位置推定装置及び自己位置推定方法
US20100152944A1 (en) Robot system
JP5278283B2 (ja) 自律移動装置及びその制御方法
JP4377346B2 (ja) 移動ロボット
JP7003224B2 (ja) 自律走行作業機
CN105190461A (zh) 移动体和位置检测装置
JP2009123061A (ja) ロボット位置検出システム
JP2008033760A (ja) 移動ロボット
CN112462749A (zh) 农机自动导航方法、农机自动导航系统以及农机
US11513525B2 (en) Server and method for controlling laser irradiation of movement path of robot, and robot that moves based thereon
JP5218479B2 (ja) 移動体システム
CN110945578A (zh) 车载处理装置
KR101971444B1 (ko) 자동 주행 차량
JP5187757B2 (ja) 無人移動体システム
JP4745160B2 (ja) 移動ロボット
KR100784125B1 (ko) 단일 카메라를 이용한 이동 로봇의 랜드 마크의 좌표 추출방법
JP4745150B2 (ja) 移動ロボット
JP4368318B2 (ja) 移動ロボット
JP5024560B2 (ja) 移動体
JP4745152B2 (ja) 移動ロボット

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080131

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090714

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090901

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090910

R150 Certificate of patent or registration of utility model

Ref document number: 4377347

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130918

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees