JP4352148B2 - 移動ロボット用地図作成システム - Google Patents
移動ロボット用地図作成システム Download PDFInfo
- Publication number
- JP4352148B2 JP4352148B2 JP2003070782A JP2003070782A JP4352148B2 JP 4352148 B2 JP4352148 B2 JP 4352148B2 JP 2003070782 A JP2003070782 A JP 2003070782A JP 2003070782 A JP2003070782 A JP 2003070782A JP 4352148 B2 JP4352148 B2 JP 4352148B2
- Authority
- JP
- Japan
- Prior art keywords
- posture
- map information
- map
- robot
- relative
- 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
Links
- 238000013507 mapping Methods 0.000 title claims description 7
- 230000036544 posture Effects 0.000 claims description 164
- 230000033001 locomotion Effects 0.000 claims description 38
- 230000004927 fusion Effects 0.000 claims description 9
- 238000006073 displacement reaction Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 description 33
- 238000005259 measurement Methods 0.000 description 19
- 239000002245 particle Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 241000282412 Homo Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000007596 consolidation process Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Instructional Devices (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Description
【発明の属する技術分野】
本発明は、移動ロボットが自らの移動に利用する地図情報を作成するための地図作成システムに関する。
【0002】
【技術的背景】
移動ロボットが移動する環境の地図の構築は、移動ロボットにおいて重要な課題である。この地図は、移動ロボットが走行するために使用し、ロボットの走行可能領域を示すとともに、ロボットの自己位置推定に必要なランドマークの配置を知らせる。移動ロボットにより地図を構築するには、ロボットの自己位置がわかっていなければならず、また、自己位置を知るためには地図がなければならない。そのため、両者を同時に推定するSLAM(Simultaneous Localization and Mapping)が研究されている(例えば非特許文献1)。
従来の方法として、移動ロボットが移動するための地図を環境の測定データに基づいて作成するには、移動ロボットにセンサを搭載して環境を計測し、ロボットの移動量とセンサの測定データを組み合わせて物体の位置と方位を計算して地図を作成する方法がある。
この方法の概要を以下に記す。なお、以下では、位置と方位をまとめて姿勢と呼ぶ。
【0003】
まず、ロボットの移動量は、移動ロボットが車輪型であれば、左右の車輪の回転数を測定すれば、ロボットの進行方向の速度と回転角速度が計算でき、これを時間で積分することでロボットの姿勢を求めることができる(例えば非特許文献2)。なお、本発明では移動ロボットという表現を用いているが、車輪の回転数から移動量を測定できれば、人間が押す車両でもかまわない。また、車輪型でなく脚型の移動ロボットの場合も、関節角の変位量からロボットの姿勢を計算することができる。ロボットから見たセンサの相対姿勢はあらかじめ測定できるので、ロボットの姿勢がわかれば、センサの姿勢も計算できる。このことから、以下では、センサの姿勢とロボットの姿勢は同義とする。
【0004】
センサによる測定データは、センサの種類により様々である。たとえば、レーザ距離センサでは、センサから対象物体までの距離と方向を測ることができる。また、超音波センサもセンサから対象物体までの距離とおおまかな方向を測ることができる。カメラ画像を用いる場合は、ステレオ立体視の原理により、カメラから対象物までの距離と方向を求めることができる。以上の3つの場合は、対象物体に対するセンサデータは、一般に、点の集合となる。また、カメラ画像の場合は、物体のモデルとの照合によって、画像中の物体を認識し、カメラから見た物体の相対姿勢を求めることもできる。この場合は、どのセンサでも、センサから見た対象物体の相対姿勢を求めることができるが、得られるデータの形態や性質は一般に異なる。
【0005】
ロボットの移動量とセンサの測定データから地図を作るには、まず、ロボットの走行中に、ロボットの移動量の計測とセンサの計測を同期させてデータを記録する。次に、ロボットの移動量を累積してセンサの絶対座標系での姿勢を計算し、求めたセンサの絶対姿勢にセンサの測定データを加えて対象物体の絶対座標系での姿勢を計算する。これをセンサの全測定データについて繰り返すことで、計測した物体の配置が決まり、地図を作ることができる。
このような方法で作った地図は、ロボットの移動量やセンサの誤差のため、正しい形状が得られないことが多い。そのため、ロボットの移動量やセンサデータの誤差を確率分布で表し、センサデータをもとにロボット姿勢や物体姿勢の確率分布を推定しながら、地図全体の誤差が最小となるような配置を求めることが行われている。例えば、ロボットと物体の姿勢を絶対座標系のうえで定義し、ロボットの移動量とセンサ測定データから物体姿勢の確率分布を推定し、ロボットが同じ物体を計測した場合は、ロボットの経路のループを閉じる処理を行うことで地図の誤差を縮小する(例えば非特許文献3参照)。
【0006】
【非特許文献1】
J. J. Leonard and H. F. Durrant-Whyte: "Simultaneous Map Building and Localization for an Autonomous Mobile Robot," Proc. of IROS'91, pp.1442-1447, 1991.
【非特許文献2】
米田、坪内、大隅著「はじめてのロボット創造設計」、講談社、22〜25頁
【非特許文献3】
S.Thrun, W.Burgard, and D.Fox: "A Real-Time Algorithm for Mobile Robot Mapping with Applications to Multi-Robot and 3D Mapping," Proc. of ICRA2000, 2000.
【0007】
【発明が解決しようとする課題】
しかしながら、上述の方法では、ロボットの移動量やセンサデータの計測誤差が大きい場合には、十分な精度の地図は得られないという問題がある。確率分布の推定に基づく方法では、ロボットの移動量やセンサデータの誤差分布を仮定しているので、その誤差分布がもともと大きければ、得られる地図の誤差も当然大きくなる。たとえば、ロボットが移動する部屋の地図を作る場合に、机や棚などの家具の向きは重要な情報であるが、センサでその向きを計測するのは、一般に難しい。超音波センサやレーザ距離センサでは、このような家具を認識することは困難であり、たとえば、長方形という形状は知ることができても、どの方向が正面かを知ることはできない。また、カメラ画像から物体を認識する方法ならば、どの方向が正面かを知ることはできるが、その角度の計測値は高い精度が得られないことがある。
また、センサによって、計測できない物体が存在するという問題もある。たとえば、超音波センサやレーザ距離センサは通常、センサが置かれた高さの物体しか見えない。また、細い棒状の物体は検出しにくい。カメラ画像を用いる場合は、透明な物体、複雑な物体などは検出しにくい。
【0008】
【課題を解決するための手段】
上記の課題を解決するために、本発明は、移動量センサと計測対象の物体の姿勢を計測する姿勢センサを搭載した移動ロボットによる移動ロボット用地図作成システムであって、物体をノード,物体間の相対姿勢をアークとして作成し、該相対姿勢の不確実性を表す確率分布を該アークに付加したグラフにより表される、該移動ロボットが移動する環境の地図情報を格納する地図記憶手段と、前記移動ロボットの移動を測定する移動量センサと、前記移動ロボットの近傍の物体の姿勢を計測し、ロボットの座標系による物体の姿勢情報を得る姿勢センサと、前記移動ロボットが環境中を移動して、前記移動量センサと前記姿勢センサにより得られたデータ列から、物体間の相対姿勢で表される地図情報とロボットの姿勢との同時推定により、物体間の相対姿勢の確率分布を推定する新規地図情報作成手段とを備え、前記新規地図情報作成手段は、前記移動量センサから得た該移動ロボットの移動量と、前記姿勢センサで得られた該移動ロボットの座標系による、今回基準とするある物体の姿勢情報と、以前に基準とした他の物体の座標系によるロボットの姿勢とから、前記ある物体を基準とした座標系によるロボットの姿勢と、前記他の物体と前記ある物体との間の相対姿勢とを確率分布とともに推定することで、同時推定を行うことを特徴とする。
また、前記地図記憶手段は、既存地図情報も記憶しており、記憶している既存地図情報を読み出して新規地図情報と比較し、同じ物体間の相対姿勢を表すアークがあれば、該アークに対する既存地図情報での相対姿勢と、新規地図情報での相対姿勢とを確率的に融合して、前記地図情報手段に新らたな相対姿勢として記憶する既存地図情報融合手段を備えていてもよい。
前記既存地図情報融合手段は、新規地図情報を作成後に起動され、かつ新規地図情報がなければ既存地図情報を新規地図情報として記憶するとよい。
さらに、新規地図情報において相対姿勢に関するループを検出した場合、ループの始点物体からループに沿って、各物体間の相対姿勢を全部足すと始点物体に戻るように、該ループを構成する相対姿勢の変位を計算するループ解決手段を備えていてもよい。
【0009】
【発明の実施の形態】
本発明の移動ロボットによる移動ロボット用地図作成システムでは、物体を構成単位とした地図を上述のSLAMの枠組みで構築する。具体的には、フロア平面上に物体モデルを配置した形式で地図を構成し、ロボットは環境内を移動しながら、センサによって物体を認識して、地図を構築していく。従来の地図構築研究の多くはロボットの走行可能領域を記述した地図を対象としており、環境を物体単位に構造化して地図を記述したものは少ない。しかし、例えば、物体の把持や運搬等複雑な作業を行うには、個々の物体を識別してその位置姿勢を知ることが不可欠であり、物体単位に構成された地図が必要になる。
本発明で提案する方式では、物体をノード、物体間の相対姿勢をアークとしたグラフで地図を表現する。相対姿勢アークは、誤差を表すための確率分布を持つ。ロボットは、移動量とセンサデータ(測定データ)により自己位置推定を行ないながら、物体間の相対姿勢を推定して地図を構築していく。
【0010】
また、本発明の移動ロボットによる地図作成システムは、ロボットが作成した地図(以下、新規地図という)にあらかじめ人間が作成した地図、あるいは、他のセンサで計測した地図(以下、既存地図という)を併合することで新規地図の精度を改善し、また、ロボットに搭載したセンサで検出できなかった物体を登録する。たとえば、人間が家具の向きを設定した既存地図を作って、新規地図に併合すれば、新規地図でも家具の向きは定義される。また、ロボットに搭載したセンサでは検出しにくい物体を既存地図に登録しておけば、新規地図にもその物体を登録することができる。
以下、図面を参照しながら、本発明の移動ロボット用地図作成システムの実施形態の一例を詳細に説明する。
まず、本実施形態のシステム構成を説明する。本システムは、移動量や姿勢を検出するセンサを有し、移動するロボット内等に存在するコンピュータ・システム上に構成されている。
【0011】
<地図情報の構成>
最初に、本実施形態の地図情報の構成を説明する。上述したように、本発明では、作成した地図情報を地図記憶手段に格納している。
図1(a)〜(c)の各表は、記憶する地図の情報の構成例(データ表現の例)を示す図である。
図1(a)は、地図情報の構成例を示す図である。同図に示すように、地図は物体情報の集合と相対姿勢情報の集合で構成される。
図1(b)は、相対姿勢情報の構成の一例を示す図である。図1(b)に示すように、相対姿勢情報は、その始点となる物体(始点ノード)と終点となる物体(終点ノード)、および、始点物体から見た終点物体の相対姿勢の期待値と分散で構成される。相対姿勢情報から物体を指示するには、次に述べる物体の一意名を用いる。
【0012】
図1(c)は、物体情報の構成の一例を示す図である。図1(c)に示すように、物体は、その一意名、形状情報、絶対姿勢をもつ。一意名は、各々の物体に一意に付けられた名前である。形状情報および絶対姿勢は、ディスプレイやプリンタなどに地図を出力するために用いる。形状情報は、2次元あるいは3次元の図形として定義する。これは、計算機上での汎用的な図形表示プログラムの形式にしたがったものでよい。絶対姿勢は、地図上の絶対座標系での物体の姿勢を表す。これも、地図をユーザに見やすく表示するために用いる。なお、地図を表示する必要がない場合は、形状情報および絶対姿勢は不要である。
【0013】
<本実施形態の処理の概要>
次に、本実施形態の処理の流れを、図2のフローチャートを参照しながら説明する。本発明は、ロボットが移動して行くにしたがって、計測対象の物体の相対姿勢を計測しながら、地図を作成して行く。
図2において、まず、ステップS210で、ロボットセンサの測定データから、ロボットの移動量と環境に存在する物体間の相対姿勢を推定して新規地図情報m1を作成する。なお、新規地図の作成手法については後で詳しく説明する。
次に、ステップS220で、既存地図情報m2を読み込んで、既存地図のもつ相対姿勢qijを1つずつ取り出す。そして、ステップS230で、新規地図情報m1と比較し、qijと同じ相対姿勢が新規地図情報m1にもあるかを調べる。ここで、同じ相対姿勢とは、測定対象の物体が同じであるものを指す。
2つの地図の間で物体が同じかどうかは、物体の一意名が同じかどうかで判定する。ただし、ステップS230では一意名による同一性判定だけを行い、物体が本当に同じかどうかは判定しない。このため、2つの地図の間で同じ物体は同じ一意名をもつようにしておく必要がある。本実施形態では、あらかじめ他の既存の方法で与えるか、人間が与えることとする。
【0014】
ステップS230で、もし新規地図情報m1に同じ相対姿勢があれば、ステップS240に進む。新規地図情報m1に同じ相対姿勢がなければ、ステップS250に進む。
ステップS240では、新規地図情報m1と既存地図情報m2が共通に持つ相対姿勢を確率的に融合する。なお、相対姿勢の確率的な融合については後で詳しく説明する。
ステップS250では、既存地図情報m2にあって新規地図情報m1にはない相対姿勢を新規地図情報m1に追加する。このため、まず、該相対姿勢を新規地図情報m1の相対姿勢集合に加える。次に、該相対姿勢の始点物体および終点物体が新規地図情報m1にあるかどうか調べ、なければ、その物体を新規地図情報m1の物体集合に加える。
【0015】
次に、ステップS260で、既存地図情報m2のすべての相対姿勢を取り出したかを調べ、すべて取り出してあれば、ステップS270に移る。まだ残っていれば、ステップS220に戻る。ステップS270では、新規地図情報m1の相対姿勢集合の中から、ループを構成するものを見つけて、そのずれを解消する処理を行う。なお、ループ解決は、すべての相対姿勢でなく、地図上での現在注目している部分領域に含まれる相対姿勢だけで行ってもよい。たとえば、1つの部屋の内部に限定してループ解決をする場合などはその例である。これにより、計算量を減らすことができる。
【0016】
なお、本実施形態においては、S210の処理で新規地図情報m1を作成し終えた後に、S220以降の既存地図情報m2との比較・融合処理を行なっているが、新規地図情報m1を作成しながら、既存地図情報m2との融合処理を行なってもよい。例えば、新規地図情報m1の作成において物体間の相対姿勢を計測するごとに、既存地図情報m2から対応する相対姿勢qijを選択して融合を行ってもよい。
【0017】
以降、図2の実施形態を示すフローチャートの各処理を詳しく説明する。
<新規地図の作成>
まず、新規地図の作成処理(S210)について、図3,図4を用いて説明する。
(1.相対姿勢による地図表現)
本実施形態では、地図mを、物体をノード、計測対象の物体間の相対姿勢をアークとしたグラフm=<E,Q>で表す。E={ei}は計測対象の物体の集合,Q={qij}は物体の相対姿勢の集合である。各物体にはローカル座標系が付与されているとする。qij=(x,y,θ)Tとして、qijは物体eiのローカル座標系から見た物体ejの相対姿勢を表す。ここで、x,yはローカル座標系であるei座標系から見たej座標系の原点の位置、θはei座標系から見たej座標系のなす角である。また、相対姿勢アークは、人間やロボットにより明示的に測定されたものだけを扱う。相対姿勢には不確実性を持つことを許し、その不確実性を確率分布で表現する。
【0018】
ロボット姿勢とセンサデータは次のように表す。
(1)ロボット姿勢の表現
ロボット姿勢は、近傍に存在する物体を基準に表現し、ロボットが移動するにしたがって、基準とする物体を切り替える。この物体を基準実体という。基準実体eiの座標系でのロボット姿勢をri=(x,y,θ)Tと表す。
ここで、x,yはローカル座標系であるei座標系から見たロボットの位置、θはei座標系から見たロボットのなす角である。
(2)センサデータの表現
ロボットは、センサにより物体を認識し、その姿勢を推定する。物体uがロボット座標系でq=(x,y,θ)Tの姿勢にあることを、z=<u,q>と表す。
物体認識では物体のクラスしかわからないため、uは未同定の物体である。環境中には同じクラスの物体は複数個存在することがありうるため、uの同定が必要である。本実施形態では、この個体同定は、物体の一意名を与える際に、他の既存の方法または人間が行う。
なお、物体認識の方式は従来技術である(例えば、「友納,油田:不正確さを許すマップと物体認識による屋内ナビゲーション,第7回ロボティクスシンポジア予稿集,2002」を参照。)。
【0019】
図3(a)に物体e1,e2間の相対姿勢q12の一例を示す。上述したように、相対姿勢は不確実性をもつことを許し、その不確実性を確率分布で表現する。この確率分布は任意でよいが、たとえば、正規分布と仮定すれば、平均値と分散で表現できる。本実施形態は、この物体間の相対姿勢を、移動ロボットの物体に対する姿勢センサと移動量センサの測定データで推定していく。
上述したように、物体の姿勢は、ロボットの座標系でq=(x,y,θ)Tが姿勢センサにより得られる。図3(b)にロボット300に搭載したセンサによる、物体e1の測定データの一例を示す。ここで、センサから得られる物体e1の姿勢はq=(x,y,θ)で表されている。センサによってはθが不定の場合もありうる。このセンサデータには誤差が含まれるので、たとえば、正規分布で誤差を表すことができる。この誤差分散は、あらかじめ、センサの特性を調べて決めておく。また、ロボットの移動量は、従来技術と同様に、ロボットの搭載したセンサで求める。移動量も位置と方位を示す(x,y,θ)で表すことができる。移動量には誤差が含まれるので、たとえば、正規分布で誤差を表す。この誤差分散は、あらかじめ、ロボットの特性を調べて決めておく。
【0020】
(2.地図とロボット姿勢の同時推定)
(1)問題設定
次に、センサから得た物体の姿勢とロボットの移動量とから、2つの物体間の相対姿勢を推定する方法を説明する。
本実施形態では、地図情報の構築を、時点tまでにロボットが得たデータ列ZZ(t)(後述で詳しく説明する)のもとで、地図mの確率分布P(m|ZZ(t))を推定することととらえる。しかし、確率分布P(m|ZZ(t))は、全ての相対姿勢アークの同時確率なので、次元が非常に大きく、そのまま扱うのは難しい。そこで、本実施形態では、地図情報全体の確率を管理するのではなく、個々の相対姿勢アークの確率分布を求める問題として扱う。すなわち、P(qij|ZZ(t))を求めることにより地図情報を構築する。
【0021】
1つの相対姿勢アークに対応する地図情報とロボット姿勢の同時推定の模式図を、図4(a)および(b)に示す。いま、ロボット300は点S1から点S2に移動するものとする。ロボット300は、点S1にいる時点(t1)から点S2にいる時点(t2)までは物体e1を基準実体とし、時点t2で物体e2を観測して基準実体をe2に切り替える。点S1でのロボットの物体e1からの相対姿勢をr1 1,点S2でのロボットの物体e1からの相対姿勢をr2 1とする。また、物体e1から見た物体e2の相対姿勢をq12とする。また、点S2でロボットが物体e2を観測したときのロボットから見た物体e2の相対姿勢の測定データをqとする。なお、環境は静的であり、相対姿勢q12は時間とともに変化しないものとする。
このような状況で、ロボットは環境を認識しながら走行し、自己位置と地図情報の確率分布を更新する。すなわち、相対姿勢r1 1の確率分布はそれまでの計算で得られているとすると、点S1から点S2までの移動による移動量と物体e2の測定データとから、点S2でのロボットの物体e2からの相対姿勢(r1 2とする)と相対姿勢q12の確率分布を求める。
【0022】
また、点S2におけるロボットのe1からの相対姿勢r2 1の確率分布は、前述のようにロボットの移動量から計算できる。
このとき、移動量の推定誤差により、図4(b)に示すように、相対姿勢r2 1の確率分布420は相対姿勢r1 1の確率分布410に比べて広がる。いま、点S2において、ロボット300が物体e2を観測し測定データqを得たとする。この測定データqは、独自の確率分布を有している。そこで、相対姿勢r2 1とqの和に対する確率分布を計算することにより、物体e1からの物体e2の相対姿勢q2 12を推定することができる。実際、q2 12=r2 1+qというベクトル和の関係があるので、q2 12の確率分布は、2つの確率変数r2 1とqの和の確率分布として、畳み込み積分で計算できる。図4(b)においては、相対姿勢q2 12の確率分布を430で示している。
以降、上述の確率分布を求める処理を定式化して説明する。
【0023】
(2)地図情報とロボット姿勢の同時確率
データ列をZZ(t)=<z(0),a(0),…,z(t−1),a(t−1),z(t)>,ZM(t−1)=<z(0),a(0),…,z(t−1),a(t−1)>と表す。z(t)は時点tでのセンサデータ<u(t),q(t)>,a(t−1)は時点t−1からtまでのロボットの走行事象を表す。なお、以下では、q(t)を単にqと表す。ロボットは、基準実体をその時点で認識された物体に設定し、1つの走行事象中は変えないとする。
なお、前述したように、本実施形態において個体は一意名により同定できることを前提とする。以下では、センサデータ<u(t),q(t)>のu(t)は物体e1や物体e2に同定されているとして、式からは暗黙的に除いている。
【0024】
まず、相対姿勢アークq12とロボット姿勢r1 2の同時確率P(q12,r1 2|ZZ(t))は、ベイズの定理を用いて以下の式(1)で計算される。なお、r1 2は点S2でのロボットの物体e2からの相対姿勢である。
【数1】
…式(1)
ここで、αは正規化係数である。また、右辺第一項で、P(q|r1 2,q12,ZM(t−1))=P(q|r1 2)としている。ZM(t−1)の省略は、マルコフ性の仮定による。q12の省略は、qがロボットと物体e2との相対姿勢r1 2だけで決まるため、q12に依存しないことによる。
【0025】
また、式(1)のP(q12,r1 2|ZM(t−1))は、ロボットがr1 1からr2 1にまで走行して、その後基準実体を物体e2に変換したと考えると、以下の式(2)のように変形できる。
【数2】
…式(2)
ここで、P(r1 2|r2 1,q12,ZM(t−1))はr1 2,r2 1,q12の関係だけで決まるため(δ関数になる)、ZM(t−1)は省略できる。
【0026】
式(2)のP(q12,r2 1|ZM(t−1))は以下の式(3)で表される。
【数3】
…式(3)
式(3)のP(r2 1|r1 1,a(t−1))は、r1 1から走行a(t−1)を行なったときに、r2 1に到達する確率である。各物体の近傍の底面の状態が同じで障害物もないと仮定すれば、この確率は地図情報にもそれまでのデータにも依存せず、走行a(t−1)に伴う移動量の測定結果だけから計算できる。一方、P(q12,r1 1|a(t−1),ZZ(t−1))のa(t−1)はr1 1からr2 1までの走行であるから、q12,r1 1に影響しないので省略した。また、q12とr1 1は独立であると仮定し、P(q12,r1 1|ZZ(t−1))を分解した。
【0027】
上記の式(1)〜(3)をまとめると、ロボットが1つの移動と物体の認識を行なう1ラウンドにおいて、以下のように分布が更新される。
【数4】
…式(4)
これより、1つ前のロボット姿勢の分布と相対姿勢アークの分布を保存しておけば、現時点でのロボット姿勢と相対姿勢アークの同時分布を計算できる。
【0028】
(3)ロボット姿勢の推定
上記の式(4)から、ロボット姿勢r1 2の確率分布は次のように計算できる。
【数5】
…式(5)
【0029】
(4)相対姿勢アークの推定
また、確率分布P(q12|ZZ(t))は、以下のように計算できる。
【数6】
…式(6)
式(5)および式(6)において、P(q|r1 2)はロボットの物体姿勢センサの誤差特性で決まり、また、P(r2 1|r1 1,a(t−1))はロボットの移動量センサの誤差特性で決まる。P(r1 2|r2 1,q12)は、ベクトル和(r1 2+q12)がr2 1に等しくなるとき1となり、それ以外は0である。
P(q12|ZZ(t−1))は、相対姿勢q12が既存地図に存在する場合は、その確率分布を使う。既存地図に存在しない場合は、一様分布とする。P(r1 1|ZZ(t−1))は、前述のように、それ以前の処理で値が求められているとする。
以上の確率分布を用いて、式(5)および式(6)を計算する。
しかし、式(5)および式(6)は積分を含むため、一般に計算は困難である。そのため、従来技術であるparticle filterを用いた自己位置推定アルゴリズムを拡張して実装した。なお、この従来技術については例えば「友納,油田:”不正確さを許すマップにおける移動ロボットの自己位置推定”,日本ロボット学会誌,VOL.20, No.4, pp.75-86, 2002」を参照されたい。
【0030】
<新規地図と既存地図の併合>
次に、新規地図と既存地図の併合について、図5を用いて説明する。これは、上述の図2のS220〜S260で示した処理であり、上述で移動ロボットが作成した新規地図情報に、例えば人間が作成した既存地図情報を併合して、より精度の高い地図情報を作成することを目的としている。
【0031】
(1.相対姿勢の融合)
既存地図に物体e1とe2間の相対姿勢が定義されていれば、これを用いて、上述で推定される相対姿勢q12の精度を上げることができる。
人間が作成した既存地図と移動ロボットが作成した新規地図の両地図が共通の相対姿勢アークをもつ場合、その相対姿勢を確率的に融合する。これは、上述の式(6)において、P(q12|ZZ(t−1))を既存地図で与え、それに測定データを加えてP(q12|ZZ(t))を計算することで実現できる。
【0032】
図5にその様子を示す。図5(a)は、既存地図で定義された物体e1から見た物体e2の相対姿勢q1 12の確率分布510を示す図である。この例では、物体e1と物体e2は直線上に同じ向きに並んでいるが、距離は不確実である。このような定義は、壁に沿って並んでいる物体をおおまかに測定して手作業で記述した場合などに現われる。
そして、図5(b)に示すように、測定データを相対姿勢q1 12に融合することで、より正確な相対姿勢q3 12(図5(b)では520で示している)を得ることができる。具体的には、図5(a)のq1 12の確率分布510をP(q12|ZZ(t−1))の値として式(6)を計算すればよい。
【0033】
さらに、図5(c)に示すように、ロボット姿勢も更新する(図では、更新値を確率分布530で表している)。具体的には、やはり図5(a)のq1 12の確率分布510をP(q12|ZZ(t−1))の値として、式(5)を計算すればよい。
なお、このようにして更新されたロボット姿勢r1 2は、基準実体がe1からe2に変わっている。ロボットがe2から次の物体に向かうときは、その物体に対して上記と同様の処理を繰り返す。
以上により、計測した物体間の相対姿勢を求めることができる。
一方、既存地図の相対姿勢のうち、新規地図にはないものがあった場合、相対姿勢の融合を行うことはできないので、該相対姿勢を新規地図に追加する。
【0034】
(2.ループとしての融合)
既存地図が新規地図に存在しない相対姿勢アークを持つ場合は、上述した姿勢分布の融合を直接行なうことはできない。しかし、両者のアークを合わせたことにより、ループが生じることがある。この場合、ループを通じて既存地図の相対姿勢アークが新規地図への制約条件として働き、地図情報の精度を向上させることができる。
平行あるいは垂直な位置関係にある物体や、近接した物体の間の相対姿勢は、人間が容易に定義できる上、有効な幾何制約となる。このような制約を表す相対姿勢アークを既存地図に定義しておき、新規地図と併合してループの解決を行なうことで、地図情報の精度を向上させることができる。
なお、ループの解決については、以下で説明する。
【0035】
<ループの解決>
次に、ループの解決について詳しく説明する。これは、上述の図2のS270で示した処理である。
作成された地図情報を移動ロボットが使用したり、ユーザに表示したりする際には、上述で求めた各相対姿勢アークの確率分布の期待値や最大確率点を代表値として用いて、具体的な地図を作ることになる。しかし、個々の相対姿勢アークの代表値をつなげて作った地図には、データ誤差による歪みが生じる。そこで、相対姿勢アーク間に制約を導入してこの歪みを解消することを考える。本実施形態では、このためにループ制約を用いる方法を使用する。
【0036】
(1.定式化)
物体間の相対姿勢の連鎖は一般にループを構成するが、種々の誤差のため、ループがうまく閉じないという現象が生じる。
図6に、ループの例を示す。図6(a)は相対姿勢に整合性がとれている場合の地図である。この場合、相対姿勢q1〜q4をたどると物体e1が元の姿勢に戻り、ループが閉じている。
一方、図6(b)は相対姿勢に整合性がとれていない歪んだ場合の例である。相対姿勢q1〜q4をたどると同じ物体e1が最初と異なる姿勢(610で示している)になり、ループが閉じない。この現象は、上述したように、相対姿勢の値に誤差があるため、その期待値を代表値として採用すると、たどる相対姿勢の列によってe1の絶対座標系での姿勢が食い違うために起こる。
この相対姿勢間の不整合を解消するために、本実施形態ではループを閉じる処理を行う。
【0037】
いま、地図にn個の相対姿勢アークが含まれるとし、その各々をqi=(xi,yi,θi)T,1≦i≦nと表す。マップにあらかじめ定義されたqiや、ロボットが求めたqiの推定値をq'i、その共分散行列をRiとする。
本実施形態で提案する方法では、ループ解決を、ループ制約を満たしながら推定値q'iとの誤差の二乗和を最小にする相対姿勢qを求める最適化問題として考える。ただし、q={q1,…,qn}である。この定式化を式(7)〜式(10)に示す。
【0038】
【数7】
…式(7)
【数8】
…式(8)
【数9】
…式(9)
【数10】
…式(10)
【0039】
式(8)のgj(q)はj番目のループに対する制約式である。ループjはnj個のアークからなり、qj1,qj2,…,qjnjの順にアークが並んでいるものとする。qj1をループの始点とする。gj(q)=0は、ループの始点物体からループに沿って各物体間の相対姿勢を全部足すと始点物体に戻らなければならないという制約を表している。Lは地図に含まれる独立なループの個数である。また、M(φjk)は相対姿勢アークqjkをループの始点物体の座標系に変換する行列である。
【0040】
(2.実装)
上記の問題は非線形最小化問題となる。実装にはparticle filterを用いたが非線形最小化問題を解くための他の方法もある。ここでのparticle filterは、上述で用いたようなマルコフ過程の各時点の分布を求めるものとは違い、最小値を求めるために用いる。このときのparticle filterは、Genetic Algorithmによく似た作用をする。
なお、ここでのparticle filterについては、例えば「J.Deutshcher, A.Blake, and I.Reid: "Articulated Body Motion Capture by Annealed Particle Filtering" Proc. of CVPR2000, 2000」に詳しい。
以下に、手順を示す。各particleは、qに含まれる全変数を持つ。評価値として、E(q)=f(q)+Σj‖gj(q)‖を用いる。
(1)式(6)で得られた各相対姿勢を初期値として、particleを発生させる。
(2)particleの各変数値を所定の正規分布に従ってランダムに変動させ、評価値E(q)を計算する。最小の評価値をもつparticleを保存しておく。各particleの重みをe−E(q)に比例した値にする。
(3)重みに比例した確率で、particleをリサンプルし、(2)に戻る。
(4)所定の回数だけ(2)(3)を繰り返した後、最小の評価値を得たparticleのもつ相対姿勢値を解とする。
【0041】
以上のように、新規地図に既存地図を併合することで、地図の精度を改善することができる。たとえば、人間が家具の向きを設定した既存地図を作って、新規地図に併合すれば、新規地図でも家具の向きは定義される。また、ロボットに搭載したセンサで検出しにくい物体を既存地図に登録しておけば、新規地図にもその物体を登録することができる。
なお、既存地図は、ロボットが以前に作った地図でも人間が作った地図でもよいが、人間が既存地図を作る場合は、相対姿勢を定性的に表現すると、人間の負担が小さくてすむ。たとえば、2つの机が同じ向きで平行に並んでいる場合は、その間の相対姿勢の角度成分θの期待値を0度にし、分散を小さくする。また、向きが垂直ならば、θの期待値を90度にし、分散を小さくする。このような定性的な幾何学的関係を相対姿勢の定量値に変換するユーザインタフェースを用意することで、人間の負担を大きく減らすことができる。とくに、屋内地図の場合は、物体の配置が平行、垂直、隣接などの規則正しい幾何学的関係に従うことが多いので、この方法は効果が大きい。
【0042】
上述のように、本実施形態は、物体の姿勢を相対姿勢で表した上で、地図の併合を行う点を特徴とする。仮に物体姿勢を絶対姿勢で表すと、一般に絶対座標系の原点から遠くなるほど誤差分散が大きくなり、確率分布の推定精度は悪くなる。また、人間が既存地図を作成する場合は、任意に基準とする物体を決めて、そこからの相対姿勢で他の物体の姿勢を定義する方が容易である。さらに、相対姿勢を使えば、全体地図ではなく、局所領域を示す部分地図を既存地図として利用することも容易になる。前述の従来技術の方法(非特許文献3)では、地図の併合は行われているが、物体姿勢として絶対姿勢を用いているので、上記の問題には対処していない。
【0043】
なお、本発明の地図作成システムは、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることができる。例えば、上述では移動ロボット内に存在するコンピュータ・システム上に構築されるとして説明したが、他の場所にあり、移動ロボットとのデータをやり取りできるように構成したコンピュータ・システム上に構築してもよい。
【0044】
【発明の効果】
上述したように、本発明の移動ロボットによる地図作成方法によれば、ロボットの移動量とセンサの測定データに基づいて、物体の相対姿勢により地図を確率的に作成する。これにより、誤差の少ない(精度の高い)地図情報を作成することができる。
そして、作成した地図を、既存地図と併合することで修正できるため、地図の精度をさらに上げることができる。特に、既存地図として、平行、垂直、隣接といった物体間の定性的な姿勢関係で表した大まかな地図を利用できるため、既存地図を人間が作る場合でも、その負担は小さくて済む。
また、本発明では、既存地図の相対姿勢が新規地図に存在しない場合は、その相対姿勢に付随する物体も新規地図に追加される。これは、センサで計測しにくい物体を地図に登録できるという効果をもたらす。
【図面の簡単な説明】
【図1】本実施形態の地図情報のデータ表現の一例を示す図である。
【図2】本実施形態の地図作成方法の処理手順を示すフローチャートである。
【図3】物体間の相対姿勢、および、センサによる物体の姿勢測定データの一例を示す図である。
【図4】物体間の相対姿勢の推定方法の一例を示す図である。
【図5】物体間の相対姿勢の融合方法の一例を示す図である。
【図6】相対姿勢のループの一例を示す図である。
Claims (4)
- 移動量センサと計測対象の物体の姿勢を計測する姿勢センサを搭載した移動ロボットによる移動ロボット用地図作成システムであって、
物体をノード,物体間の相対姿勢をアークとして作成し、該相対姿勢の不確実性を表す確率分布を該アークに付加したグラフにより表される、該移動ロボットが移動する環境の地図情報を格納する地図記憶手段と、
前記移動ロボットの移動を測定する移動量センサと、
前記移動ロボットの近傍の物体の姿勢を計測し、ロボットの座標系による物体の姿勢情報を得る姿勢センサと、
前記移動ロボットが環境中を移動して、前記移動量センサと前記姿勢センサにより得られたデータ列から、物体間の相対姿勢で表される地図情報とロボットの姿勢との同時推定により、物体間の相対姿勢の確率分布を推定する新規地図情報作成手段とを備え、
前記新規地図情報作成手段は、前記移動量センサから得た該移動ロボットの移動量と、前記姿勢センサで得られた該移動ロボットの座標系によるある物体の姿勢情報と、以前に基準とした他の物体の座標系によるロボットの姿勢とから、前記ある物体を基準とした座標系によるロボットの姿勢と、前記他の物体と前記ある物体との間の相対姿勢とを確率分布とともに推定することで、同時推定を行う
ことを特徴とする移動ロボット用地図作成システム。 - 請求項1に記載の移動ロボット用地図作成システムにおいて、
前記地図記憶手段は、既存地図情報も記憶しており、
記憶している既存地図情報を読み出して新規地図情報と比較し、同じ物体間の相対姿勢を表すアークがあれば、該アークに対する既存地図情報での相対姿勢と、新規地図情報での相対姿勢とを確率的に融合して、前記地図情報手段に新らたな相対姿勢として記憶する既存地図情報融合手段
を備えることを特徴とする移動ロボット用地図作成システム。 - 請求項2に記載の移動ロボット用地図作成システムにおいて、
前記既存地図情報融合手段は、新規地図情報を作成後に起動され、かつ新規地図情報がなければ既存地図情報を新規地図情報として記憶することを特徴とする移動ロボット用地図作成システム。 - 請求項1〜3のいずれかに記載の移動ロボット用地図作成システムにおいて、
新規地図情報において相対姿勢に関するループを検出した場合、ループの始点物体からループに沿って、各物体間の相対姿勢を全部足すと始点物体に戻るように、該ループを構成する相対姿勢の変位を計算するループ解決手段をさらに備えていることを特徴とする移動ロボット用地図作成システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003070782A JP4352148B2 (ja) | 2003-03-14 | 2003-03-14 | 移動ロボット用地図作成システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003070782A JP4352148B2 (ja) | 2003-03-14 | 2003-03-14 | 移動ロボット用地図作成システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004276168A JP2004276168A (ja) | 2004-10-07 |
JP4352148B2 true JP4352148B2 (ja) | 2009-10-28 |
Family
ID=33287444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003070782A Expired - Fee Related JP4352148B2 (ja) | 2003-03-14 | 2003-03-14 | 移動ロボット用地図作成システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4352148B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11880209B2 (en) | 2020-05-15 | 2024-01-23 | Samsung Electronics Co., Ltd. | Electronic apparatus and controlling method thereof |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100776215B1 (ko) * | 2005-01-25 | 2007-11-16 | 삼성전자주식회사 | 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성장치 및 방법과 그 장치를 제어하는 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체 |
KR100843085B1 (ko) | 2006-06-20 | 2008-07-02 | 삼성전자주식회사 | 이동 로봇의 격자지도 작성 방법 및 장치와 이를 이용한영역 분리 방법 및 장치 |
US20090262604A1 (en) * | 2006-08-30 | 2009-10-22 | Junichi Funada | Localization system, robot, localization method, and sound source localization program |
CN100449444C (zh) * | 2006-09-29 | 2009-01-07 | 浙江大学 | 移动机器人在未知环境中同时定位与地图构建的方法 |
KR100809352B1 (ko) * | 2006-11-16 | 2008-03-05 | 삼성전자주식회사 | 파티클 필터 기반의 이동 로봇의 자세 추정 방법 및 장치 |
CN101033971B (zh) * | 2007-02-09 | 2011-02-16 | 中国科学院合肥物质科学研究院 | 一种移动机器人地图创建系统及地图创建方法 |
JP4645601B2 (ja) | 2007-02-13 | 2011-03-09 | トヨタ自動車株式会社 | 環境地図の生成方法及び移動ロボット |
JP6288060B2 (ja) | 2015-12-10 | 2018-03-07 | カシオ計算機株式会社 | 自律移動装置、自律移動方法及びプログラム |
JP6311695B2 (ja) | 2015-12-16 | 2018-04-18 | カシオ計算機株式会社 | 自律移動装置、自律移動方法及びプログラム |
JP6323439B2 (ja) | 2015-12-17 | 2018-05-16 | カシオ計算機株式会社 | 自律移動装置、自律移動方法及びプログラム |
US10675762B2 (en) * | 2015-12-18 | 2020-06-09 | Fuji Xerox Co., Ltd. | Systems and methods for using an external sensor and a mobile device to simulate real sensors for a robot |
JP6187623B1 (ja) | 2016-03-14 | 2017-08-30 | カシオ計算機株式会社 | 自律移動装置、自律移動方法及びプログラム |
KR102656581B1 (ko) * | 2016-11-24 | 2024-04-12 | 삼성전자주식회사 | 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법 |
CN107728615B (zh) * | 2017-09-26 | 2019-12-13 | 上海思岚科技有限公司 | 一种自适应区域划分的方法及系统 |
JPWO2021111613A1 (ja) * | 2019-12-06 | 2021-12-09 | 三菱電機株式会社 | 3次元地図作成装置、3次元地図作成方法、及び3次元地図作成プログラム |
CN111427047B (zh) * | 2020-03-30 | 2023-05-05 | 哈尔滨工程大学 | 一种大场景下自主移动机器人slam方法 |
US20240248483A1 (en) | 2021-06-02 | 2024-07-25 | Tohoku University | Information processing device, moving body, information processing method, and program |
CN116150850A (zh) * | 2023-02-22 | 2023-05-23 | 三星电子(中国)研发中心 | 一种室内建图方法和装置 |
-
2003
- 2003-03-14 JP JP2003070782A patent/JP4352148B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11880209B2 (en) | 2020-05-15 | 2024-01-23 | Samsung Electronics Co., Ltd. | Electronic apparatus and controlling method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP2004276168A (ja) | 2004-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4352148B2 (ja) | 移動ロボット用地図作成システム | |
JP5987823B2 (ja) | 画像センサおよび運動または位置センサから生じたデータを融合するための方法およびシステム | |
JP6445995B2 (ja) | センサデータの空間的集約を用いる適応マッピング | |
EP2380136B1 (en) | A method of estimating a motion of a multiple camera system, a multiple camera system and a computer program product | |
JP7270338B2 (ja) | リアルタイムのマッピングと位置確認のための方法及び装置 | |
JP5219467B2 (ja) | パーティクルフィルター基盤の移動ロボットの姿勢推定方法、装置及び媒体 | |
JP5444952B2 (ja) | センサフュージョンによる地図の自動生成、およびそのように自動生成された地図を用いて移動体の移動をするための、装置、方法、ならびにプログラム | |
CN109416843B (zh) | 实时高度映射 | |
JP4100239B2 (ja) | 障害物検出装置と同装置を用いた自律移動ロボット、障害物検出方法、及び障害物検出プログラム | |
KR101423139B1 (ko) | 3차원 직선을 이용하여 위치를 인식하고 지도를 생성하는 방법 및 그 방법에 따른 이동체 | |
TWI772743B (zh) | 資訊處理裝置以及移動機器人 | |
JP4171459B2 (ja) | 移動体の回転移動量利用方法とその装置、及びコンピュータプログラムを保存するコンピュータ読取り可能な記録媒体 | |
JP2009169845A (ja) | 自律移動ロボット及び地図更新方法 | |
CN112000103B (zh) | 一种agv机器人定位、建图与导航的方法及系统 | |
CN112444246B (zh) | 高精度的数字孪生场景中的激光融合定位方法 | |
Ivanjko et al. | Extended Kalman filter based mobile robot pose tracking using occupancy grid maps | |
CN113835422B (zh) | 一种视觉地图构建方法和移动机器人 | |
Zikos et al. | 6-DoF low dimensionality SLAM (l-SLAM) | |
CN116917695A (zh) | 用于单目视觉-惯性定位系统的比例校准和优化的方法和装置 | |
Barrau et al. | Invariant filtering for pose ekf-slam aided by an imu | |
CN117042927A (zh) | 用于优化单目视觉-惯性定位系统的方法和装置 | |
Sohn et al. | A robust localization algorithm for mobile robots with laser range finders | |
JP5462662B2 (ja) | 位置姿勢計測装置、物体識別装置、位置姿勢計測方法及びプログラム | |
Jesus et al. | Combining monocular and stereo vision in 6D-SLAM for the localization of a tracked wheel robot | |
Song et al. | Scale estimation with dual quadrics for monocular object SLAM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090114 |
|
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: 20090707 |
|
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: 20090709 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120807 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |