JP2008033760A - 移動ロボット - Google Patents
移動ロボット Download PDFInfo
- Publication number
- JP2008033760A JP2008033760A JP2006208235A JP2006208235A JP2008033760A JP 2008033760 A JP2008033760 A JP 2008033760A JP 2006208235 A JP2006208235 A JP 2006208235A JP 2006208235 A JP2006208235 A JP 2006208235A JP 2008033760 A JP2008033760 A JP 2008033760A
- Authority
- JP
- Japan
- Prior art keywords
- section
- road surface
- mobile robot
- wheel
- correction information
- 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.)
- Pending
Links
- 238000012937 correction Methods 0.000 claims abstract description 171
- 238000001514 detection method Methods 0.000 claims abstract description 44
- 238000004364 calculation method Methods 0.000 claims description 51
- 239000003550 marker Substances 0.000 abstract description 23
- 238000005259 measurement Methods 0.000 description 18
- 238000000034 method Methods 0.000 description 18
- 230000005856 abnormality Effects 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005674 electromagnetic induction Effects 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009736 wetting Methods 0.000 description 1
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
【課題】路面の摩擦係数の違いに起因する自己位置算出の誤差を低減して、現在位置を高精度に算出できる移動ロボットを実現する。
【解決手段】複数区間からなる走行経路を車輪6で移動する移動ロボット1は、走行経路の指示マーカ4を検出するガイド検出部10と、指示マーカ4の検出により区間を識別する制御部21と、路面状態判定部23と、現在位置を算出する位置算出部15と、路面の乾湿状態及び区間ごとに位置補正情報を有する記憶部とを具備し、位置算出部は、路面の乾湿状態及び該当区間に対応する位置補正情報により現在位置を補正して算出する。
【選択図】図2
【解決手段】複数区間からなる走行経路を車輪6で移動する移動ロボット1は、走行経路の指示マーカ4を検出するガイド検出部10と、指示マーカ4の検出により区間を識別する制御部21と、路面状態判定部23と、現在位置を算出する位置算出部15と、路面の乾湿状態及び区間ごとに位置補正情報を有する記憶部とを具備し、位置算出部は、路面の乾湿状態及び該当区間に対応する位置補正情報により現在位置を補正して算出する。
【選択図】図2
Description
本発明は、走行路面の障害物を検出しつつ屋外を走行する移動ロボットに関し、特に走行路面が濡れている場合に自己位置の検出精度を確保するための技術に関する。
近年、所定の経路を移動して物品の搬送や異常の監視を行う移動ロボットが供されてきている。このような移動ロボットにおいては、車輪の回転量を計測して、予め入力された車輪半径と左右輪間隔(トレッド)とに基づき、移動距離と移動経路を算出して現在位置を計測することが知られている。
特許文献1には、特に、ガイド手段となる磁気テープに沿って走行するとともに、路面に設けられた番地指定発信器を読み取って右折左折などの旋回制御を行い、車輪の回転量をエンコーダで計測して走行距離から現在位置を算出する無人搬送車が記載されている。
特開平9−6433号公報(図2)
上述した従来の無人搬送車は、エンコーダで計測した車輪の回転量から移動距離を算出しており、このような移動距離算出のためには、予め記憶されている車輪半径が一般に用いられる。また同無人搬送車は、左右輪の走行用モータを制御して旋回制御しており、このような旋回量算出のためには、予め入力された左右車輪間隔が一般に用いられる。
しかし、車輪半径や車輪間距離を使って現在位置を検出する場合には、同じ走行区間であっても、乾湿による路面の摩擦係数の違いにより、車輪のスリップの度合いが異なるため、路面乾燥時と路面が濡れている時で算出される自己位置に誤差が生じてしまう場合があるという問題があった。
また、この種の移動ロボットの移動手段は車輪に限ったものではなく、例えば2脚又はこれ以上の脚数の歩行脚を有する脚歩行式のものや、無限軌道を備えたクローラ式のものなどもある。そして、これらの車輪走行式以外の移動手段においても、上述した問題点と同様に、乾湿による路面の摩擦係数の違いによって当該移動手段と走行面との間にスリップが生じ、算出される自己位置に誤差が生じることがあるという問題点があった。
そこで、本発明は、上記問題に鑑みてなされたものであり、路面の乾湿等の状態の違いにより路面の摩擦係数が異なる等の路面状況の違いに起因する自己位置算出の誤差を低減して、現在位置を高精度に算出できる移動ロボットを実現することを目的とする。
請求項1に記載された移動ロボットは、
走行経路を移動手段により移動する移動ロボットであって、
路面の乾湿状態を判定する路面状態判定部と、
現在位置を算出する位置算出部と、
前記移動ロボットの位置を補正するための位置補正情報を前記路面の乾湿状態に対応して予め記憶した記憶部とを具備し、
前記位置算出部は、前記路面状態判定部が判定した前記路面の乾湿状態に対応する前記位置補正情報を前記記憶部から呼び出し、該位置補正情報により現在位置を算出することを特徴としている。
走行経路を移動手段により移動する移動ロボットであって、
路面の乾湿状態を判定する路面状態判定部と、
現在位置を算出する位置算出部と、
前記移動ロボットの位置を補正するための位置補正情報を前記路面の乾湿状態に対応して予め記憶した記憶部とを具備し、
前記位置算出部は、前記路面状態判定部が判定した前記路面の乾湿状態に対応する前記位置補正情報を前記記憶部から呼び出し、該位置補正情報により現在位置を算出することを特徴としている。
請求項2に記載された移動ロボットは、請求項1に記載の移動ロボットにおいて、
更に、前記走行経路に配設されて該走行経路における区間の区切りとなる地点指示手段を検出する指示手段検出部と、
前記指示手段検出部の出力に基づき前記区間の始点と終点を検出して前記区間を判別する区間判別部とを備え、
前記記憶部は、前記位置補正情報を前記区間ごとに前記路面の乾湿状態に対応して予め記憶し、
前記位置算出部は、前記路面状態判定部が判定した前記路面の乾湿状態及び前記区間判別部が判別した前記区間に対応する前記位置補正情報を前記記憶部から呼び出し、該位置補正情報により現在位置を算出することを特徴としている。
更に、前記走行経路に配設されて該走行経路における区間の区切りとなる地点指示手段を検出する指示手段検出部と、
前記指示手段検出部の出力に基づき前記区間の始点と終点を検出して前記区間を判別する区間判別部とを備え、
前記記憶部は、前記位置補正情報を前記区間ごとに前記路面の乾湿状態に対応して予め記憶し、
前記位置算出部は、前記路面状態判定部が判定した前記路面の乾湿状態及び前記区間判別部が判別した前記区間に対応する前記位置補正情報を前記記憶部から呼び出し、該位置補正情報により現在位置を算出することを特徴としている。
請求項3に記載された移動ロボットは、請求項1または2に記載の移動ロボットにおいて、
前記移動手段としての車輪と、前記車輪の回転量を検出する回転量検出部とを備え、
前記位置算出部は、前記車輪の回転量から走行距離を算出する算定式を前記位置補正情報により補正し、算出された走行距離から前記現在位置を算出することを特徴としている。
前記移動手段としての車輪と、前記車輪の回転量を検出する回転量検出部とを備え、
前記位置算出部は、前記車輪の回転量から走行距離を算出する算定式を前記位置補正情報により補正し、算出された走行距離から前記現在位置を算出することを特徴としている。
請求項4に記載された移動ロボットは、請求項3に記載の移動ロボットにおいて、
前記車輪として、少なくとも一対の駆動輪を有し、
前記位置補正情報は、前記各駆動輪の径データを補正する径補正係数と前記各駆動輪間の車輪間隔データを補正する間隔補正係数とを前記路面の乾湿状態に対応して前記区間ごとに記憶し、
前記位置算出部は、前記各駆動輪ごとの回転量と前記径補正係数で補正される径データとから各駆動輪ごとの走行距離を算出するとともに、該走行距離と前記間隔補正係数で補正される車輪間隔とから旋回量を算出して現在位置を求めることを特徴としている。
前記車輪として、少なくとも一対の駆動輪を有し、
前記位置補正情報は、前記各駆動輪の径データを補正する径補正係数と前記各駆動輪間の車輪間隔データを補正する間隔補正係数とを前記路面の乾湿状態に対応して前記区間ごとに記憶し、
前記位置算出部は、前記各駆動輪ごとの回転量と前記径補正係数で補正される径データとから各駆動輪ごとの走行距離を算出するとともに、該走行距離と前記間隔補正係数で補正される車輪間隔とから旋回量を算出して現在位置を求めることを特徴としている。
請求項5に記載された移動ロボットは、請求項2乃至4の何れか一つに記載の移動ロボットにおいて、
さらに、走行が終了した区間の前記位置補正情報を、当該区間において前記路面状態判定部が判定した路面の乾湿状態に応じて、当該区間における前記移動手段の駆動量と当該区間の実距離を用いて更新する位置補正情報算出部を有することを特徴としている。
さらに、走行が終了した区間の前記位置補正情報を、当該区間において前記路面状態判定部が判定した路面の乾湿状態に応じて、当該区間における前記移動手段の駆動量と当該区間の実距離を用いて更新する位置補正情報算出部を有することを特徴としている。
請求項6に記載された移動ロボットは、
複数区間からなる走行経路を移動手段により移動する移動ロボットであって、
前記走行経路に配設された地点指示手段を検出する指示手段検出部と、
前記指示手段検出部の出力に基づき前記各区間の始点と終点を検出して前記各区間を判別する区間判別部と、
前記区間ごとに前記移動ロボットの位置を補正するための位置補正情報を予め記憶した記憶部と、
前記区間判別部が識別した前記区間に対応する前記位置補正情報を前記記憶部から呼び出して、現在移動している前記区間における前記移動ロボットの現在位置を前記位置補正情報により補正して算出する位置算出部と、
路面の乾湿状態を判定する路面状態判定部と、
走行が終了した区間における前記移動手段の駆動量と当該区間の実距離を用いて新たな位置補正情報を算出し、当該新たな位置補正情報と、前記路面状態判定部が判定した前記路面の湿れ度合いに応じて予め定められた重み係数とにより、前記記憶部に記憶された当該区間の位置補正情報を更新する位置補正情報算出部と、
を有することを特徴としている。
複数区間からなる走行経路を移動手段により移動する移動ロボットであって、
前記走行経路に配設された地点指示手段を検出する指示手段検出部と、
前記指示手段検出部の出力に基づき前記各区間の始点と終点を検出して前記各区間を判別する区間判別部と、
前記区間ごとに前記移動ロボットの位置を補正するための位置補正情報を予め記憶した記憶部と、
前記区間判別部が識別した前記区間に対応する前記位置補正情報を前記記憶部から呼び出して、現在移動している前記区間における前記移動ロボットの現在位置を前記位置補正情報により補正して算出する位置算出部と、
路面の乾湿状態を判定する路面状態判定部と、
走行が終了した区間における前記移動手段の駆動量と当該区間の実距離を用いて新たな位置補正情報を算出し、当該新たな位置補正情報と、前記路面状態判定部が判定した前記路面の湿れ度合いに応じて予め定められた重み係数とにより、前記記憶部に記憶された当該区間の位置補正情報を更新する位置補正情報算出部と、
を有することを特徴としている。
本発明に係る移動ロボットによれば、路面の摩擦係数が異なる状況に対応し、現在位置算出の精度を向上できるという効果がある。
さらに、移動手段が車輪である場合には、車輪の回転量から現在位置を算出する算定式を補正することにより移動ロボットの現在位置を補正することができる。
さらに、移動手段が一対の駆動用の車輪を有している場合において、各車輪の基準径と、各車輪の各基準径の径補正係数と、両車輪の基準間隔と、両車輪の基準間隔の間隔補正係数とにより、車輪の回転量から得られる現在位置を補正することができる。
さらに、ある区間の走行が終了した後に、当該区間の位置補正情報を、当該区間の路面の乾湿状態と当該区間での走行実績により更新することとすれば、常に最も確度の高い情報を根拠として現在位置の補正を行うことができ、現在位置の算出をより一層高精度に行うことができる。
また、本発明に係る移動ロボットによれば、移動ロボットの位置を補正するための位置補正情報として、単一種類の情報を区間ごとに用意しておけば、位置補正情報により現在位置を補正して当該区間の走行が終了した後に、当該区間における走行実績と当該区間の実距離を用いて新たな位置補正情報を算出し、この新たな位置補正情報と前の位置補正情報とを路面の湿れ度合いに応じた重み係数により適当な比率でブレンドして最新の位置補正情報とすることができ、これを確度の高い位置補正情報として現在位置の補正に用いることができるので、現在位置の算出を高精度に行うことができる。
1.全体の構成(図1)
図1は、本発明の一実施形態に係る移動ロボット1が利用される環境である監視区域の平面図と、同移動ロボット1の外観を示す斜視図である。
この移動ロボット1は、例えば警備目的のために使用される自律移動型のロボットであり、監視区域内の所定経路を巡回しながら図示しない異常判定用のセンサや撮像ユニット7、レーザセンサ2にて監視区域内の異常の検出を行うものである。
図1は、本発明の一実施形態に係る移動ロボット1が利用される環境である監視区域の平面図と、同移動ロボット1の外観を示す斜視図である。
この移動ロボット1は、例えば警備目的のために使用される自律移動型のロボットであり、監視区域内の所定経路を巡回しながら図示しない異常判定用のセンサや撮像ユニット7、レーザセンサ2にて監視区域内の異常の検出を行うものである。
図1(a)において、建物の周囲が、予め設定された移動ロボット1が巡回する移動経路とされており、その移動経路の全長にわたってガイド手段としての白線テープ3が固定的に設けられている。監視区域は、建物と、この建物の周囲を一周するように設定された白線テープ3を含む所定面積の範囲とされている。
また経路中の所定の地点には、白線テープ3の近傍に地点指示手段としての指示マーカ4が固定的に配置されている。指示マーカ4は、白色矩形のマークとして移動経路上に設定された走行区間の境界に設けられており、移動経路上に設定された走行区間や指示マーカ4が設定された地点を移動ロボット1に指示するものである。
また、白線テープ3の中途には、移動ロボット1による監視巡回行動の1サイクルにおける開始地点(出発点)及び終了地点(到着点)となり、ロボット不使用時の格納庫であるとともに、さらに移動ロボット1のバッテリーを充電する充電装置を備えたロボットボックス5が配置されている。
なお、図1には示さないが、例えば前記建物内のセキュリティー関連部署等には監視センタが設置されている。この監視センタには、本例の移動ロボット1及びこれに関連するシステムを運用するための管制装置等が配置されており、係員がその運用に当たる。
図1(b)にその外観を示すように、移動ロボット1は、移動手段である左右の車輪6で前記白線テープ3に沿って走行しつつ、本体の正面側に装備した障害物検知手段としてのレーザセンサ2により、移動方向前方の監視区域を図示一点鎖線で示すように走査する。本体の上部には、全周囲を撮像できる撮像ユニット7が装備されており、レーザセンサ2等によって異常を発見した場合やその他必要な場合に周囲の必要な位置の画像を撮像できるようになっている。
そして、この移動ロボット1は、監視巡回行動中に監視区域内で異常を検出すると、遠隔の前記監視センタに撮像画像とともに異常信号を送出する。監視センタでは、異常信号を受信すると、受信した撮像画像を表示して異常の確認を行い、移動ロボット1を遠隔操作して異常対処を行う。
2.移動ロボット1の構成(図1及び図2)
図2は、本例の移動ロボット1の具体的な構成を示す機能ブロック図である。
この移動ロボット1は、移動手段6,8、ガイド検出部10、移動制御部9、自己位置検出部13、測距センサ16、記憶部17、処理部18、撮像ユニット7、通信部20及びこれら各部を制御する制御部21、各部に電力を供給する電源部22を有している。以下に各部ごとに説明する。
図2は、本例の移動ロボット1の具体的な構成を示す機能ブロック図である。
この移動ロボット1は、移動手段6,8、ガイド検出部10、移動制御部9、自己位置検出部13、測距センサ16、記憶部17、処理部18、撮像ユニット7、通信部20及びこれら各部を制御する制御部21、各部に電力を供給する電源部22を有している。以下に各部ごとに説明する。
(1) 移動手段
移動ロボット1は図1(b)に示すように4つの車輪6を有しており、それらのうち右前輪6、左前輪6の2つが駆動輪として機能する。移動手段は、右前輪6,左前輪6と左右各前輪6を独立に駆動する2つのモータ8で構成されており、左右各前輪6の回転速度により直進走行速度、旋回走行速度が制御され、旋回方向も制御される。この左右各前輪6の回転速度は移動制御部9により制御される。なお、左右前輪6を独立に制御する代わりに、舵角を制御して旋回速度を制御する方式でもよいし、車輪駆動でなく、左右のクローラを独立に制御する方式や左右の脚歩行装置を制御する方式でもよい。
移動ロボット1は図1(b)に示すように4つの車輪6を有しており、それらのうち右前輪6、左前輪6の2つが駆動輪として機能する。移動手段は、右前輪6,左前輪6と左右各前輪6を独立に駆動する2つのモータ8で構成されており、左右各前輪6の回転速度により直進走行速度、旋回走行速度が制御され、旋回方向も制御される。この左右各前輪6の回転速度は移動制御部9により制御される。なお、左右前輪6を独立に制御する代わりに、舵角を制御して旋回速度を制御する方式でもよいし、車輪駆動でなく、左右のクローラを独立に制御する方式や左右の脚歩行装置を制御する方式でもよい。
(2) ガイド検出部
ガイド検出部10は、移動経路上のガイド手段である前述した白線テープ3を検出するとともに、前記指示マーカ4を検出する指示手段検出部である。
ガイド検出部10は、白線検出カメラ11と路面情報抽出部12とから成る。白線検出カメラ11は、走行路面を撮影可能な様に移動ロボット1の底面に設置されている。路面情報抽出部12は、エッジ抽出やハフ変換などの処理により、白線検出カメラ11の撮影画像から、移動ロボット1の経路を誘導すべき白線テープ3及び指示マーカ4を検出して制御部21に出力する。
ガイド検出部10は、移動経路上のガイド手段である前述した白線テープ3を検出するとともに、前記指示マーカ4を検出する指示手段検出部である。
ガイド検出部10は、白線検出カメラ11と路面情報抽出部12とから成る。白線検出カメラ11は、走行路面を撮影可能な様に移動ロボット1の底面に設置されている。路面情報抽出部12は、エッジ抽出やハフ変換などの処理により、白線検出カメラ11の撮影画像から、移動ロボット1の経路を誘導すべき白線テープ3及び指示マーカ4を検出して制御部21に出力する。
なお、ガイド検出部10は、磁気センサ、電磁誘導センサなどで構成されても良く、それぞれ移動経路に設置されたガイド手段としての磁気ガイド、電磁誘導ガイドを検出するようにすることもできる。ガイド手段及びガイド検出部は設置する環境により選択できるようにすることが好ましい。
(3) 移動制御部
移動制御部9は、移動手段の車輪6を駆動するモータ8を制御するための手段である。移動制御部9は、ガイド検出部10による白線テープ3の検知出力に応じて、例えば周知のPID制御などにより、移動ロボット1が白線テープ3に沿って移動するようモータ8を制御する。また、移動制御部9は、後述する自己位置検出部13の位置算出部15による走行区間の検出に応じて、予め設定された経路情報に基づき移動速度を制御し、位置算出部15による特定地点の検出に応じて走行停止する。
移動制御部9は、移動手段の車輪6を駆動するモータ8を制御するための手段である。移動制御部9は、ガイド検出部10による白線テープ3の検知出力に応じて、例えば周知のPID制御などにより、移動ロボット1が白線テープ3に沿って移動するようモータ8を制御する。また、移動制御部9は、後述する自己位置検出部13の位置算出部15による走行区間の検出に応じて、予め設定された経路情報に基づき移動速度を制御し、位置算出部15による特定地点の検出に応じて走行停止する。
(4) 自己位置検出部
自己位置検出部13は、前記移動手段の各モータ8にそれぞれ設置された回転量検出部としてのレゾルバ14と、各レゾルバ14にそれぞれ接続されて移動ロボットの現在位置を算出する位置算出部15からなる。自己位置検出部13は、さらに移動ロボットの位置を補正するための位置補正情報(移動手段が車輪である本例では車輪情報)を算出する位置補正情報算出部として、車輪情報算出部24を備えている。レゾルバ14はモータ8の回転軸の絶対位置をそれぞれ検出する。位置算出部15はレゾルバ14の出力から得られるモータ8の回転軸の回転量から左右各前輪6それぞれの回転量を算出し、左右各前輪6それぞれの回転量と、車輪情報である車輪半径から算出された左右各前輪6の走行距離の平均から移動ロボット1の走行距離を算出する。
自己位置検出部13は、前記移動手段の各モータ8にそれぞれ設置された回転量検出部としてのレゾルバ14と、各レゾルバ14にそれぞれ接続されて移動ロボットの現在位置を算出する位置算出部15からなる。自己位置検出部13は、さらに移動ロボットの位置を補正するための位置補正情報(移動手段が車輪である本例では車輪情報)を算出する位置補正情報算出部として、車輪情報算出部24を備えている。レゾルバ14はモータ8の回転軸の絶対位置をそれぞれ検出する。位置算出部15はレゾルバ14の出力から得られるモータ8の回転軸の回転量から左右各前輪6それぞれの回転量を算出し、左右各前輪6それぞれの回転量と、車輪情報である車輪半径から算出された左右各前輪6の走行距離の平均から移動ロボット1の走行距離を算出する。
位置算出部15は左右各前輪それぞれの回転量の差と車輪間隔から移動ロボットの姿勢(向き)の変化を算出して左右各前輪による走行距離と姿勢変化からデッドレコニングにより自己位置を算出する。
また、自己位置算出部13は、ガイド検出部10による指示マーカ4の検知出力に応じて、指示マーカ4の検知回数を計数し、経路情報に基づき現在の走行区間を検出するとともに、自己位置の補正などを行う。
また、前記車輪情報算出部24は、移動ロボット1がある区間の走行を終了する度に、当該区間における前記左右輪それぞれの回転量と当該区間の実距離を示す後述する経路情報とを用いて車輪情報を算出し、後述する路面状態判定部23が判定した当該区間の路面の乾湿状態に対応して後述する記憶部17に記憶されている当該区間の車輪情報を更新する。
本実施形態の車輪情報とは、移動ロボット1に固有の基準値である前記各駆動輪の基準径と、前記各駆動輪の各基準径の径補正係数と、移動ロボット1に固有の基準値である前記両駆動輪の基準間隔と、前記両駆動輪の基準間隔の間隔補正係数であり、そのうち補正係数は、区間ごと、路面の乾湿各々の状態ごとに設定されている。なお、前記基準径と前記径補正係数を乗じた値及び前記基準間隔と前記間隔補正係数を乗じた値を、車輪情報算出部24で算出される車輪情報とすることもできる。
そして、前記位置算出部15は、後述する路面状態判定部23が判定した路面の乾湿状態と、当該区間に対応する車輪情報を記憶部17から呼び出し、これを用いて前記左右各前輪6の回転量から現在位置を補正して算出する。すなわち、これらの補正された車輪径及び補正された車輪間隔が位置算出部15での走行制御の現在位置と姿勢の算出に使用される。
また、移動ロボット1がある区間の走行を終了する度に、当該区間における前記左右輪それぞれの回転量と当該区間の実距離を基として前記車輪情報算出部24が更新する当該区間の車輪情報は、前記各車輪の各基準径の径補正係数と、前記両車輪の基準間隔の間隔補正係数である。すなわち、車輪情報算出部24は、後述するように区間判別部である制御部による区間の判別に応答して、区間の始点終点で計測された車輪回転量から上記の計算処理を行う。
(5) 測距センサ
測距センサ16は、移動ロボット1の前方を走査して走行路面の状態、走行路面上の異物その他の被検出対象を検出するための手段である。
測距センサ16は、図3に示すように移動ロボット1の本体の前面側に、進行方向の前方下方に向けて設置されたレーザセンサ2からなり、レーザ発振器より照射されるレーザ光が光路上にある物体にて反射した際の反射光を受光する。測距センサ16は、走査鏡とこの走査鏡を回転駆動する手段とによりレーザ発振器から発射されるレーザ光の照射方向を制御して、移動ロボット1の前方を含む所定の範囲を所定の走査周期(例えば33ms)で空間走査している。
測距センサ16は、移動ロボット1の前方を走査して走行路面の状態、走行路面上の異物その他の被検出対象を検出するための手段である。
測距センサ16は、図3に示すように移動ロボット1の本体の前面側に、進行方向の前方下方に向けて設置されたレーザセンサ2からなり、レーザ発振器より照射されるレーザ光が光路上にある物体にて反射した際の反射光を受光する。測距センサ16は、走査鏡とこの走査鏡を回転駆動する手段とによりレーザ発振器から発射されるレーザ光の照射方向を制御して、移動ロボット1の前方を含む所定の範囲を所定の走査周期(例えば33ms)で空間走査している。
なお、図3(a)には、本例の移動ロボット1におけるレーザセンサ2と測定点との幾何学的位置関係を示し、図3(b)には、同レーザセンサ2の走査角度範囲Φで示すセンシングエリア(斜線領域)及び同エリア内におけるセンサ測定データ数についての一例を示した。図示したように、本例ではレーザセンサ2によるセンシングエリアとして移動ロボット1の正面140°を設定し、走査鏡を0.5°ずつ回転させてセンシングエリアを走査している。これによりレーザセンサ2による一周期の走査で281個の測定点のデータが所得される。
そして、測距センサ16はレーザ光の照射から反射光検出までの時間により算出される測距センサ16とレーザ光を反射した物体(測定点)との距離値と、回転駆動される走査鏡の角度とにより、レーザ光を反射した物体(測定点)の相対位置を算出する。相対位置は、移動ロボット1を基準とした測定点の位置(距離値、角度)である。測距センサ16はレーザセンサ2が一周期走査するごとに測定結果を出力する。
なお、測距センサ16はレーザセンサ以外のセンサで構成されてもよい。例えば、測距センサ16は赤外線タイプのセンサで構成されてもよく、ミリ波レーダタイプのセンサで構成されてもよい。また、走査鏡により走査する構成に限らず、移動ロボットの周囲所定角度毎に複数の投受光部を設けて、各投受光部を所定周期で作動させることにより、周囲下方の路面や障害物までの距離値を得るよう構成されてもよい。この場合、測距センサ16は各投受光部の測定結果をまとめて出力する。
(6) 記憶部
記憶部17は、移動ロボット1の各種処理に使用される情報を記憶している。記憶部17が記憶する情報には、以下1)〜3)のものが含まれる。
1)移動経路の情報を示した経路情報
2)位置算出部により算出された移動ロボット1の位置情報
3)位置補正情報としての車輪情報
記憶部17は、移動ロボット1の各種処理に使用される情報を記憶している。記憶部17が記憶する情報には、以下1)〜3)のものが含まれる。
1)移動経路の情報を示した経路情報
2)位置算出部により算出された移動ロボット1の位置情報
3)位置補正情報としての車輪情報
1)の経路情報は、走行経路中の各区間(ある指示マーカ4から次の指示マーカ4までの区間)番号に対応して、区間内での走行速度、予め測量した区間距離、区間の始点終点間の方位角の差(角度差)、各指示マーカ4上での移動ロボット1の動作等が記憶されている。経路情報では、区間番号が、該当区間までに検出されるべき指示マーカ4の数(検出回数)と対応付けられている。走行制御では、指示マーカ4の検出回数から区間番号や指示マーカ4上での移動ロボット1の動作が特定されることとなる。
2)の位置情報は、自己位置算出部13の位置算出部15によって算出された移動ロボット1の位置と姿勢である。
位置および姿勢は、下記の車輪情報を使って車輪回転量から算出される。
位置および姿勢は、下記の車輪情報を使って車輪回転量から算出される。
3)の車輪情報は、前述したように、前記各駆動輪の基準径と、前記各駆動輪の各基準径の径補正係数と、前記両駆動輪の基準間隔と、前記両駆動輪の基準間隔の間隔補正係数である。
基準径と基準間隔は固定の値である。これに対して、径補正係数及び間隔補正係数は、車輪の空気圧や磨耗などによる変化や各区間の路面形状などの諸条件を反映して随時書き換えられるものである。従って、車輪情報算出部24で算出される車輪径及び車輪間隔の補正値は、前記諸条件を反映した車輪半径および車輪間隔を提供するものであり、さらに、路面が濡れているか、乾燥かに応じて異なる値が記憶されている。
(7) 処理部
処理部18は路面状態判定部23と障害物判定部19を備えている。路面状態判定部23は、測距センサ16の出力結果に基づき路面状態が乾燥しているか、濡れているかを判定し、判定結果を制御部21に出力する。障害物判定部19は、測距センサ16の出力に基づき異常の有無を判定する。障害物判定部19は、測距センサ16の一周期の走査結果として出力されたデータに含まれる距離値の差を閾値と比較して、所定以上の高さを持つ障害物が存在するか否かを判定する。そして、移動ロボット1の走行に支障を与える高さの障害物が検出され異常と判定されると、後述する通信部20より異常信号が出力され、また、移動制御部9が移動ロボット1の停止や減速などの予め定められた処理を行う。なお、本例では、測距センサ16の出力結果から路面の濡れを判定しているが、路面の濡れを判定する手段を別途設けてもよい。この場合、測距センサ16としてのレーザセンサ2の反射波から判定する方法に限られず超音波、赤外線の反射波、或いは画像解析、車輪から発生する走行音の違いを解析するなどにより判定してもよい。
処理部18は路面状態判定部23と障害物判定部19を備えている。路面状態判定部23は、測距センサ16の出力結果に基づき路面状態が乾燥しているか、濡れているかを判定し、判定結果を制御部21に出力する。障害物判定部19は、測距センサ16の出力に基づき異常の有無を判定する。障害物判定部19は、測距センサ16の一周期の走査結果として出力されたデータに含まれる距離値の差を閾値と比較して、所定以上の高さを持つ障害物が存在するか否かを判定する。そして、移動ロボット1の走行に支障を与える高さの障害物が検出され異常と判定されると、後述する通信部20より異常信号が出力され、また、移動制御部9が移動ロボット1の停止や減速などの予め定められた処理を行う。なお、本例では、測距センサ16の出力結果から路面の濡れを判定しているが、路面の濡れを判定する手段を別途設けてもよい。この場合、測距センサ16としてのレーザセンサ2の反射波から判定する方法に限られず超音波、赤外線の反射波、或いは画像解析、車輪から発生する走行音の違いを解析するなどにより判定してもよい。
(8) 撮像ユニット
撮像ユニット7は、移動ロボット1の本体上面に搭載されて移動ロボット1の周囲を撮像する手段である。本例では、複数のカメラを周方向に外向きに並べて全周をカバーするようにしている。
撮像ユニット7は、移動ロボット1の本体上面に搭載されて移動ロボット1の周囲を撮像する手段である。本例では、複数のカメラを周方向に外向きに並べて全周をカバーするようにしている。
(9) 通信部
通信部20は、遠隔の監視センタと信号を送受信する無線通信手段である。通信部20は、移動ロボット1が監視領域内で異常を検知した場合、遠隔の監視センタに無線等で異常信号を出力する。また、通信部20は、撮像ユニット7が撮像した画像と自己位置検出部13が算出した移動ロボット1の位置を遠隔の監視センタに送信し、監視センタから送信された制御コマンドの信号を受信して後述する制御部21に入力する。
通信部20は、遠隔の監視センタと信号を送受信する無線通信手段である。通信部20は、移動ロボット1が監視領域内で異常を検知した場合、遠隔の監視センタに無線等で異常信号を出力する。また、通信部20は、撮像ユニット7が撮像した画像と自己位置検出部13が算出した移動ロボット1の位置を遠隔の監視センタに送信し、監視センタから送信された制御コマンドの信号を受信して後述する制御部21に入力する。
(10)制御部
制御部21は、移動ロボット1の各構成部分を統括的に制御する手段であり、CPU等を備えたコンピュータで構成される。
制御部21は、移動ロボット1の各構成部分を統括的に制御する手段であり、CPU等を備えたコンピュータで構成される。
なお、上述した各部の構成で、その機能がコンピュータ処理によって実現可能なものは、同コンピュータで実現されてよい。例えば、路面情報抽出部12、位置算出部15、移動制御部9、路面状態判定部23、障害物判定部19及び車輪情報算出部24などは同コンピュータで実現されてよい。また、記憶部17は、同コンピュータのメモリおよび外部記憶装置などで実現されてよい。
3.移動ロボットの動作
本実施の形態に係る移動ロボットの動作を説明する。ここでは、まず、移動ロボット1の全体的な動作の概要を説明し、それから位置補正情報を求める動作を説明する。
移動ロボット1は、図示しない計時手段によって予め設定された巡回開始時刻の到来を検知したときや、操作部からの入力、又は監視センタからのコマンドを受信することにより巡回モードに設定され、ガイド検出部10からの信号を入力とし、移動制御部9により移動手段(車輪6及びモータ8)を制御し、ガイド手段である白線テープ3に沿って移動を開始する。白線テープ3が白線検出カメラ11で撮像した画像から検出され、そして白線テープ3が常に画像の所定位置で所定角度を向くように、移動制御部9が両モータ8の回転を独立して制御する。本実施の形態では、白線テープ3が画像の中央で上下方向を向くように移動制御部9が動作する。また、指示マーカ4の検出に基づき、記憶部17の経路情報を参照して現在の移動区間と走行速度が求められ、走行速度に応じてモータ回転が制御される。
本実施の形態に係る移動ロボットの動作を説明する。ここでは、まず、移動ロボット1の全体的な動作の概要を説明し、それから位置補正情報を求める動作を説明する。
移動ロボット1は、図示しない計時手段によって予め設定された巡回開始時刻の到来を検知したときや、操作部からの入力、又は監視センタからのコマンドを受信することにより巡回モードに設定され、ガイド検出部10からの信号を入力とし、移動制御部9により移動手段(車輪6及びモータ8)を制御し、ガイド手段である白線テープ3に沿って移動を開始する。白線テープ3が白線検出カメラ11で撮像した画像から検出され、そして白線テープ3が常に画像の所定位置で所定角度を向くように、移動制御部9が両モータ8の回転を独立して制御する。本実施の形態では、白線テープ3が画像の中央で上下方向を向くように移動制御部9が動作する。また、指示マーカ4の検出に基づき、記憶部17の経路情報を参照して現在の移動区間と走行速度が求められ、走行速度に応じてモータ回転が制御される。
移動ロボット1は、移動を開始すると測距センサ16を作動させて前方を空間走査する。測距センサ16は反射光を検出すると、測定点の距離計測データを出力する。この距離計測データは、レーザ光の照射方向を示す角度であり、図3に示すように、移動ロボット1の前方の所定範囲の路面を測距センサ16が走査するものとする。測距センサ16は所定の時間間隔で測定データを出力する。
障害物判定部19は、測距センサ16からの入力を受けると障害物の有無を判定する。
また路面状態判定部23は、測距センサ16からの入力を受けると路面の状態を判定する。このような障害物判定と路面状態の判定を行いながら、移動ロボット1は移動経路の終点まで走行する。
また路面状態判定部23は、測距センサ16からの入力を受けると路面の状態を判定する。このような障害物判定と路面状態の判定を行いながら、移動ロボット1は移動経路の終点まで走行する。
図4は、第一の実施形態の動作を説明するフローチャートである。本実施形態は、過去に距離が既知の区間を走行したときに算出された位置補正情報を走行距離の補正のために用い、路面が濡れているか否かに応じて、異なる位置補正情報を使用するものである。
以下の説明において車輪Aが右の駆動輪、車輪Bが左の駆動輪として説明する。
以下の説明において車輪Aが右の駆動輪、車輪Bが左の駆動輪として説明する。
S01では移動ロボット1(台車)の初期状態の設定を行なう。具体的には以下を行う。
・移動ロボット1の位置座標、姿勢を下記のようなホームポジションに初期化する。ホームポジションは移動ロボット1の待機場所で充電台のある位置(前記ロボットボックス5)である。
位置:(X0、Y0)
姿勢:θ0
・濡れ路面カウンタを0にする。濡れ路面カウンタは、レーザセンサ2を走査して得られた路面が濡れているか否かの情報を路面状態判定部23から所定周期毎に取得して濡れ路面を検出するとカウントアップする。
・区間番号を1に初期化する。区間番号は、指示マーカ4を検出するごとにカウントアップする。
・移動ロボット1の位置座標、姿勢を下記のようなホームポジションに初期化する。ホームポジションは移動ロボット1の待機場所で充電台のある位置(前記ロボットボックス5)である。
位置:(X0、Y0)
姿勢:θ0
・濡れ路面カウンタを0にする。濡れ路面カウンタは、レーザセンサ2を走査して得られた路面が濡れているか否かの情報を路面状態判定部23から所定周期毎に取得して濡れ路面を検出するとカウントアップする。
・区間番号を1に初期化する。区間番号は、指示マーカ4を検出するごとにカウントアップする。
次にS02ではレゾルバ14により左右輪の駆動軸の絶対位置を計測し、計測した値(例えば回転角の値)を下記のように記憶する。
車輪A絶対位置:La(0)
車輪B絶対位置:Lb(0)
車輪A絶対位置:La(0)
車輪B絶対位置:Lb(0)
次にS03では最初の区間の経路情報及び車輪情報を記憶部17から読み出す。
経路情報には例えば以下が含まれる。
・区間番号
・区間距離D、区間nの始点終点間の角度差(旋回角)φ
・指示マーカ4の座標
・区間が直線であるかカーブであるか
・走行速度(上限速度)
また、車輪情報には以下が含まれる。
・車輪A、Bの基準径(固有値):Ra、Rb
・両車輪の基準間隔(固有値):W
・車輪Aの径補正係数、車輪Bの径補正係数、車輪の間隔補正係数(乾燥時)(Cad,Cbd,Cwd )
・車輪Aの径補正係数、車輪Bの径補正係数、車輪の間隔補正係数(湿潤時)(Caw 、Cbw 、Cww )
なお、上記車輪情報は区間番号と関連付けて区間ごとに設定されている。
経路情報には例えば以下が含まれる。
・区間番号
・区間距離D、区間nの始点終点間の角度差(旋回角)φ
・指示マーカ4の座標
・区間が直線であるかカーブであるか
・走行速度(上限速度)
また、車輪情報には以下が含まれる。
・車輪A、Bの基準径(固有値):Ra、Rb
・両車輪の基準間隔(固有値):W
・車輪Aの径補正係数、車輪Bの径補正係数、車輪の間隔補正係数(乾燥時)(Cad,Cbd,Cwd )
・車輪Aの径補正係数、車輪Bの径補正係数、車輪の間隔補正係数(湿潤時)(Caw 、Cbw 、Cww )
なお、上記車輪情報は区間番号と関連付けて区間ごとに設定されている。
次にS04では走行路前方路面が濡れているか否かの情報を制御部21を介して路面状態判定部23から取得する。路面が濡れているかの判定結果は、レーザセンサ2の周期ごとに取得してもよいし、レーザセンサ2の周期より長い所定間隔ごとに取得してもよい。又、本実施形態では、図3に示すように移動ロボット1の斜め前方をレーザセンサ2で走査している為、走査した地点を移動ロボット1の駆動輪が通過する時に当該地点の情報が取得できるよう、時間遅れを設けるようにするのが好ましい。
路面状態はレーザセンサ2の走査の結果より判定され、図8はそのフローチャートを示す。説明は後述する。尚、路面状態の判定は、レーザセンサの走査結果を用いたものに限られず、超音波、赤外線の反射波、或いは画像解析、車輪走行音解析などにより判定しても良い。
路面状態はレーザセンサ2の走査の結果より判定され、図8はそのフローチャートを示す。説明は後述する。尚、路面状態の判定は、レーザセンサの走査結果を用いたものに限られず、超音波、赤外線の反射波、或いは画像解析、車輪走行音解析などにより判定しても良い。
次にS05では路面が濡れていると判定した場合(S04でYES)、濡れ路面カウンタをインクリメントする。
次にS06で車輪Aの径補正係数Ca、車輪Bの径補正係数Cb、車輪の間隔補正係数Cwとして濡れ路面用の値を選択する。即ち、補正係数Ca、Cb、Cwに下記の値を代入する
Ca=Caw 、Cb=Cbw 、Cw=Cww
Ca=Caw 、Cb=Cbw 、Cw=Cww
他方、S04で路面が乾いていると判定した場合(S04でNO)、S07で補正係数として下記のように乾燥路面用の値を代入する。
Ca=Cad 、Cb=Cbd 、Cw=Cwd
Ca=Cad 、Cb=Cbd 、Cw=Cwd
S08ではレゾルバ14により左右輪軸の絶対位置を計測し、下記のように計測した値を記憶する。ここでkは、レゾルバ14で計測を行う周期ごとにインクリメントされ、記憶部には現在の周期と、一周期前の値が記憶され、それ以前の値は順次消去される。以後、出てくる(k) を付したパラメータも同様である。
車輪A絶対位置:La(k)
車輪B絶対位置:Lb(k)
車輪A絶対位置:La(k)
車輪B絶対位置:Lb(k)
S09では左右輪の回転量を算出する。具体的には、S08で計測記憶した現在の左右輪軸の絶対位置と1周期前に記憶した絶対位置の差分より下記のように算出する。
車輪A回転量:Δθa(k)(=La(k)−La(k−1))
La(k−1):1周期前の車輪Aの絶対位置
車輪B回転量:Δθb(k)(=Lb(k)−Lb(k−1))
Lb(k−1);1周期前の車輪Bの絶対位置
車輪A回転量:Δθa(k)(=La(k)−La(k−1))
La(k−1):1周期前の車輪Aの絶対位置
車輪B回転量:Δθb(k)(=Lb(k)−Lb(k−1))
Lb(k−1);1周期前の車輪Bの絶対位置
S10では移勤ロボット1の位庫、姿勢を算出する。移動ロボット1の位置、姿勢は、一般的にデッドレコニングとして知られる手法を用い、車輪回転量と、路面の状態に応じてS06又はS07で選択した各補正係数を基準径及び基準間隔にそれぞれ乗じて補正した車輪半径、車輪間隔が下記の式により算出される。
補正係数適用後の車輪A半径:Ra’=Ra×Ca
補正係数適用後の車輪B半径:Rb’=Rb×Cb
補正係数適用後の車輪間隔:W'=W ×Cw
そして、算出された車輪半径Ra',Rb' 、車輪間隔W'と、S09で求めた車輪回転量とに基づき、1周期前から現在までの各車輪の走行距灘ΔDa(k)'、ΔDb(k)'と移動ロボット1の旋回角θ(k)'と並進距離Ds(k)'が下記式により各々算出される。
1周期分の車輪A走行距離:ΔDa(k)'(=Ra’×Δθa(k))
1周期分の車輪B走行距離:ΔDb(k)'(=Rb' ×Δθb(k))
1周期分の台車旋回角:Δθ(k)'(=(ΔDb(k)'−ΔDa(k)')/W')
1周期分の並進距離:ΔDs(k)'(=(ΔDa(k)'+ΔDb(k)')/2)
そして、記憶されている1周期前の位置(X(k−1)', Y(k−1)')と姿勢θ(k)'から現在の位置と姿勢が下記式により算出される。
現在位置:(X(k)',Y(k)') =(X(k−1)' +ΔDs(k)'×cos(Δθ(k)'), Y(k−1)' +ΔDs(k)'×sin(Δθ(k)'))
姿勢:θ(k)'=θ(k−1)' +Δθ(k)'
また後述する補正係数の更新の計算に用いる為、補正係数を乗じない車輪半径、車輪間隔から現在位置における現走行区間での総走行距離と移動ロボット1の総旋回角が下記式にて算出される。
車輪A走行距離:Da(k) =Da(k−1)+ΔDa(k)
(ΔDa(k) =Ra×Δθa(k))
車輪B走行距離:Db(k) =Db(k−1)+ΔDb(k)
(ΔDb(k) =Rb×Δθb(k))
移動ロボット1の旋回角:θ(k) =( ΔDb(k) −ΔDa(k) )/W
補正係数適用後の車輪A半径:Ra’=Ra×Ca
補正係数適用後の車輪B半径:Rb’=Rb×Cb
補正係数適用後の車輪間隔:W'=W ×Cw
そして、算出された車輪半径Ra',Rb' 、車輪間隔W'と、S09で求めた車輪回転量とに基づき、1周期前から現在までの各車輪の走行距灘ΔDa(k)'、ΔDb(k)'と移動ロボット1の旋回角θ(k)'と並進距離Ds(k)'が下記式により各々算出される。
1周期分の車輪A走行距離:ΔDa(k)'(=Ra’×Δθa(k))
1周期分の車輪B走行距離:ΔDb(k)'(=Rb' ×Δθb(k))
1周期分の台車旋回角:Δθ(k)'(=(ΔDb(k)'−ΔDa(k)')/W')
1周期分の並進距離:ΔDs(k)'(=(ΔDa(k)'+ΔDb(k)')/2)
そして、記憶されている1周期前の位置(X(k−1)', Y(k−1)')と姿勢θ(k)'から現在の位置と姿勢が下記式により算出される。
現在位置:(X(k)',Y(k)') =(X(k−1)' +ΔDs(k)'×cos(Δθ(k)'), Y(k−1)' +ΔDs(k)'×sin(Δθ(k)'))
姿勢:θ(k)'=θ(k−1)' +Δθ(k)'
また後述する補正係数の更新の計算に用いる為、補正係数を乗じない車輪半径、車輪間隔から現在位置における現走行区間での総走行距離と移動ロボット1の総旋回角が下記式にて算出される。
車輪A走行距離:Da(k) =Da(k−1)+ΔDa(k)
(ΔDa(k) =Ra×Δθa(k))
車輪B走行距離:Db(k) =Db(k−1)+ΔDb(k)
(ΔDb(k) =Rb×Δθb(k))
移動ロボット1の旋回角:θ(k) =( ΔDb(k) −ΔDa(k) )/W
S11ではガイド検出部にて指示マーカ4が検出されたか否かが判定される。検出されていなければ、S04へ戻る。
S11で指示マーカが検出された場合(S11でYES)、S12で今まで走行していた走行区間の車輪情報にかかる補正係数の更新を行う。
この補正係数の更新処理はサブルーチン化されており、具体的には図5のフローチャートで説明する。
この補正係数の更新処理はサブルーチン化されており、具体的には図5のフローチャートで説明する。
なお、上記補正係数の更新が必要となる原因としては、まず路面の傾き(トラバース)がある。路面の傾きのために、移動ロボット1の走行方向について山側にある車輪の回転量が少なくなるため、谷側の車輪の半径がより小さく補正されるような補正係数に更新する場合である。
また、上記補正係数の更新が必要となる他の原因としては、区間の設計上の長さと実際の長さが、工事上の都合等により異なっている場合がある。その場合には、実際の距離に合せて車輪の半径が補正されるような補正係数に更新する必要がある。例えば、区間が坂道であるような場合には、設計平面図上の距離よりも、実際の走行距離の方が長くなるので、車輪の径が小さく補正されるような補正係数に更新する必要がある。
S13では移動ロボット1の現在位置(座標)を、S11で検出されたマーカに対応して記憶部17に記憶されているマーカ位置(座標)に修正する。
次にS14で濡れ路面カウンタを0にし、S15で区間番号をインクリメントして、S16で次の走行区間の経路情報及び車輪情報を読み出す。
S17では今まで走行していた区間が最終区間か否かを判定し、まだ次の走行区間が存在すれば(S17でNO)S04へ戻り、次の走行区間が存在しない、即ち移動ロボット1が終点に達したと判定されれば(S17でYES)S18で待機動作に入る。
次にS12の補正係数を更新するサブルーチンについて図5のフローチャートを用いて説明する。
S51:区間内を走行して得た総走行距離Da, Db、総旋回角θ、及び経路情報とから当該区間における車輪情報を補正すべき補正度合い(補正量)を算出する。
具体的には、経路情報より得られる当該区間における区間距離D,始点終点間の角度差(旋回角φ)と、S10で補正係数を用いずに算出した左右輪の当該区間における総走行距離Da, Db、移動ロボット1の総旋回角θとの比から当該区間における補正量を下記式により算出する。Da,Db,θは各々マーカ検出地点におけるDa(k), Db(k),θ(k) の値である。
当該区間における車輪A半径の補正量=D/Da
当軟区間における車輪B半径の補正量=D/Db
当該区間における車輪間隔補正量=θ/φ
S51:区間内を走行して得た総走行距離Da, Db、総旋回角θ、及び経路情報とから当該区間における車輪情報を補正すべき補正度合い(補正量)を算出する。
具体的には、経路情報より得られる当該区間における区間距離D,始点終点間の角度差(旋回角φ)と、S10で補正係数を用いずに算出した左右輪の当該区間における総走行距離Da, Db、移動ロボット1の総旋回角θとの比から当該区間における補正量を下記式により算出する。Da,Db,θは各々マーカ検出地点におけるDa(k), Db(k),θ(k) の値である。
当該区間における車輪A半径の補正量=D/Da
当軟区間における車輪B半径の補正量=D/Db
当該区間における車輪間隔補正量=θ/φ
S52:図5の更新処埋では、当該区間における路面の濡れ度合いに応じて、濡れ用/乾燥用いずれかの補正係数を更新する。S52では、S04において各周期ごとに濡れ路面と判定した判定結果の蓄積となる濡れ路面カウンタ値を用いて、当該区間全体に対する濡れ度合い(乾湿状態)を「カウンタ値/走査回数」で求める。そして、上記「カウンタ値/走査回数」が50%以上であれば濡れていると判断し(S52でYES)、他方、50%未満であれば乾燥と判断する(S52でNO)。なお、この処理で用いる判走閾値は50%に限定されるものではなく、必要に応じて適宜設定されてよい。
S53:S52で路面が濡れていると判定された場合、濡れ路面用補正係数の過去の取り込み実績の有無、即ち、過去に濡れ路面用補正係数の更新処理を行ったか否かを判定する。全くの立ち上げ時は補正係数の取り込み実績はなく、この場合は補正係数として予め1が記憶されている。
S54:S53において過去に濡れ路面用補正係数の取り込み実績があると判定されると(S53でYES)、濡れ路面用補正係欺を下記の式により更新する。
車輪Aの径補正係数:Caw =(1−α)×Caw +α×D/Da
車輪Bの径補正係数:Cbw =(1−α)×Cbw +α×D/Db
車輪間隔補正係数 :Cww =(1−α)×Cww +α×θ/φ
ここで右辺のCaw 、Cbw 、Cww は更新前の値である。尚、フローチャート上には示していないが、当該区間が直線の場合は車輪Aの径補正係数Caw と車輪Bの径補正係数Cbw を更新し、当該区間が曲線の場合は、車輪A,Bの間隔補正係数Cww のみ更新してもよい。
αは、補正係数を更新するために、記憶している(更新前の)補正係数と当該区間を今回走行した結果としてて計算された補正すべき度合い(補正最〉をどのような配分で利用するかを定める重み係数であり、その値は、固定でもよいし、上記濡れ度合いに応じて変更してもよい。
車輪Aの径補正係数:Caw =(1−α)×Caw +α×D/Da
車輪Bの径補正係数:Cbw =(1−α)×Cbw +α×D/Db
車輪間隔補正係数 :Cww =(1−α)×Cww +α×θ/φ
ここで右辺のCaw 、Cbw 、Cww は更新前の値である。尚、フローチャート上には示していないが、当該区間が直線の場合は車輪Aの径補正係数Caw と車輪Bの径補正係数Cbw を更新し、当該区間が曲線の場合は、車輪A,Bの間隔補正係数Cww のみ更新してもよい。
αは、補正係数を更新するために、記憶している(更新前の)補正係数と当該区間を今回走行した結果としてて計算された補正すべき度合い(補正最〉をどのような配分で利用するかを定める重み係数であり、その値は、固定でもよいし、上記濡れ度合いに応じて変更してもよい。
S55:過去に取り込み実績がない場合(S53でNO)、S51で算出された補正量を濡れ路面用補正係数として新たに設定する。
S56:他方、S52で路面が濡れていないと判定された場合(S52でNO)、乾燥路面用補正係数の過去の取り込み実績の有無を判定する。全くの立ち上げ時は補正係数の取り込み実績はなく、この場合は補正係数として予め1が記憶されている。
S57:S56において過去に乾燥路面用補正係数の取り込み実績があると判定されると(S56でYES)、乾燥路面用補正係数を下記の式により更新する。
車輪Aの径補正係数:Cad =(1−α)×Cad +α×D/Dd
車輪Bの径補正係数:Cbd =(1−α)×Cbd +α×D/Dd
車輪間隔補正係数 :Cwd =(1−α)×Cwd +α×θ/φ
ここで右辺のCad 、Cbd 、Cwd は更新前の値である。尚、フローチャート上には示していないが、当該区間が直線の場合は車輪Aの径補正係数Cad と車輪Bの径補正係数Cbd を更新し、当該区間が曲線の場合は、車輪A,Bの間隔補正係数Cwd のみ更新する。
αの値は、S54における濡れ路面用補正係数と同様、補正係数を更新するために、記憶している(更新前の)補正係数と当該区間を今回走行した結果として計算された補正すべき度合い(補正量)をどのような配分で利用するかを定める重み係数であり、固定でもよいし、滞れ度合いに応じて変更してもよい。
車輪Aの径補正係数:Cad =(1−α)×Cad +α×D/Dd
車輪Bの径補正係数:Cbd =(1−α)×Cbd +α×D/Dd
車輪間隔補正係数 :Cwd =(1−α)×Cwd +α×θ/φ
ここで右辺のCad 、Cbd 、Cwd は更新前の値である。尚、フローチャート上には示していないが、当該区間が直線の場合は車輪Aの径補正係数Cad と車輪Bの径補正係数Cbd を更新し、当該区間が曲線の場合は、車輪A,Bの間隔補正係数Cwd のみ更新する。
αの値は、S54における濡れ路面用補正係数と同様、補正係数を更新するために、記憶している(更新前の)補正係数と当該区間を今回走行した結果として計算された補正すべき度合い(補正量)をどのような配分で利用するかを定める重み係数であり、固定でもよいし、滞れ度合いに応じて変更してもよい。
S58:過去に取り込み実績がない場合(S56でNO)、S51で算出された補正量を乾燥路面用係数として新たに設定する。
S59:区間番号と共に、更新又は新規に設定された補正係数を記憶する。
S59:区間番号と共に、更新又は新規に設定された補正係数を記憶する。
次にレーザセンサ2の周期の測定結果より、路面状態の濡れを判定する方法を図8のフローチャートを用いて説明する。本処理における判定結果は上述のS04に用いられる。
S71:路面状態判定部23は、レーザセンサ2からの出力信号によるレーザ光を反射した測定点までの計測データ(センサデータ)を取得する。レーザセンサは180度に近い中心角度の範囲において約3m先の走行路面にレーザ光を照射し、反射光を得ている(図3参照)。
S72:路面状態判定部23は、センサデータのうち、移動ロボット1の進行方向の正面に相当するN個(例えば正面60°分のデータとなる121個)のデータを選択する。
S73:路面状態判定部23は、上記の進行方向正面に相当するN個のデータのうち、各センサデータの値(距離値y)が一定値以下であるようなセンサデータの数をカウントする。
ここで一定値としては、路面で反射した場合に得られる距離値よりもやや高い数値としており、得られた各センサデータの値(距離値y)が一定値以下である場合とは、レーザ光が走行路面で反射してレーザセンサ2に戻ってきた場合であり、走行路面のレーザ光が当たった部分から反射光が得られたことを意味する。すなわち、ここでのカウント数とは、センサデータN個のうち、走行路面で反射してレーザセンサ2に戻ってきたレーザ光の数を意味する。
なお、走行路面が濡れている場合にはレーザ光が走行路面で全反射してレーザセンサ2には戻ってこない場合があり、この場合レーザセンサ2におけるセンサデータとしては無限遠と評価され、センサデータの値(距離値y)としては一定値以上と判定される。あるいは、走行路面が濡れている場合に走行路面で乱反射したレーザ光がレーザセンサにおいて路面からの距離値とは著しく異なる大きな距離値として出力される場合もある。そこで、本例では、路面で反射した場合に比べて著しく大きな距離値を示すセンサデータは濡れた路面で反射したレーザ光によるものとみなして処理する。
S74:路面状態判定部23は、上記カウント数が前述のセンサデータの数N個に対して占める割合が予め設定しておいた所定値(例えば70%)以上か否かを判定する。
S75:上記カウント数が前述のセンサデータの数N個に対して占める割合が前述の所定値以上である場合(S74においてYES)、乾燥路面と判定する。
S76:上記カウント数がセンサデータの総数N個に対して占める割合が前述の所定値以上でない場合(S74においてNO)、濡れ路面と判定する。
《第2実施形態》
図6は、第2の実施形態の動作を説明するフローチャートである。
本実施形態は、過去複数回の走行で得られた複数の補正係数を重み係数αにより加重平均して用い、路面が乾いたときの走行で得られた補正係数の重みを高く、路面が濡れたときに得られた補正係数の重みを低くするものである。(路面が濡れたときの補正係数は信頼性が低いため、補正係数更新時の重みを低くする。)
図6は、第2の実施形態の動作を説明するフローチャートである。
本実施形態は、過去複数回の走行で得られた複数の補正係数を重み係数αにより加重平均して用い、路面が乾いたときの走行で得られた補正係数の重みを高く、路面が濡れたときに得られた補正係数の重みを低くするものである。(路面が濡れたときの補正係数は信頼性が低いため、補正係数更新時の重みを低くする。)
図6のフローチャートは、S205において路面が濡れていると判定した場合は濡れ路面カウンタをインクリメントし、濡れていない場合は、何もせずにS206へすすむ。即ち、本実施形態では、現在位置を算出するにあたり用いる補正係数は第1の実施形態と異なり、路面の濡れ/乾燥によらず同一の係数である。この補正係数は、後述するように、乾燥時と濡れ時の走行結果に重みを配分して加重平均された値であり、これにより、路面状況の違いに起因した誤差を吸収して信頼性を向上させている。そのほかS210の補正係数の更新処理を除き第1実施形態と同じであるため説明を省略する。
図6のS210で補正係数を更新する処理について図7のフローチャートを用いて説明する。
S301:区間内の総走行距離Da, Db、総旋回角θと、経路情報から区間における車輪半径の補正量を算出する。補正量を算出する算出方法は上述のS51と同じである。
S301:区間内の総走行距離Da, Db、総旋回角θと、経路情報から区間における車輪半径の補正量を算出する。補正量を算出する算出方法は上述のS51と同じである。
S302:過去の取り込み実績の有無を判定する。全くの立ち上げ時は、補正係数の取り込み実績はなく、この場合は補正係数として予め1が記憶されている。
S303:濡れ路面カウンタの値より、走行してきた区間の濡れ度合い(乾湿状態)を「カウンタ値/走査回数」で求め判定する。そして上記「カウンタ値/走査回数」が50%以上であれば濡れていると判断し、50%未満であれば乾燥と判断する。なお閾値は50%に限定されず、適宜設定してよい。
S304:S303で路面が濡れと判定されると(S303でYES)補正係数を下記の式を用いて更新する。補正係数は第1実施形態と同じく、車輪A径補正係数、車輪B径補正係数、車輪間隔補正係数である。
新補正係数=(1−β)×記憶している補正係数+β×今回計算された補正量
βは、重み係数であり、S304ではこのβが路面状態が乾燥しているときと比較して小さい値に設定される。これは濡れ時には信頼性が低いため、新補正係数への寄与を小さくして更新するためである。重み係数βの値は、固定としてもよいし、上記濡れ路面度合いに応じて、濡れ度合いが大きい場合は値をさらに小さくするようにしてもよい。
新補正係数=(1−β)×記憶している補正係数+β×今回計算された補正量
βは、重み係数であり、S304ではこのβが路面状態が乾燥しているときと比較して小さい値に設定される。これは濡れ時には信頼性が低いため、新補正係数への寄与を小さくして更新するためである。重み係数βの値は、固定としてもよいし、上記濡れ路面度合いに応じて、濡れ度合いが大きい場合は値をさらに小さくするようにしてもよい。
S305:S303で路面が濡れていないと判定されると(S303でNO)、濡れ時(S304)より大きい値となる重み係数βで補正係数を算出する。算定式はS304と同じである。
S306:区間番号と共に補正係数を記憶する。
S306:区間番号と共に補正係数を記憶する。
以上説明したように、いずれの実施形態においても、路面の乾湿等により摩擦係数が異なる状況に対応でき、現在位置算出の精度が向上する。特に、ある区間の走行が終了した後に、当該区間の位置補正情報を、当該区間の路面の乾湿状態と当該区間での走行実績により更新することができるので、常に最も確度の高い情報を根拠として現在位置の補正を行うことができ、現在位置の算出をより一層高精度に行うことができる。
なお、以上説明した各実施形態の移動ロボット1は車輪による移動手段を有しており、その車輪の回転数を基に種々の走行制御及び位置補正を行っていたが、車輪は移動手段の一例にすぎず、その他の移動手段の場合でも、路面が乾湿等により摩擦係数が異なるために位置算出の精度が影響を受けるような場合には、本発明の手法を利用して位置算出精度の向上を図ることができることは言うまでもない。例えば、脚歩行式やクローラ式の移動手段であっても、路面との間の摩擦係数の変化により脚と路面の間又は無限軌道と路面の間にスリップが生じる等して位置算出精度が低下することが考えられ、その場合には、これら移動手段の適当な制御パラメータを、これに対応した適当な位置補正情報で補正して同様の効果を得ることができる。
1…移動ロボット
4…地点指示手段としての指示マーカ
6…移動手段としての車輪
8…移動手段としてのモータ
10…指示手段検出部としてのガイド検出部
15…位置算出部
17…記憶部
21…区間判別部としても機能する制御部
23…路面状態判定部
24…位置補正情報算出部としての車輪情報算出部
4…地点指示手段としての指示マーカ
6…移動手段としての車輪
8…移動手段としてのモータ
10…指示手段検出部としてのガイド検出部
15…位置算出部
17…記憶部
21…区間判別部としても機能する制御部
23…路面状態判定部
24…位置補正情報算出部としての車輪情報算出部
Claims (6)
- 走行経路を移動手段により移動する移動ロボットであって、
路面の乾湿状態を判定する路面状態判定部と、
現在位置を算出する位置算出部と、
前記移動ロボットの位置を補正するための位置補正情報を前記路面の乾湿状態に対応して予め記憶した記憶部とを具備し、
前記位置算出部は、前記路面状態判定部が判定した前記路面の乾湿状態に対応する前記位置補正情報を前記記憶部から呼び出し、該位置補正情報により現在位置を算出することを特徴とする移動ロボット。 - 更に、前記走行経路に配設されて該走行経路における区間の区切りとなる地点指示手段を検出する指示手段検出部と、
前記指示手段検出部の出力に基づき前記区間の始点と終点を検出して前記区間を判別する区間判別部とを備え、
前記記憶部は、前記位置補正情報を前記区間ごとに前記路面の乾湿状態に対応して予め記憶し、
前記位置算出部は、前記路面状態判定部が判定した前記路面の乾湿状態及び前記区間判別部が判別した前記区間に対応する前記位置補正情報を前記記憶部から呼び出し、該位置補正情報により現在位置を算出することを特徴とする請求項1に記載の移動ロボット。 - 前記移動手段としての車輪と、前記車輪の回転量を検出する回転量検出部とを備え、
前記位置算出部は、前記車輪の回転量から走行距離を算出する算定式を前記位置補正情報により補正し、算出された走行距離から前記現在位置を算出することを特徴とする請求項1または2に記載の移動ロボット。 - 前記車輪として、少なくとも一対の駆動輪を有し、
前記位置補正情報は、前記各駆動輪の径データを補正する径補正係数と前記各駆動輪間の車輪間隔データを補正する間隔補正係数とを前記路面の乾湿状態に対応して前記区間ごとに記憶し、
前記位置算出部は、前記各駆動輪ごとの回転量と前記径補正係数で補正される径データとから各駆動輪ごとの走行距離を算出するとともに、該走行距離と前記間隔補正係数で補正される車輪間隔とから旋回量を算出して現在位置を求めることを特徴とした請求項3に記載の移動ロボット。 - さらに、走行が終了した区間の前記位置補正情報を、当該区間において前記路面状態判定部が判定した路面の乾湿状態に応じて、当該区間における前記移動手段の駆動量と当該区間の実距離を用いて更新する位置補正情報算出部を有することを特徴とする請求項2乃至4の何れか一つに記載の移動ロボット。
- 複数区間からなる走行経路を移動手段により移動する移動ロボットであって、
前記走行経路に配設された地点指示手段を検出する指示手段検出部と、
前記指示手段検出部の出力に基づき前記各区間の始点と終点を検出して前記各区間を判別する区間判別部と、
前記区間ごとに前記移動ロボットの位置を補正するための位置補正情報を予め記憶した記憶部と、
前記区間判別部が識別した前記区間に対応する前記位置補正情報を前記記憶部から呼び出して、現在移動している前記区間における前記移動ロボットの現在位置を前記位置補正情報により補正して算出する位置算出部と、
路面の乾湿状態を判定する路面状態判定部と、
走行が終了した区間における前記移動手段の駆動量と当該区間の実距離を用いて新たな位置補正情報を算出し、当該新たな位置補正情報と、前記路面状態判定部が判定した前記路面の湿れ度合いに応じて予め定められた重み係数とにより、前記記憶部に記憶された当該区間の位置補正情報を更新する位置補正情報算出部と、
を有することを特徴とする移動ロボット。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006208235A JP2008033760A (ja) | 2006-07-31 | 2006-07-31 | 移動ロボット |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006208235A JP2008033760A (ja) | 2006-07-31 | 2006-07-31 | 移動ロボット |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008033760A true JP2008033760A (ja) | 2008-02-14 |
Family
ID=39123077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006208235A Pending JP2008033760A (ja) | 2006-07-31 | 2006-07-31 | 移動ロボット |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008033760A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009199154A (ja) * | 2008-02-19 | 2009-09-03 | Ihi Corp | 水溜まり検出装置、無人走行車両及び水溜まり検出方法 |
JP2012108630A (ja) * | 2010-11-16 | 2012-06-07 | Nippon Yusoki Co Ltd | 無人搬送車の走行制御装置、および無人搬送車 |
JP2012113377A (ja) * | 2010-11-22 | 2012-06-14 | Nippon Yusoki Co Ltd | 無人搬送車の走行制御装置、および無人搬送車 |
US9283966B2 (en) | 2013-07-09 | 2016-03-15 | Samsung Electronics Co., Ltd. | Mobile robot having friction coefficient estimation function and friction coefficient estimation method |
JP2016218736A (ja) * | 2015-05-20 | 2016-12-22 | 株式会社豊田自動織機 | 無人搬送システム |
JP2019507447A (ja) * | 2016-01-04 | 2019-03-14 | 浙江立▲ビアオ▼机器人有限公司Zhejiang Libiao Robots Co., Ltd. | ロボットホイール径補完方法及び装置 |
CN110530399A (zh) * | 2019-09-06 | 2019-12-03 | 苏州寻迹智行机器人技术有限公司 | 双轮差速移动机器人里程计标定的轮间距修正方法 |
CN112074758A (zh) * | 2018-05-02 | 2020-12-11 | 罗伯特·博世有限公司 | 用于识别路况的方法和设备 |
JP2022062099A (ja) * | 2010-12-15 | 2022-04-19 | シムボティック エルエルシー | 自律搬送車両 |
US11952214B2 (en) | 2010-12-15 | 2024-04-09 | Symbotic Llc | Automated bot transfer arm drive system |
-
2006
- 2006-07-31 JP JP2006208235A patent/JP2008033760A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009199154A (ja) * | 2008-02-19 | 2009-09-03 | Ihi Corp | 水溜まり検出装置、無人走行車両及び水溜まり検出方法 |
JP2012108630A (ja) * | 2010-11-16 | 2012-06-07 | Nippon Yusoki Co Ltd | 無人搬送車の走行制御装置、および無人搬送車 |
JP2012113377A (ja) * | 2010-11-22 | 2012-06-14 | Nippon Yusoki Co Ltd | 無人搬送車の走行制御装置、および無人搬送車 |
JP7469342B2 (ja) | 2010-12-15 | 2024-04-16 | シムボティック エルエルシー | 自律搬送車両 |
US11952214B2 (en) | 2010-12-15 | 2024-04-09 | Symbotic Llc | Automated bot transfer arm drive system |
JP2022062099A (ja) * | 2010-12-15 | 2022-04-19 | シムボティック エルエルシー | 自律搬送車両 |
US9283966B2 (en) | 2013-07-09 | 2016-03-15 | Samsung Electronics Co., Ltd. | Mobile robot having friction coefficient estimation function and friction coefficient estimation method |
JP2016218736A (ja) * | 2015-05-20 | 2016-12-22 | 株式会社豊田自動織機 | 無人搬送システム |
JP2019507447A (ja) * | 2016-01-04 | 2019-03-14 | 浙江立▲ビアオ▼机器人有限公司Zhejiang Libiao Robots Co., Ltd. | ロボットホイール径補完方法及び装置 |
US11487005B2 (en) * | 2018-05-02 | 2022-11-01 | Robert Bosch Gmbh | Method and device for identifying a road condition |
CN112074758A (zh) * | 2018-05-02 | 2020-12-11 | 罗伯特·博世有限公司 | 用于识别路况的方法和设备 |
CN110530399B (zh) * | 2019-09-06 | 2023-03-24 | 苏州寻迹智行机器人技术有限公司 | 双轮差速移动机器人里程计标定的轮间距修正方法 |
CN110530399A (zh) * | 2019-09-06 | 2019-12-03 | 苏州寻迹智行机器人技术有限公司 | 双轮差速移动机器人里程计标定的轮间距修正方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008033760A (ja) | 移動ロボット | |
US10315306B2 (en) | Domestic robotic system | |
JP6659599B2 (ja) | 自己位置推定装置、および自己位置推定方法 | |
US9058039B2 (en) | Method and apparatus for reckoning position of moving robot | |
US8019475B2 (en) | Routing apparatus for autonomous mobile unit | |
JP5278283B2 (ja) | 自律移動装置及びその制御方法 | |
JP6828579B2 (ja) | 環境整備ロボットおよびその制御プログラム | |
JP2009031884A (ja) | 自律移動体、自律移動体におけるマップ情報作成方法および自律移動体における移動経路特定方法 | |
US20100049366A1 (en) | Surroundings mapping apparatus capable of applying quickly changed surroundings information in mobile robot and method thereof | |
JP4530996B2 (ja) | 移動ロボット | |
JP4745151B2 (ja) | 移動ロボット | |
JP2009237851A (ja) | 移動体制御システム | |
JP2009223757A (ja) | 自律移動体、その制御システム、自己位置推定方法 | |
JP4745159B2 (ja) | 移動ロボット | |
CN113490973B (zh) | 信息处理装置以及移动机器人 | |
JP4368317B2 (ja) | 移動ロボット | |
JP4745149B2 (ja) | 移動ロボット | |
JP4377347B2 (ja) | 移動ロボット | |
JP4377346B2 (ja) | 移動ロボット | |
JP4745160B2 (ja) | 移動ロボット | |
JP2008009928A (ja) | 移動ロボット | |
JP2024038486A (ja) | 移動ロボット用制御装置、移動ロボットの制御方法 | |
JP4745152B2 (ja) | 移動ロボット | |
WO1995029380A1 (en) | Navigation system for fast automated vehicles and mobile robots | |
JP6863049B2 (ja) | 自律移動ロボット |