(57)【要約】      （修正有）【課題】地図更新を行うことで、過去の環境地図と更新後の環境地図に誤差が加わる。そのため、更新処理を繰り返すと誤差が蓄積する。【解決手段】予め設定された環境地図１２０における所定領域の形状情報１２１と、環境地図上の所定領域の属性とを対にして複数記憶し、環境地図と記憶部１００に記憶した所定領域を比較して所定領域に対応する属性を読み出し、計測箇所における属性に応じて、環境地図を更新する。【選択図】図１
2014089740.tif 000002
【特許請求の範囲】
【請求項１】
周囲形状を計測するセンサを有する移動ロボットと、
空間内の形状を示す環境地図を、更新を行う形状可変領域と、更新を行わない形状不変領域とに少なくとも区別して記憶する記憶部と、
前記センサにおいて計測された形状の位置が前記形状可変領域に含まれる場合、前記計測された形状で前記環境地図を更新する地図更新部とを備え、
前記移動ロボットは、更新された環境地図を参照して移動を行うことを特徴とするロボットシステム。
【請求項２】
請求項１に記載のロボットシステムにおいて、
空間内の形状を示す環境地図を、更新を行う形状可変領域と、更新を行わない形状不変領域と、前記センサによる計測が複数回実行された場合に更新を行う領域と、を区別して前記記憶部に記憶することを特徴とするロボットシステム。
【請求項３】
請求項１または２に記載のロボットシステムにおいて、
前記センサにおいて計測された形状の位置が前記形状不変領域に含まれる場合、
前記地図更新部は、当該計測された形状での前記環境地図の更新を実行しないことを特徴とするロボットシステム。
【請求項４】
請求項１から３のいずれかに記載のロボットシステムにおいて、
前記記憶部に記憶された前記環境地図の一の領域に対して、更新を行う前記形状可変領域、更新を行わない前記形状不変領域の少なくともいずれかを更新影響度として指定できる入力手段を備えることを特徴とするロボットシステム。
【請求項５】
請求項４に記載のロボットシステムにおいて、
前記記憶部に記憶された前記環境地図を表示する表示部を備え、
前記更新影響度の前記入力手段を介した指定は、前記表示部に表示された前記環境地図の内の任意の領域を選択して、当該選択された領域に対して実行されることを特徴とするロボットシステム。
【請求項６】
請求項５に記載のロボットシステムにおいて、
前記記憶部は、
前記選択された領域と、前記入力された更新影響度の情報とを対にして記憶することを特長とするロボットシステム。
【請求項７】
請求項４に記載のロボットシステムにおいて、
前記更新影響度は、更新を行う前記形状可変領域、更新を行わない前記形状不変領域、前記センサによる計測が複数回実行された場合に更新を行う領域の少なくとも３種を有することを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律移動ロボットが参照する環境地図の更新方法、およびロボットシステムに関する。
【背景技術】
【０００２】
ロボットの自律移動は、ロボットの移動手順を示す経路を参照し、ロボットの現在の位置姿勢からの移動制御を求めることで行う。例えば、特許文献１によると、設定された移動経路データに基づく移動制御により、ロボットは目的地までの自律移動の基本的な動作を行うことができる。特許文献１では、空間内の存在物の幾何状況を示した環境地図上にロボットが移動する経路を作成し、ロボットの現在の位置姿勢に基づいて移動制御を行う。ここで、ロボットの位置姿勢は、距離センサなどで計測した周囲の形状を当該環境地図に幾何学的に合わせ込むことにより推定する。
【０００３】
環境地図として、例えば、ロボットが移動する空間を２次元の格子状に分割し、格子に囲まれた各セルに対応する当該空間の領域内に物体が存在するかどうかの情報を付与したものがある。環境地図の作成技術として特許文献２では、レーザ距離センサを移動させながら、センサが移動した周囲の環境地図を画像として生成及び／又は表示する技術を開示している。
【０００４】
ここで実際の適用場面においては、多くの場合は時間と共に空間内の物体の配置や形状は変わる。そのため、過去に作成した環境地図は、現在の空間内の存在物の状態と異なる。その場合、前記ロボット位置姿勢推定のための前記幾何学的合わせ込みができない。よって、環境の形状が変化する状況下で自律移動ロボットを運用するためには、物の配置や形状の変更に伴って実際の存在物の状態と環境地図が一致するように、環境地図を更新する必要がある。
【０００５】
環境地図の更新技術としては誤認識を含む精度の低い地図によって環境地図が更新されることを防止する技術について特許文献３に開示されている。また特許文献４では、地図作成時の地図形状の不整合を解消し、さらに部分的な環境地図更新を可能にする技術を開示している。具体的には、独立した空間の一部領域を示す部分地図を作成し、オペレータが設定した連結点を基準として、当該部分地図を過去の環境地図に繋ぎ合わせることで地図を更新している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２９１５４０
【特許文献２】特開２００５−３２６９４４
【特許文献３】特開２００９−１６９８４５
【特許文献４】特開２０１０−９２１４７
【発明の概要】
【発明が解決しようとする課題】
【０００７】
これらの地図更新手段は、過去の環境地図に新たに計測した形状を上書きするものであり、基準となる過去の環境地図の形状に含まれる誤差（以下、実際の形状からの差異を環境地図の誤差とする）が、新たな計測データを合わせ込む際の精度に影響する。そのため、更新後の環境地図に新たな誤差が発生することにより、更新処理を繰り返すことで誤差が蓄積し、地図の精度が低下する。
【０００８】
特許文献３では、環境地図の更新は、ロボットが計測した周囲の形状を環境地図に幾何学的に合わせ込み、変更のある被計測領域を環境地図に反映することで行う。その際に、環境地図に表現された形状が実際の形状と完全に一致することはないために、合わせ込み誤差が発生する。その影響により、環境地図内における上書き更新した領域内に新たな誤差が加わる。よって、上記更新を繰り返すと、環境地図の誤差が蓄積する。
【０００９】
特許文献４では、過去の環境地図と、新たに計測して得た新しい環境地図を結合する際に、両環境地図が共有する領域内に設定した連結点を基準にして、環境地図を更新する。しかし、両環境地図はそれぞれが誤差を持つため、両環境地図上に設定した連結点を基準にして得た更新後の環境地図には、過去の環境地図に対して新たな誤差が加わる。その結果、更新を繰り返すことで、誤差が蓄積してしまう。
【００１０】
これらに対し、本発明の目的によれば、環境地図に誤差を蓄積させずに、過去の環境地図の精度を保ったまま更新処理を行うことができる移動ロボット、ロボットシステム、地図更新方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するための本発明の特徴の一例としては、過去の時点における空間の幾何情報を示す環境地図を記憶する記憶部と、ロボット周囲の存在物の形状を計測できるセンシング部と、前記センシング部が計測した箇所を算出する計測箇所算出部を有する、空間内を移動可能な移動ロボットもしくはロボットシステムであって、前記記憶部は、予め設定された前記環境地図における所定領域の形状情報と、前記環境地図上の当該所定領域の属性とを対にして複数記憶する機能を有し、さらに、前記環境地図と前記記憶部に記憶した所定領域とを比較して当該所定領域に対応する前記属性を読み出す属性読み出し部と、前記計測箇所算出部が算出した計測箇所における前記属性読み出し部で読み出した前記属性に応じて、前記環境地図を更新する環境地図更新部と、を備えることを特徴とする。
【発明の効果】
【００１２】
環境地図の更新処理を誤差の蓄積を起こさずに行うことができる。それにより、更新処理を繰り返しても環境地図の精度が低下しない。
【図面の簡単な説明】
【００１３】
【図１】ロボットシステムの全体構成を示す図である。
【図２】ロボットシステムの動作のフローチャートを示す図である。
【図３】ロボットの動作を示す図である。
【図４】距離センサを用いた計測を示す図である。
【図５】計測した距離データを示す図である。
【図６】環境地図における格子の状態を示す図である。
【図７】環境地図への距離データの幾何学的合わせ込みを示す図である。
【図８】環境地図の更新を示す図である。
【図９】距離センサから得たデータの地図への登録を示す図である。
【図１０】環境地図更新のフローチャートを示す図である。
【図１１】領域形状と更新影響度の設定を示す図である。
【図１２】領域形状および更新影響度の記憶形態を示す図である。
【図１３】設定した各領域における格子の状態の更新を示す図である。
【図１４】更新前の地図と、不変領域の設定を示す図である。
【図１５】存在物形状が変化した際の形状の計測を示す図である。
【図１６】不変領域以外の更新結果を示す図である。
【図１７】実施例中で用いる数式を示す図である。
【発明を実施するための形態】
【００１４】
本発明では、環境地図上に任意の領域形状と当該所定領域ごとの属性を対にして複数設定し、その属性に基づいた更新処理を行う。ロボットの移動中に得た周囲の形状を用いて環境地図を更新する際に、更新部分における前記属性に応じて、環境地図を更新する。
【００１５】
例えば、実際の形状が不変である領域に対しては、形状が不変であるという属性を領域に対して設定する（以下、不変領域とする）。不変領域に関しては、前記更新をしないことで、その領域に含まれる環境地図上の形状を更新しないようにする。
これにより、環境地図に対して更新処理を繰り返しても、当該領域については更新が行われず、誤差が蓄積しない。その環境地図を用いて最適な幾何学的に合せ込みをすると、誤差の蓄積していない当該領域とも整合性が取れることになる。合わせ込みの際に計測データの一部が当該領域内の形状と整合性が取れていることで、合わせ込みに誤差蓄積の影響が起きない。その結果に基づき、環境地図を更新するため、環境地図に誤差の蓄積が起きない。
【００１６】
よって、更新を繰り返しても不変領域以外の形状についても精度を保つことができる。これら合せ込み処理と更新処理は、それぞれ自動的に実行できるため、予め前記属性を設定しておけば、ロボットの移動中でも、自動的に地図を最新の状態に保つことができる。
本発明によれば、環境地図の更新処理を誤差の蓄積を起こさずに行うことができる。それにより、更新処理を繰り返しても環境地図の精度が低下しない。  
以下、図面を用いて本発明の実施例について詳細を説明する。
【実施例１】
【００１７】
図１は、本実施にかかるロボットシステムを表す概念図である。まず、本発明のロボットシステムは、移動ロボット１０と領域設定装置１１で構成される。移動ロボット１０は、空間内に存在する物体の形状を示す環境地図１２０と、領域形状１２１と領域属性１２２の複数の対を記憶する記憶部１００、周囲の形状を計測するセンシング部１０１、自己位置推定部１０２、計測箇所算出部１０３、領域属性読み出し部１０４、環境地図更新部１０５、ロボットの位置に応じて移動の方向や量を決定する移動制御部１０６、移動機構部１０７を備える。
【００１８】
なお、本実施例においては、前記領域属性１２２は更新の際の前記環境地図への影響度である更新影響度を示し、前記領域属性読み出し部１０４は前記更新影響度読み出すものとする。また、領域設定装置１１は、領域設定部１１０、更新影響度設定部１１１、表示部１１２、表示部１１３を備える。
ここで移動ロボット１０は、周囲の形状を計測するセンシング部１０１及び移動機構部１０７を最低限備える構成とし、それ以外の環境地図１２０、記憶部１００等は移動ロボット１０とは別途の装置(例えば領域設定装置１１)に格納し、有線もしくは無線通信手段等を設けてこれらの情報を適宜移動ロボットに送信する様に制御する構成としても良い。
【００１９】
センシング部１０１は、レーザ距離センサやソナーセンサ等によって、ロボット１０の周辺に存在する物体１３までの距離を計測することで、計測対象の形状を得ることができるものとする。なお、前記センサは周囲の形状を計測できるものであれば良く、前記センサの例に限定するものではない。
【００２０】
自己位置推定部１０２では、計測して得たロボット１０の周囲の形状と記憶部１００が保持する環境地図１２０とを幾何学的に合わせ込むとによって、計測時のロボットの位置姿勢を推定する。計測箇所算出部１０３では、推定した前記自己位置に基づき、計測したデータから、環境地図上における被計測点の位置座標を求める。
【００２１】
更新影響度読み出し部１０４は、記憶部１００に記憶された領域形状１２１の中から、前記被計測点の位置が含まれる領域を選び、その領域に対応付けられた更新影響度１２２を求める。なお、領域形状と更新影響度の対応付けは、オペレータが予め任意に領域を設定し、当該所定領域ごとに更新影響度を設定しておくものとする。環境地図更新部１０５は、前記更新影響度に応じて、前記計測箇所に対応する環境地図上の箇所を更新する。移動制御部１０６は、自己位置推定部１０２が推定したロボットの自己位置に基づき、経路を沿うように移動の方向や速度の移動制御を決定する。移動機構部１０７は、移動制御部１０６が決定した移動制御、ロボットを移動させる。
【００２２】
なお、本説明では簡単のため、前記システムをロボット内に収めたが、記憶部１００、自己位置推定部１０２、計測箇所算出部１０３、更新影響度読み出し部１０４、環境地図更新部１０５に関しては、ロボット外部に設置した計算機などに設置し、通信機器を介することで、それらの計算結果を元にロボットを遠隔操作してもよい。これらの部位を外部計算機が持つことで、複数ロボットが協調して１つの地図を更新する作業にも応用可能である。
【００２３】
図２は本実施例の処理手順である。移動ロボット１０は経路と推定した自己位置に応じて、移動制御部１０６が移動の方向と速度（移動制御）を決定し、移動機構部１０７により移動処理を行う（Ｓ２００）。次に、センシング部１０１によりロボット１０の周辺の形状を計測する（Ｓ２１０）。計測した形状を、環境地図に幾何学的に合わせ込むことで、ロボットの自己位置を推定する（Ｓ２２０）。最後に、センシング部１０１から得た形状により環境地図を更新することで、環境地図を更新する（Ｓ２３０）。これらの処理を計測終了まで繰り返す。
【００２４】
図３はロボットが空間上の存在物１３を避けながら経路に沿って移動する様子である。ロボットは、予め指定もしくは自動的に作成した経路に沿うように移動する。二足歩行式やクローラ式など、ロボットシステム１０を移動させる機構を備えれば、本ロボットシステム１０における移動機構部１０７は図２に示すような車輪を用いたものに限定されない。
【００２５】
図４は、センシング部１０１が周囲に存在する物体１３までの距離を計測する場合の概念図である。ここでは説明のため、センシング部１０１の計測装置として、距離センサを採用することとする。センシング部は照射したレーザを周囲の存在物１３に当て、その反射光をセンシング部が受光することで、照射から受光までの時間によって存在物１３までの距離を計測する。これを周囲全方向に対して行うことで、周囲の形状を計測することが可能となる。
【００２６】
図５に距離センサを用いて周辺の形状を計測した場合の計測例を示す。距離センサは、周囲に赤外線レーザを照射し、各方向に存在する物体に当たったレーザの反射光を受光し、照射から受光までの時間差により、物体までの距離を計測する。距離センサは、計測方向φを角度分解能δφずつ変化させながらn個のデータを同時に計測する。i番目の計測データの計測方向をφi、計測した距離riとする。その際の距離と方向の組み合わせ(ri, φi)が、距離センサを中心とした計測対象物体の相対的な極座標系で表される位置となる。なお、点線矢印は計測結果を表し、矢印の終端が被計測点の位置となる。閉じた点線は空間上の物体を示し、この物体とぶつかる点線矢印が計測に成功したデータである。閉じた点線にぶつからなかった点線矢印は、何も計測できなかったことを示す。極座標系で表された位置(ri, φi)から直交座標系(sxi,syi)への変換は図１７に示す数式(数1)によって行う。
【００２７】
図６は環境地図６００の概念図である。図６では、説明のため、物体が存在するかどうかを表すだけの２値表現として表す。本実施例での更新影響度を考慮した物体が存在するかどうかの表現方法の詳細は後述する。環境地図の表現形式として、６２０のような細かい格子に分割することとする。但し、空間全体の形状を格子として図示すると、格子の表記が小さくなりすぎるため、格子を用いた説明の際は６２０のように一部を拡大して示すこととする。
【００２８】
以下の説明では、環境地図６００と格子６２０がそれぞれ現れるが、それらは拡大率が異なるのみであり、内部の構造は同じものとする。環境地図６００上に環境地図の座標軸と存在物を示す。ここでは、環境地図の座標系は、地図の中心を(0,0)とし、右方向をx軸の正方向、上方向をy軸の正方向とする。なお、環境地図の座標系はこれに限るものではない。空間内に存在する形状は、黒線として存在物６１０のように表現する。ここで表現される存在物６１０は、過去の時点で計測し、環境地図６００上に記録したものである。
【００２９】
続いて、格子における表現の例について説明する。格子６３０は、空間内で対応する領域において、何も存在していないことを表す。また、格子６４０は、格子内に物体が存在することを表す。図６では説明のために物体が存在するか否かの２値に単純化して示したが、本実施例では２値ではなく、これを以下に述べる多値の確率の形式として、物体の存在確率を表現する。
【００３０】
本実施例における、環境地図上での物体の表現法の詳細について説明する。本実施例では、空間内の物体の形状を、物体の存在確率として環境地図上に表現する。環境地図の内部では、投票値として物体の情報を記録しておき、読み出し時に存在確率に変換する。まず、環境地図座標系の座標(x,y)における格子セルm(x,y)に対し、物体が存在する確率をp(m(x,y))とする。ここではp(m(x,y))の値から、例えばパラメータとの比較結果に応じて、物体が存在するかどうかを判定する。また、各格子は、投票値v(x,y)を保持しており投票値v(x,y)の値から確率p(m(x,y))を計算する。
【００３１】
なお、これらの環境地図の表現方法は、上記に限定されず、更新の影響度を考慮できる形状を表現方法であればよい。
【００３２】
図７に自己位置推定部１０２により周囲の形状を計測した時のロボットの位置姿勢推定例を示す。自己位置推定では、センシング部１０１で計測した図５に示した距離データを、図６に示した環境地図６００上に幾何学的に合わせこむことにより、ロボットが周囲の形状を計測した時の環境地図上における位置姿勢を推定する。環境地図の座標系におけるロボットの位置を(x,y,θ)とする。ここで、式１のロボット座標系で示した計測結果の座標を、環境地図の座標系(txi,tyi)に変換すると、図１７に示す数式(数２)のようになる。
【００３３】
環境地図の座標系は、ロボット座標系からの線形変換として求まる。上記環境地図の座標系に変換した距離結果を環境地図に幾何学的に合わせ込んだ際の最適な位置(x*,y*,θ*)は図１７に示す数式(数３)のようにして求まる。
【００３４】
式３の解は、予め最適解に近い初期値を与え、最急降下法などで解くことができる。
以下では、推定後の自己位置を(x,y,θ)、計測した環境地図座標系における被計測点の位置を(tx,ty)として説明する。
【００３５】
図８に、センシング部１０１から得た距離の情報による環境地図の更新の例を示す。環境地図の更新は、過去の環境地図に記録された形状に対して、現在計測されたセンシング結果を記録することで行う。計測された箇所は、計測箇所算出部１０３によって求める。計測箇所算出部１０３の計算は、式２と同様に、自己位置(x,y,θ)と、被計測点の位置(tx,ty)を求め、かつ自己位置と被計測点の間の領域の各格子を探索することで求める。図８には、環境地図に記録されている形状が計測した形状と同じものである形状８００、過去の環境地図には記録されていたが現在は計測されなかった形状８１０、新たに計測された形状８２０を、それぞれ示す。まず、前記合わせ込みで求めた移動ロボット１０の自己位置(x,y,θ)に基づき、被計測点を環境地図の座標系に変換する。すると、形状８００のように過去の環境地図を構築した時と形状が変わらない部位については、計測した形状と環境地図とが一致する。一方、形状８１０のように配置物が移動等の理由により無くなった場合は、距離センサが照射したレーザが通過する。この場合、レーザが通過した領域に対応する部分の前記存在確率を減らすことにより、形状８１０を環境地図から消去できる。なお、存在確率の計算については後述する。過去の環境地図には記録されていないが、現在の計測で新たに計測された形状８２０については、環境地図上の被計測点の座標には形状が記録されていない。その場合は、被計測点の位置の前記存在確率を増やすことで、形状を新たに記録する。以上のようにして、環境地図を更新できる。
【００３６】
続いて、環境地図更新部１０５による環境地図の更新における前記存在確率の計算法を説明する。更新は、領域ごとに前記更新影響度を用いて格子の投票値を増減させることで行う。本実施例では、座標(x,y)に対応する領域における増加パラメータα(x,y)と減少パラメータβ(x,y)の値を更新影響度として、オペレータが設定する。設定した更新影響度は、更新影響度読み出し部１０４によって読み出される。更新の対象となる格子は、計測箇所算出部１０３が算出した被計測点に対応する格子と、何も計測されなかった領域に対応する格子とする。
【００３７】
図９に格子９００に対して投票値v(x,y)を増やすことで格子の更新を行う例を示す。まず、距離が計測された場合の被計測点に対応する格子の更新について説明する。距離が計測された場合、計測箇所算出部１０３は式２を用いて被計測点の座標を求め、環境地図更新部１０５はその座標に対応する格子に保存されている前記投票値v(x,y)を増加させる。それにより、当該位置における物体の存在確率が増加する。格子９００の位置(tx,ty)は、計測した距離と計測したときのロボットの位置から、式２によって求める。投票値の変更は、格子の位置(tx,ty)に対応する増加パラメータα(tx,ty)を用い、図１７に示す数式(数４)のように更新する。
【００３８】
次に何も計測されなかった領域に対応する格子の更新について説明する。何も計測されなかった領域に対応する格子９１０については投票値v(x,y)を減らすことで格子を更新する。センシング部１０１の位置と被計測点の位置を結ぶ線分が通過する格子が対象となる。投票値の変更は、格子の位置(tx,ty)に対応する減少パラメータβ(tx,ty)を用い、図１７に示す数式(数５)ように更新する。
【００３９】
上記による格子の投票値の増減により、格子内に物体が存在する確率p(m(x,y))を増減できる。投票値が小さくなるほど、確率p(m(x,y))は小さくなり、投票値が大きくなるほど、確率は大きくなる。
【００４０】
図１０に本実施例における更新の処理手順を示す。まず、自己位置推定部１０２によって得た自己位置(x,y,θ)により、式２を用いてセンシング部１０１からのデータを環境地図上の座標(tx,ty)に変換する（Ｓ１０００）。次に、センシング部１０１の各計測方向が通過する何も計測されない領域に対応する格子を検出し（Ｓ１０１０）、その格子に対応する更新影響度となる前記減少パラメータβ(tx,ty)を読み出し（Ｓ１０２０）、当該パラメータに応じて当該格子の投票値v(tx,ty)を減らすことにより、格子における物体の存在確率p(m(tx,ty))を下げる（Ｓ１０３０）。もし形状が検出されたら、検出した位置に対応する格子を式２より求め（Ｓ１０４０）、その格子に対応する更新影響度となる前記増加パラメータα(tx,ty)を読み出し（Ｓ１０５０）、当該パラメータに応じて当該格子の投票値v(tx,ty)を増やすことにより、格子における物体の存在確率p(m(tx,ty))を上げる（Ｓ１０６０）。
【００４１】
図１１は前記更新影響度の設定画面の例である。本実施例では、領域設定装置１１を用いて領域形状１２１と更新影響度１２２の対を複数設定することとする。まず、領域設定部１１０によってオペレータが環境地図上の領域を指定し、更新影響度設定部１１１により領域ごとに更新影響度を設定する。設定方法としては、表示部１１３によって画面上に環境地図を表示し、表示された環境地図に従ってオペレータが環境地図の領域形状をマウス等の指示装置で設定し、さらに設定された領域に対してオペレータが更新影響度を設定する。領域の設定方法は、当該指示装置を用いた自由曲線による囲い込みや、矩形による囲い込み方法などがある。なお、当該指示装置は、画面上の座標を指示できればよく、マウスに限定されるものではない。保存部１１２に、設定された領域形状１２１と更新影響度１２２を、ロボット１０が有する記憶部１０に保存する。図１１は、環更新影響度ごとに３つの領域を設定したものである。ここでは各領域を、それぞれ更新の影響度が高い領域１１００、更新の影響度が低い領域１１１０、更新が起きない領域１１２０として設定することとする。なお、図１１では更新影響度を３種類に限定して説明したが、これに限定されるものではない。また、連続的にパラメータを変更するように設定することも可能である。
【００４２】
図１２に領域形状および更新影響度の記憶形態を示す。ここでは図１１で示した領域１１００および領域１１１０を例に挙げて説明する。本実施例においては、領域形状および更新影響度は、図６で示した地図の保持形態と同様に、１２００のように格子状に空間を分割しておき、各格子に対応する更新影響度の値を記憶部に保持しておく。記憶形態としては、１２１０に示すように記憶部上の(x,y)座標値に対応する位置に、更新影響度の値をそれぞれ記憶する。これにより、指定した座標に対応する値を読み出す処理のみで更新影響度を読み出すことができる。なお、領域形状の形態として、格子を用いずに多角形や曲線で囲まれた領域を数値で保持しておくことも可能である。その場合は、各領域に対してそれぞれ更新影響度を対応付けて保持する。更新影響度を読み出す際には、指定した座標に対応する領域を探索し、当該領域に対応付けられた値を読み出す。
【００４３】
図１３に更新影響度を設定した上での環境地図に対する更新の例を示す。なお、各領域の更新影響度については、図１１と同じものとする。まず、更新影響度の大きい領域１１００に含まれる格子のうち、形状が計測されなかった格子１３００については、投票値v(tx,ty)を大きく減らす。すると、当該格子における物体の存在確率p(m(tx,ty))も大幅に減少する。一方、領域１１００に含まれる格子のうち、形状が計測された格子１３１０については、投票値v(tx,ty)を大幅に増やす。すると、当該格子における物体の存在確率p(m(tx,ty))も大幅に増加する。結果として、当該領域において、形状の変更や移動が起きると、領域内の格子における物体の存在確率p(m(tx,ty))が大幅に増減し、即座に環境地図に形状が反映される。更新影響度の低い領域１１１０に含まれる格子については、投票値v(tx,ty)の増減は小さくなる。形状が計測されなかった格子１３２０は、投票値v(tx,ty)を少しだけ減らす。すると、当該格子における物体の存在確率p(m(tx,ty))は小幅に減少する。また、領域１１１０に含まれる格子のうち、形状が計測された格子１３３０は、投票値v(tx,ty)を少し増やす。その場合も同様に物体の存在確率p(m(tx,ty))も小幅に増加する。結果として、当該領域においては、形状の変更や移動に対して、領域内の格子における物体の存在確率p(m(tx,ty))の増減は小さく、環境地図への影響は緩やかになる。領域１１２０に含まれる格子については、投票値v(tx,ty)を変更しない。そのため、どのような計測に対しても、領域内の形状は不変となる。図１３においては、形状が計測されなかった１３４０および形状が計測された格子１３５０は、共に投票値を変化させない。当該不変領域内に記録されている形状は不変となり、更新を繰り返しても誤差の蓄積は起きない。
【００４４】
更新影響度を前記のように数種類に分けた場合の効果として、移動中の物体が環境地図に誤記録されることを防ぎつつ、静止している物体を環境地図に記録できるという点がある。環境地図に移動している物体が記録されていると、自己位置推定時には当該移動中物体は存在せず、地図と実際の環境の不一致のために精度低下が起きてしまう。そのため、環境地図には移動しない物体が記録されていることが望ましい。本実施例においては、各領域における物体の移動の頻度に応じて更新影響度を設定しておくことで、上記のように環境地図を更新できる。例えば、移動する物体が多い通路などの領域では、更新の影響度を低く設定することで、環境地図に反映するには好ましくない移動中の物体は環境地図に記録されづらくなる。また、移動しない静的な物体が多く存在する領域では、更新の影響度を高く設定することで、少ない計測回数でも即座に環境地図に反映され、当該物体が環境地図に記録され易くなる。
【００４５】
実際の更新の例を図１４から図１６に示す。図１４は、更新の影響度を２種類に設定した例である。１つは更新の影響度を高く設定し、もう１つは影響度をゼロに設定して更新をしないこととする。図１４は、過去の環境地図１４００、更新が起きない領域１４１０、領域１４１０内に存在する不変な形状１４２０、領域１４１０外に存在する形状１４３０から成る。なお、領域１４１０は予めオペレータが設定しておくこととする。図１４の環境地図を記憶部が保持していることを前提として、図１５のように計測を行う。図１５の環境は、図１４の地図上における形状１４３０が、１５００の位置に移動したこととする。そのため、この計測時には、これまでの環境地図に登録されていた形状１４３０の部分には何も存在しないため、その奥にある不変な形状１４２０の一部が計測される。また、新たに形状１５００が新たに計測される。この計測結果を基に、図１６で環境地図を更新する。領域１４１０内では更新が起きないため、環境地図の変更は起きない。領域１４１０以外の領域では新たに計測した結果を基に形状を更新する。よって、形状１４３０を消去し、形状１５００を記録する。形状１４２０は更新されないため、更新を繰り返しても形状１４２０については、誤差が蓄積しない。このように、更新の際に、形状が不変、あるいは動かない物体が存在する領域における更新の影響度をゼロにすることで、更新を繰り返したときに当該不変領域内の形状に生じる誤差の蓄積が起きない。この更新を用いることで、自己位置における形状の合わせ込みにおいて、計測した形状の一部が前記誤差の蓄積していない形状と整合性が取れている場合、自己位置推定結果に前記誤差蓄積の影響が出ない。よって、その前記自己位置推定の結果に基づいて地図を更新すれば、前記不変領域以外についても、地図に誤差が蓄積しないことになる。
【００４６】
上記形態より、予めオペレータが領域と更新影響度を指定した上で、更新を自動的に行うことが可能であるが、更新の際に更新したい領域の設定を手動で行うことによって、環境地図に反映させるべきでないデータを環境地図に反映させないことも可能であり、本発明は、自動的に実行する利用法に限定されるものではない。
【００４７】
本発明は、予めオペレータが更新の領域と影響度を設定しておけば、地図更新と自己位置推定について、誤差を蓄積させずに実行できる。このため、本発明のロボットシステムでは、高精度な地図を自動的に作れる。それにより、ロボットの移動中に、自動的に地図を最新の状態に更新することができ、環境の形状が変化する状況下においても、手作業や再計測作業をせずにロボットの自律移動が可能になる。
【実施例２】
【００４８】
前記実施例では、センシング部１０１として、２次元平面上に存在する物体を計測する距離センサを用いて説明した。これに対して、センシング部１０１として、３次元的に形状を計測できる距離センサを用いることも可能である。以下に３次元距離センサを用いた場合の実施例を説明する。
【００４９】
３次元空間を処理する場合、空間を格子として分割すると、使用メモリ量が膨大になる。そのため、距離センサで計測した被計測点の集合（点群）を直接記憶部１００に保持することとする。当然、大量の記憶媒体を積んだ計算機を用いることができる場合、前記実施例のように格子を扱うことも可能である。
【００５０】
移動ロボット上に搭載する機能・処理の手順は、前記実施例と同様である。以下では、各機能について説明する。
【００５１】
本形態では、空間内の物体を被計測点の集合で表す。また、各投票率は、格子の代わりに点ごとに記憶部１００に記録しておく。自己位置推定部１０２は、現在保持している点群に対して、センシング部１０１で得られる周囲の点群を当てはめることで、自己位置を推定する。推定は、保持している点のうち存在率が０．５以上である点と、計測した各点との距離の２乗距離和が最小となるような対応付けと姿勢を探索することで行う。
【００５２】
計測箇所算出部１０３では、保持している物体の形状と計測した形状の変更部を算出する。ここでは、各レーザの通った線状の軌跡から一定距離内に存在する点群を探索し、「計測されなかった点」とする。また、被計測点から一定距離内の点群は、「計測された点」とする。
【００５３】
更新影響度読み出し部１０４は、前記計測箇所算出部１０３が算出した点を含む記憶部１００に保持されている領域を探索し、その領域に対応付けられている影響度を読み出す。
【００５４】
環境地図更新部は、計測箇所算出部１０３が算出した記憶部１００が保持している点を、前記影響度読み出し部１０４が読み出した前記影響度に応じて、点に記録されている投票値を増減する。計測箇所算出部１０３が算出した「計測されなかった点」は、投票値を下げる。一方、計測箇所算出部１０３が算出した「計測された点」は、投票値を下げることとする。
【００５５】
領域設定部１１０では、オペレータが任意の領域を選択する。３次元空間内の任意の領域を直接マウスで指定することはできない。そのため、２つの直交する方向の視点上において、それぞれ矩形を指定し、両矩形の共通領域を指定領域とする方法などがある。また、各指定領域に関して、更新影響度設定部１１１によって更新影響度を設定する。
【符号の説明】
【００５６】
１０・・・移動ロボット、１０１・・・センシング部、１０１・・・自己位置推定部、１０３・・・計測箇所算出部、１０４・・・属性読み出し部、１０５・・・環境地図更新部、１０６・・・移動制御部、１０７・・・駆動部、１１・・・領域設定装置、１１０・・・領域設定部、１１１・・・更新影響度設定部、１１３、保存部、１１２、表示部、１２０・・・環境地図、１２１・・・領域形状、１２２・・・領域属性、１３・・・実空間内の存在物、６００・・・環境地図、６１０・・・地図上に表現された存在物、６２０・・・環境地図における詳細な格子、６３０・・・物体の無い領域の格子、６４０・・・物体の存在する領域の格子、８００・・・更新によって形状が変わらない部位、８１０・・・更新によって消去される部位、８２０・・・更新によって追加される部位、９００・・・距離が計測された地点における格子、９１０・・・レーザが通過した空間に何も存在しない領域における格子、１１００・・・更新影響度の高い領域、１１１０・・・更新影響度が低い領域、１１２０・・・更新が起きない領域、１１３０・・・移動頻度が高い物体、１１４０・・・移動頻度が少ない物体、１１５０・・・移動が起きない物体、１２００・・・領域形状を表す格子、１２１０・・・記憶部における更新影響度の保持形態、１３００・・・更新影響度が高い領域においてレーザが通過した場合の格子状態の更新、１３１０・・・更新影響度が高い領域において距離が計測された場合の格子状態の更新、１３２０・・・更新影響度が低い領域においてレーザが通過した場合の格子状態の更新、１３３０・・・更新影響度が低い領域において距離が計測された場合の格子状態の更新、１３４０・・・更新が起きない領域においてレーザが通過した場合の格子状態の更新、１３５０・・・更新が起きない領域において距離が計測された場合の格子状態の更新、１４００・・・過去の環境地図、１４１０・・・更新が起きない領域、１４２０・・・不変な形状、１４３０・・・移動前の形状、１５００・・・移動後の形状。
【図１】
2014089740.tif 000003
【図２】
2014089740.tif 000004
【図３】
2014089740.tif 000005
【図４】
2014089740.tif 000006
【図５】
2014089740.tif 000007
【図６】
2014089740.tif 000008
【図７】
2014089740.tif 000009
【図８】
2014089740.tif 000010
【図９】
2014089740.tif 000011
【図１０】
2014089740.tif 000012
【図１１】
2014089740.tif 000013
【図１２】
2014089740.tif 000014
【図１３】
2014089740.tif 000015
【図１４】
2014089740.tif 000016
【図１５】
2014089740.tif 000017
【図１６】
2014089740.tif 000018
【図１７】
2014089740.tif 000019