JP4352148B2 - Mobile robot mapping system - Google Patents
Mobile robot mapping system 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
【0001】
【発明の属する技術分野】
本発明は、移動ロボットが自らの移動に利用する地図情報を作成するための地図作成システムに関する。
【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】相対姿勢のループの一例を示す図である。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a map creation system for creating map information used by a mobile robot for its own movement.
[0002]
[Technical background]
Construction of an environment map in which a mobile robot moves is an important issue for mobile robots. This map is used by the mobile robot to travel, shows the travelable area of the robot, and informs the arrangement of landmarks necessary for the self-position estimation of the robot. In order to construct a map by a mobile robot, the robot's self-location must be known, and a map must be present in order to know the self-location. Therefore, SLAM (Simultaneous Localization and Mapping) that estimates both at the same time has been studied (for example, Non-Patent Document 1).
As a conventional method, to create a map for moving a mobile robot based on environmental measurement data, a sensor is mounted on the mobile robot, the environment is measured, and the movement amount of the robot is combined with the measurement data of the sensor. There is a method of creating a map by calculating the position and orientation of the object.
The outline of this method is described below. In the following, the position and orientation are collectively referred to as a posture.
[0003]
First, if the mobile robot is a wheel type, the robot's moving direction speed and rotational angular velocity can be calculated by measuring the number of rotations of the left and right wheels. Can be obtained (for example, Non-Patent Document 2). Although the expression “mobile robot” is used in the present invention, a vehicle pushed by a human may be used as long as the amount of movement can be measured from the number of rotations of the wheels. Also, in the case of a legged mobile robot instead of a wheel type, the posture of the robot can be calculated from the displacement amount of the joint angle. Since the relative orientation of the sensor as seen from the robot can be measured in advance, if the orientation of the robot is known, the orientation of the sensor can also be calculated. Therefore, hereinafter, the sensor posture and the robot posture are synonymous.
[0004]
The data measured by the sensor varies depending on the type of sensor. For example, a laser distance sensor can measure the distance and direction from the sensor to the target object. The ultrasonic sensor can also measure the distance from the sensor to the target object and a rough direction. When a camera image is used, the distance and direction from the camera to the object can be obtained based on the principle of stereo stereoscopic vision. In the above three cases, the sensor data for the target object is generally a set of points. In the case of a camera image, an object in the image can be recognized by collating with the object model, and the relative posture of the object viewed from the camera can be obtained. In this case, any sensor can determine the relative posture of the target object viewed from the sensor, but the form and nature of the data obtained are generally different.
[0005]
In order to create a map from the movement amount of the robot and the measurement data of the sensor, first, while the robot is traveling, the measurement of the movement amount of the robot and the measurement of the sensor are synchronized to record the data. Next, the movement amount of the robot is accumulated to calculate the attitude of the sensor in the absolute coordinate system, and the measurement data of the sensor is added to the obtained absolute attitude of the sensor to calculate the attitude of the target object in the absolute coordinate system. By repeating this for all measurement data of the sensor, the arrangement of the measured object is determined, and a map can be created.
A map created by such a method often cannot obtain the correct shape due to the amount of movement of the robot and sensor errors. Therefore, the robot movement amount and sensor data error are represented by probability distribution, and the probability distribution of the robot posture and object posture is estimated based on the sensor data, and the layout that minimizes the error of the entire map is obtained. Has been done. For example, if the robot and object poses are defined on an absolute coordinate system, the probability distribution of the object pose is estimated from the robot movement and sensor measurement data, and the robot measures the same object, the robot path loop The map error is reduced by performing the process of closing (see, for example, Non-Patent Document 3).
[0006]
[Non-Patent Document 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.
[Non-Patent Document 2]
Yoneda, Tsubouchi, Osumi, “First Robot Creation Design”, Kodansha, pp. 22-25
[Non-Patent Document 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]
[Problems to be solved by the invention]
However, the above-described method has a problem that a sufficiently accurate map cannot be obtained when the movement amount of the robot or the measurement error of the sensor data is large. In the method based on the estimation of the probability distribution, an error distribution of the robot movement amount and sensor data is assumed. Therefore, if the error distribution is originally large, the obtained map error naturally increases. For example, when making a map of a room where a robot moves, the orientation of furniture such as a desk or shelf is important information, but it is generally difficult to measure the orientation with a sensor. It is difficult to recognize such furniture with an ultrasonic sensor or a laser distance sensor. For example, even if the shape of a rectangle can be known, it is not possible to know which direction is the front. Further, if the method recognizes an object from a camera image, it is possible to know which direction is the front, but the measured value of the angle may not be highly accurate.
There is also a problem that there are objects that cannot be measured by the sensor. For example, an ultrasonic sensor or a laser distance sensor usually only shows an object at a height where the sensor is placed. Further, it is difficult to detect a thin rod-like object. When using a camera image, it is difficult to detect a transparent object, a complex object, and the like.
[0008]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention measures the attitude of a movement amount sensor and an object to be measured.postureA mobile robot mapping system using a mobile robot equipped with sensors,Object as node and relative posture between objects as arcmake, Represented by a graph in which a probability distribution representing the uncertainty of the relative posture is added to the arc, of the environment in which the mobile robot movesMap storage means for storing map information, a movement amount sensor for measuring movement of the mobile robot, and an object in the vicinity of the mobile robotPosture sensor that measures the posture of the robot and obtains the posture information of the object in the robot coordinate systemWhen,The mobile robot moves through the environment,The movement amount sensor and theAttitude sensorByFrom the obtained data columnBy simultaneous estimation of the map information represented by the relative posture between objects and the posture of the robot,Estimate probability distribution of relative posture between objectsNew map information creation meansThe new map information creating means includes a movement amount of the mobile robot obtained from the movement amount sensor, and posture information of an object as a reference this time based on the coordinate system of the mobile robot obtained by the posture sensor. Probability of the robot posture in the coordinate system based on the certain object and the relative posture between the other object and the certain object from the posture of the robot in the coordinate system of the other object based on the previous Simultaneous estimation is performed by estimating together with the distribution.It is characterized by that.
The map storage means also stores existing map information, reads the stored existing map information, compares it with new map information, and the same objectArc representing relative posture betweenIf there is a,Against the arcExisting map informationRelative posture atWhen,New map informationRelative posture atAnd stochastic fusion,In the map information meansNew relative postureThe existing map information fusion means for storing as may be provided.
The existing map information fusion means is activated after creating new map information, and if there is no new map information, the existing map information may be stored as new map information.
furtherWhen the loop related to the relative posture is detected in the new map information, the displacement of the relative posture constituting the loop is such that, when the relative posture between each object is fully added along the loop from the starting point object of the loop, the loop returns to the starting point object. There may be provided a loop solving means for calculating.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
In the mobile robot map creation system using the mobile robot of the present invention, a map having an object as a structural unit is constructed in the above-described SLAM framework. Specifically, the map is constructed in a form in which an object model is arranged on the floor plane, and the robot recognizes the object by the sensor while moving in the environment, and constructs the map. Most of the conventional map construction studies are targeted at maps that describe the area where the robot can travel, and few have described the map by structuring the environment in units of objects. However, for example, in order to perform complicated operations such as gripping and transporting an object, it is indispensable to identify each object and know its position and orientation, and a map configured in units of objects is required.
In the method proposed in the present invention, a map is represented by a graph in which an object is a node and a relative posture between objects is an arc. The relative attitude arc has a probability distribution for representing an error. The robot constructs a map by estimating the relative posture between objects while performing self-position estimation based on the movement amount and sensor data (measurement data).
[0010]
In addition, the map creation system using a mobile robot according to the present invention uses a map created by a human on a map created by a robot (hereinafter referred to as a new map) or a map measured by another sensor (hereinafter referred to as an existing map). The accuracy of the new map is improved by merging, and the object that could not be detected by the sensor mounted on the robot is registered. For example, if a person creates an existing map in which the direction of furniture is set and merges it with a new map, the direction of furniture is defined even in the new map. If an object that is difficult to detect with a sensor mounted on the robot is registered in an existing map, the object can be registered in a new map.
Hereinafter, an example of an embodiment of a mobile robot map creation system of the present invention will be described in detail with reference to the drawings.
First, the system configuration of this embodiment will be described. This system has a sensor for detecting a movement amount and a posture, and is configured on a computer system existing in a moving robot or the like.
[0011]
<Composition of map information>
Initially, the structure of the map information of this embodiment is demonstrated. As described above, in the present invention, the created map information is stored in the map storage means.
Each table in FIGS. 1A to 1C is a diagram illustrating a configuration example (an example of data expression) of map information to be stored.
FIG. 1A is a diagram illustrating a configuration example of map information. As shown in the figure, the map is composed of a set of object information and a set of relative posture information.
FIG. 1B is a diagram illustrating an example of the configuration of relative posture information. As shown in FIG. 1B, the relative posture information includes the object (start point node) as the start point, the object (end point node) as the end point, and the expected value of the relative posture of the end point object viewed from the start point object. Composed of distributed. In order to indicate an object from the relative posture information, the following unique object name is used.
[0012]
FIG. 1C is a diagram illustrating an example of the configuration of object information. As shown in FIG. 1C, the object has its unique name, shape information, and absolute posture. The unique name is a name uniquely given to each object. The shape information and the absolute posture are used for outputting a map to a display or a printer. The shape information is defined as a two-dimensional or three-dimensional figure. This may be in accordance with a general-purpose graphic display program format on a computer. The absolute posture represents the posture of the object in the absolute coordinate system on the map. This is also used to display the map in an easy-to-view manner for the user. In addition, when there is no need to display a map, shape information and an absolute posture are unnecessary.
[0013]
<Outline of processing of this embodiment>
Next, the processing flow of this embodiment will be described with reference to the flowchart of FIG. The present invention creates a map while measuring the relative posture of the object to be measured as the robot moves.
In FIG. 2, first, in step S210, the amount of movement of the robot and the relative posture between objects existing in the environment are estimated from the measurement data of the robot sensor, and new map information m1Create The method for creating a new map will be described in detail later.
Next, in step S220, the existing map information m2And the relative orientation q of the existing mapijAre taken out one by one. In step S230, new map information m1And qijThe same relative posture as the new map information m1Find out if there is also. Here, the same relative posture indicates that the objects to be measured are the same.
Whether the objects are the same between the two maps is determined by whether the unique names of the objects are the same. However, in step S230, only identity determination based on the unique name is performed, and it is not determined whether the objects are really the same. For this reason, the same object needs to have the same unique name between the two maps. In the present embodiment, it is given in advance by another existing method or given by a human.
[0014]
In step S230, if new map information m1If the same relative posture exists, the process proceeds to step S240. New map information m1If the same relative posture does not exist, the process proceeds to step S250.
In step S240, new map information m1And existing map information m2Stochastic fusion of the relative postures that have in common. The stochastic fusion of relative postures will be described in detail later.
In step S250, the existing map information m2New map information m1New map information1Add to For this reason, first, the relative posture is represented by the new map information m.1Add to the relative posture set. Next, the starting point object and the ending point object of the relative posture are new map information m.1If not, if the object is new map information m1To the set of objects.
[0015]
Next, in step S260, the existing map information m2It is checked whether all the relative postures are extracted. If all the relative postures are extracted, the process proceeds to step S270. If it still remains, the process returns to step S220. In step S270, new map information m1From the set of relative postures, a component that constitutes a loop is found, and processing for eliminating the deviation is performed. Note that the loop solution may be performed not only for all the relative postures but only for the relative postures included in the partial region of interest on the map. For example, the case where the loop solution is limited to the inside of one room is an example. Thereby, the amount of calculation can be reduced.
[0016]
In the present embodiment, the new map information m is obtained in S210.1After the creation of the existing map information m after S2202New map information m1While creating the existing map information m2Fusion processing may be performed. For example, new map information m1Each time the relative posture between objects is measured in the creation of the existing map information m2To the corresponding relative posture qijFusion may be performed by selecting.
[0017]
Hereinafter, each process of the flowchart showing the embodiment of FIG. 2 will be described in detail.
<Create a new map>
First, the new map creation process (S210) will be described with reference to FIGS.
(1. Map representation by relative posture)
In the present embodiment, the map m is represented by a graph m = <E, Q> in which an object is a node and a relative posture between objects to be measured is an arc. E = {ei} Is a set of objects to be measured, Q = {qij} Is a set of relative poses of the object. Assume that a local coordinate system is assigned to each object. qij= (X, y, θ)TAs qijIs the object eiObject e seen from the local coordinate systemjRepresents the relative posture. Here, x and y are local coordinate systems eiE seen from the coordinate systemjThe position of the origin of the coordinate system, θ is eiE seen from the coordinate systemjAn angle formed by the coordinate system. In addition, the relative attitude arc deals only with those explicitly measured by a human or a robot. The relative posture is allowed to have uncertainty, and the uncertainty is expressed by a probability distribution.
[0018]
The robot posture and sensor data are expressed as follows.
(1) Representation of robot posture
The robot posture is expressed based on an object existing in the vicinity, and the reference object is switched as the robot moves. This object is called a reference entity. Reference entity eiThe robot posture in the coordinate system of ri= (X, y, θ)TIt expresses.
Here, x and y are local coordinate systems eiThe robot position as seen from the coordinate system, θ is eiThe angle formed by the robot as seen from the coordinate system.
(2) Representation of sensor data
The robot recognizes an object with a sensor and estimates its posture. The object u is q = (x, y, θ) in the robot coordinate systemTIs represented as z = <u, q>.
Since object recognition only knows the class of an object, u is an unidentified object. Since there may be multiple objects of the same class in the environment, it is necessary to identify u. In this embodiment, this individual identification is performed by another existing method or a human being when giving a unique name of an object.
Note that the object recognition method is a conventional technique (see, for example, “Tomona, Oil Field: Indoor Navigation with Inaccuracy Map and Object Recognition, 7th Robotics Symposia Proceedings, 2002”).
[0019]
The object e is shown in FIG.1, E2Relative posture q12An example is shown. As described above, the relative posture is allowed to have uncertainty, and the uncertainty is expressed by a probability distribution. Although this probability distribution may be arbitrary, for example, assuming a normal distribution, it can be expressed by an average value and a variance. In the present embodiment, the relative posture between the objects is estimated using the measurement data of the posture sensor and the movement amount sensor with respect to the object of the mobile robot.
As described above, the posture of the object is q = (x, y, θ) in the robot coordinate system.TIs obtained by the attitude sensor. FIG. 3B shows an object e by a sensor mounted on the robot 300.1An example of the measurement data is shown. Here, the object e obtained from the sensor1Is represented by q = (x, y, θ). Depending on the sensor, θ may be indefinite. Since this sensor data includes an error, for example, the error can be expressed by a normal distribution. This error variance is determined in advance by examining the characteristics of the sensor. Further, the movement amount of the robot is obtained by a sensor mounted on the robot, as in the prior art. The amount of movement can also be expressed by (x, y, θ) indicating the position and orientation. Since the movement amount includes an error, for example, the error is represented by a normal distribution. This error variance is determined in advance by examining the characteristics of the robot.
[0020]
(2. Simultaneous estimation of map and robot posture)
(1) Problem setting
Next, a method for estimating the relative posture between two objects from the posture of the object obtained from the sensor and the movement amount of the robot will be described.
In the present embodiment, the construction of the map information is a data string ZZ obtained by the robot up to time t.(T)Under the probability distribution P (m | ZZ) of the map m (described in detail later)(T)) Is estimated. However, the probability distribution P (m | ZZ(T)) Is the simultaneous probability of all relative attitude arcs, so the dimension is very large and difficult to handle as it is. Therefore, in this embodiment, instead of managing the probability of the entire map information, it is handled as a problem of obtaining the probability distribution of each relative attitude arc. That is, P (qij| ZZ(T)) To build map information.
[0021]
4A and 4B are schematic diagrams of the map information corresponding to one relative posture arc and the simultaneous estimation of the robot posture. Now,
In such a situation, the robot travels while recognizing the environment, and updates the probability distribution of the self-location and the map information. That is, the relative posture r1 1If the probability distribution of is obtained by the previous calculations, the point S1To point S2Amount of movement and object e2From the measured data, point S2Robot object e2Relative posture from (r1 2And relative posture q12Find the probability distribution of.
[0022]
Also, point S2Robot e1Relative posture from2 1Can be calculated from the amount of movement of the robot as described above.
At this time, due to the estimation error of the movement amount, as shown in FIG.2 1
Hereinafter, the process for obtaining the above probability distribution will be formulated and described.
[0023]
(2) Simultaneous probability of map information and robot posture
The data string is 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)Is the sensor data <u at time t(T), Q(T)>, A(T-1)Represents a running event of the robot from time t-1 to t. In the following, q(T)Is simply represented as q. It is assumed that the robot sets the reference entity to the object recognized at that time and does not change during one traveling event.
As described above, in the present embodiment, it is assumed that an individual can be identified by a unique name. In the following, sensor data <u(T), Q(T)> U(T)Is the object e1And objects e2Is implicitly excluded from the expression.
[0024]
First, the relative attitude arc q12And robot posture r1 2Simultaneous probability P (q12, R1 2| ZZ(T)) Is calculated by the following equation (1) using Bayes' theorem. R1 2Is point S2Robot object e2The relative posture from
[Expression 1]
... Formula (1)
Here, α is a normalization coefficient. In the first term on the right side, P (q | r1 2, Q12, ZM(T-1)) = P (q | r1 2). ZM(T-1)The omission is based on Markovian assumption. q12Is omitted when q is robot and object e2Relative posture r1 2Q12By not depending on.
[0025]
Further, P (q) in the formula (1)12, R1 2| ZM(T-1))1 1To r2 1And then the reference entity is moved to the object e2It can be transformed as the following equation (2).
[Expression 2]
... Formula (2)
Where P (r1 2| R2 1, Q12, ZM(T-1)) R1 2, R2 1, Q12Because it is determined only by the relationship (becomes a δ function), ZM(T-1)Can be omitted.
[0026]
P (q) in formula (2)12, R2 1| ZM(T-1)) Is represented by the following formula (3).
[Equation 3]
... Formula (3)
P (r in formula (3)2 1| R1 1, A(T-1)) Is r1 1Travel from a(T-1)R2 1Is the probability of reaching Assuming that the state of the bottom surface in the vicinity of each object is the same and there is no obstacle, this probability does not depend on the map information or the data so far,(T-1)It can be calculated only from the measurement result of the movement amount. On the other hand, P (q12, R1 1| A(T-1), ZZ(T-1)A)(T-1)Is r1 1To r2 1Q12, R1 1Omitted because it does not affect. Q12And r1 1Are independent and P (q12, R1 1| ZZ(T-1)) Was disassembled.
[0027]
Summarizing the above equations (1) to (3), the distribution is updated as follows in one round in which the robot recognizes one movement and recognizes an object.
[Expression 4]
... Formula (4)
Thus, if the previous robot posture distribution and the relative posture arc distribution are stored, the simultaneous distribution of the robot posture and the relative posture arc at the present time can be calculated.
[0028]
(3) Estimation of robot posture
From the above equation (4), the robot posture r1 2The probability distribution of can be calculated as follows.
[Equation 5]
... Formula (5)
[0029]
(4) Relative attitude arc estimation
The probability distribution P (q12| ZZ(T)) Can be calculated as follows:
[Formula 6]
... Formula (6)
In the equations (5) and (6), P (q | r1 2) Is determined by the error characteristic of the object posture sensor of the robot, and P (r2 1| R1 1, A(T-1)) Is determined by the error characteristics of the robot movement amount sensor. P (r1 2| R2 1, Q12) Is the vector sum (r1 2+ Q12) Is
P (q12| ZZ(T-1)) Is the relative posture q12If is present on an existing map, its probability distribution is used. If it does not exist on the existing map, the distribution is uniform. P (r1 1| ZZ(T-1)), As described above, it is assumed that the value has been obtained in the previous processing.
Equations (5) and (6) are calculated using the above probability distribution.
However, since equations (5) and (6) include integration, they are generally difficult to calculate. For this reason, the self-position estimation algorithm using the conventional particle filter was expanded and implemented. As for this prior art, for example, “Tomona, Oilfield:“ Self-position estimation of mobile robot in a map that allows inaccuracy ”, Journal of the Robotics Society of Japan, VOL.20, No.4, pp.75-86, 2002” Please refer to.
[0030]
<Consolidation of new map and existing map>
Next, the merge of a new map and an existing map will be described with reference to FIG. This is the process shown in S220 to S260 of FIG. 2 described above. For example, the new map information created by the mobile robot is merged with the existing map information created by a human to obtain more accurate map information. The purpose is to create.
[0031]
(1. Fusion of relative posture)
Object on existing map1And e2If the relative posture between the two is defined, this is used to determine the relative posture q estimated above.12Can improve the accuracy.
When both the existing map created by a human and the new map created by the mobile robot have a common relative attitude arc, the relative attitude is stochastically fused. This is equivalent to P (q in the above equation (6).12| ZZ(T-1)) With an existing map, add measurement data to it and add P (q12| ZZ(T)) Can be calculated.
[0032]
This is shown in FIG. FIG. 5A shows an object e defined on an existing map.1Object e seen from2Relative posture q1 12It is a figure which shows the
Then, as shown in FIG.1 12Is more accurate relative posture q3 12(Indicated by 520 in FIG. 5B) can be obtained. Specifically, q in FIG.1 12The
[0033]
Further, as shown in FIG. 5C, the robot posture is also updated (in the figure, the updated value is represented by a probability distribution 530). Specifically, q in FIG.1 12The
The robot posture r updated in this way1 2Is the reference entity e1To e2It has changed to. Robot is e2When going from one to the next object, the same processing as described above is repeated for the object.
As described above, the relative posture between the measured objects can be obtained.
On the other hand, if there is a relative posture of the existing map that is not in the new map, the relative posture cannot be merged, and the relative posture is added to the new map.
[0034]
(2. Fusion as a loop)
When the existing map has a relative posture arc that does not exist in the new map, the above-described posture distribution cannot be directly merged. However, a loop may occur due to the combination of both arcs. In this case, the relative attitude arc of the existing map works as a constraint condition for the new map through the loop, and the accuracy of the map information can be improved.
Humans can easily define relative postures between objects in parallel or perpendicular positional relations and adjacent objects, and are effective geometric constraints. The accuracy of map information can be improved by defining a relative attitude arc representing such a constraint in an existing map and solving a loop by merging with a new map.
The loop solution will be described below.
[0035]
<Resolution of loop>
Next, the loop solution will be described in detail. This is the process shown in S270 of FIG.
When the created map information is used by the mobile robot or displayed to the user, the expected value or maximum probability point of the probability distribution of each relative attitude arc obtained above is used as a representative value. Will make a simple map. However, a map created by connecting representative values of individual relative attitude arcs is distorted by data errors. Therefore, consider introducing a constraint between the relative attitude arcs to eliminate this distortion. In this embodiment, a method using a loop constraint is used for this purpose.
[0036]
(1. Formulation)
A chain of relative postures between objects generally forms a loop, but due to various errors, a phenomenon occurs in which the loop does not close well.
FIG. 6 shows an example of a loop. FIG. 6A is a map when the relative posture is consistent. In this case, the relative posture q1~ Q4Follow the object e1Returns to its original position and the loop is closed.
On the other hand, FIG. 6B shows an example in the case where the relative posture is not consistent and is distorted. Relative posture q1~ Q4Follow the same object e1Becomes a different posture from the beginning (indicated by 610), and the loop does not close. Since this phenomenon has an error in the value of the relative posture as described above, if the expected value is adopted as the representative value, e1This happens because the postures in the absolute coordinate system are different.
In order to eliminate this inconsistency between the relative postures, in the present embodiment, processing for closing the loop is performed.
[0037]
Now assume that the map contains n relative attitude arcs, each of which is represented by qi= (Xi, Yi, Θi)T, 1 ≦ i ≦ n. Q predefined in the mapiOr q that the robot asked foriThe estimated value of q ′i, The covariance matrix is RiAnd
In the method proposed in this embodiment, the loop solution is performed by estimating the value q ′ while satisfying the loop constraint.iThis is considered as an optimization problem for obtaining a relative posture q that minimizes the sum of squares of errors. Where q = {q1, ..., qn}. This formulation is shown in Formula (7)-Formula (10).
[0038]
[Expression 7]
... Formula (7)
[Equation 8]
... Formula (8)
[Equation 9]
... Formula (9)
[Expression 10]
... Formula (10)
[0039]
G in formula (8)j(Q) is a constraint equation for the j-th loop. Loop j is njQ consisting of arcsj1, Qj2, ..., qjnjAssume that arcs are arranged in the order of. qj1Is the starting point of the loop. gj(Q) = 0 represents a constraint that if the relative postures between the objects are all added along the loop from the starting object of the loop, the object must return to the starting object. L is the number of independent loops included in the map. M (φjk) Is the relative attitude arc qjkIs a matrix that converts to the coordinate system of the starting object of the loop.
[0040]
(2. Implementation)
The above problem becomes a nonlinear minimization problem. The implementation used particle filters, but there are other ways to solve the nonlinear minimization problem. The particle filter here is used for obtaining the minimum value, unlike the case of obtaining the distribution at each point of the Markov process as described above. The particle filter at this time works very similar to the Genetic Algorithm.
The particle filter here is detailed in, for example, “J. Deutshcher, A. Blake, and I. Reid:“ Articulated Body Motion Capture by Annealed Particle Filtering ”Proc. Of CVPR2000, 2000”.
The procedure is shown below. Each particle has all the variables included in q. As an evaluation value, E (q) = f (q) + Σj‖Gj(Q) Use cocoons.
(1) Particles are generated using the relative postures obtained by equation (6) as initial values.
(2) Each variable value of the particle is randomly changed according to a predetermined normal distribution, and the evaluation value E (q) is calculated. Save the particle with the smallest evaluation value. The weight of each particle is e-E (q)Set to a value proportional to.
(3) Resample the particles with a probability proportional to the weight, and return to (2).
(4) After repeating (2) and (3) a predetermined number of times, the relative orientation value of the particle that has obtained the minimum evaluation value is taken as the solution.
[0041]
As described above, the accuracy of the map can be improved by merging the existing map with the new map. For example, if a person creates an existing map in which the direction of furniture is set and merges it with a new map, the direction of furniture is defined even in the new map. If an object that is difficult to detect by a sensor mounted on the robot is registered in an existing map, the object can be registered in a new map.
The existing map may be a map previously made by a robot or a map made by a human. However, when a human makes an existing map, if the relative posture is qualitatively expressed, the human burden can be reduced. For example, when two desks are arranged in parallel in the same direction, the expected value of the angle component θ of the relative posture between them is set to 0 degree to reduce the variance. If the orientation is vertical, the expected value of θ is set to 90 degrees to reduce the variance. By preparing a user interface for converting such a qualitative geometric relationship into a quantitative value of a relative posture, the burden on humans can be greatly reduced. Particularly in the case of indoor maps, this method is very effective because the arrangement of objects often follows a regular geometric relationship such as parallel, vertical, or adjacent.
[0042]
As described above, the present embodiment is characterized in that the map is merged after the posture of the object is expressed as a relative posture. If the object posture is represented by an absolute posture, generally, the error variance increases as the distance from the origin of the absolute coordinate system increases, and the estimation accuracy of the probability distribution deteriorates. In addition, when a human creates an existing map, it is easier to determine an object as a reference arbitrarily and define the posture of another object based on the relative posture therefrom. Furthermore, if the relative posture is used, it becomes easy to use a partial map indicating a local area as an existing map instead of the entire map. In the above-described prior art method (Non-Patent Document 3), the map is merged, but since the absolute posture is used as the object posture, the above problem is not dealt with.
[0043]
In addition, the map creation system of this invention is not limited to said embodiment, A various change can be added in the range which does not deviate from the summary of this invention. For example, in the above description, it is assumed that the computer system is built on the mobile robot. However, the computer system may be built on a computer system that is in another location and configured to exchange data with the mobile robot. Good.
[0044]
【The invention's effect】
As described above, according to the map creation method using the mobile robot of the present invention, the map is created probabilistically based on the relative posture of the object based on the movement amount of the robot and the sensor measurement data. Thereby, map information with little error (high accuracy) can be created.
Since the created map can be corrected by merging with the existing map, the accuracy of the map can be further increased. In particular, as an existing map, a rough map expressed by a qualitative posture relation between objects such as parallel, vertical, and adjacent objects can be used.
Further, in the present invention, when the relative posture of the existing map does not exist in the new map, an object accompanying the relative posture is also added to the new map. This brings about an effect that an object that is difficult to measure with a sensor can be registered in a map.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an example of a data representation of map information according to the present embodiment.
FIG. 2 is a flowchart showing a processing procedure of a map creation method of the present embodiment.
FIG. 3 is a diagram illustrating an example of relative posture between objects and data for measuring the posture of an object by a sensor.
FIG. 4 is a diagram illustrating an example of a method for estimating a relative posture between objects.
FIG. 5 is a diagram illustrating an example of a method for merging relative postures between objects.
FIG. 6 is a diagram illustrating an example of a relative posture loop;
Claims (4)
物体をノード,物体間の相対姿勢をアークとして作成し、該相対姿勢の不確実性を表す確率分布を該アークに付加したグラフにより表される、該移動ロボットが移動する環境の地図情報を格納する地図記憶手段と、
前記移動ロボットの移動を測定する移動量センサと、
前記移動ロボットの近傍の物体の姿勢を計測し、ロボットの座標系による物体の姿勢情報を得る姿勢センサと、
前記移動ロボットが環境中を移動して、前記移動量センサと前記姿勢センサにより得られたデータ列から、物体間の相対姿勢で表される地図情報とロボットの姿勢との同時推定により、物体間の相対姿勢の確率分布を推定する新規地図情報作成手段とを備え、
前記新規地図情報作成手段は、前記移動量センサから得た該移動ロボットの移動量と、前記姿勢センサで得られた該移動ロボットの座標系によるある物体の姿勢情報と、以前に基準とした他の物体の座標系によるロボットの姿勢とから、前記ある物体を基準とした座標系によるロボットの姿勢と、前記他の物体と前記ある物体との間の相対姿勢とを確率分布とともに推定することで、同時推定を行う
ことを特徴とする移動ロボット用地図作成システム。A mobile robot mapping system using a mobile robot equipped with a movement sensor and a posture sensor that measures the posture of an object to be measured,
Creates an object as a node and a relative pose between objects as an arc, and stores map information of the environment in which the mobile robot moves, represented by a graph with a probability distribution representing the uncertainty of the relative pose added to the arc Map storage means to
A movement amount sensor for measuring movement of the mobile robot;
A posture sensor that measures the posture of an object in the vicinity of the mobile robot and obtains posture information of the object by a coordinate system of the robot ;
Said mobile robot moves in the environment, from said data string obtained by the moving amount sensor and the orientation sensor, the simultaneous estimation of the orientation of the map information and a robot represented by a relative posture between the object, between the object a new map information creating means for estimating the probability distribution of the relative attitude,
The new map information creation means includes the movement amount of the mobile robot obtained from the movement amount sensor, the posture information of an object based on the coordinate system of the mobile robot obtained by the posture sensor, and other previously used references. From the posture of the robot based on the coordinate system of the object, the posture of the robot based on the coordinate system based on the certain object and the relative posture between the other object and the certain object are estimated together with the probability distribution. A mobile robot mapping system characterized by simultaneous estimation .
前記地図記憶手段は、既存地図情報も記憶しており、
記憶している既存地図情報を読み出して新規地図情報と比較し、同じ物体間の相対姿勢を表すアークがあれば、該アークに対する既存地図情報での相対姿勢と、新規地図情報での相対姿勢とを確率的に融合して、前記地図情報手段に新らたな相対姿勢として記憶する既存地図情報融合手段
を備えることを特徴とする移動ロボット用地図作成システム。The mobile robot map creation system according to claim 1,
The map storage means also stores existing map information,
The stored existing map information is read out and compared with new map information. If there is an arc representing the relative posture between the same objects , the relative posture in the existing map information and the relative posture in the new map information with respect to the arc A map creation system for a mobile robot , comprising: existing map information fusion means for stochastically fusing and storing the map information means as a new relative posture .
前記既存地図情報融合手段は、新規地図情報を作成後に起動され、かつ新規地図情報がなければ既存地図情報を新規地図情報として記憶することを特徴とする移動ロボット用地図作成システム。The mobile robot map creation system according to claim 2,
The existing map information fusion means is activated after creating new map information, and stores the existing map information as new map information if there is no new map information.
新規地図情報において相対姿勢に関するループを検出した場合、ループの始点物体からループに沿って、各物体間の相対姿勢を全部足すと始点物体に戻るように、該ループを構成する相対姿勢の変位を計算するループ解決手段をさらに備えていることを特徴とする移動ロボット用地図作成システム。In the mobile robot map creation system according to any one of claims 1 to 3,
When a loop related to the relative posture is detected in the new map information, the relative posture displacement that constitutes the loop is changed so that returning to the starting point object when all the relative postures between the objects are added along the loop from the starting point object of the loop. A map creation system for a mobile robot, further comprising a loop solving means for calculating.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003070782A JP4352148B2 (en) | 2003-03-14 | 2003-03-14 | Mobile robot mapping system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003070782A JP4352148B2 (en) | 2003-03-14 | 2003-03-14 | Mobile robot mapping system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004276168A JP2004276168A (en) | 2004-10-07 |
JP4352148B2 true JP4352148B2 (en) | 2009-10-28 |
Family
ID=33287444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003070782A Expired - Fee Related JP4352148B2 (en) | 2003-03-14 | 2003-03-14 | Mobile robot mapping system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4352148B2 (en) |
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 (en) * | 2005-01-25 | 2007-11-16 | 삼성전자주식회사 | Apparatus and method for estimating location and generating map of mobile body, using upper image, computer-readable recording media storing computer program controlling the apparatus |
KR100843085B1 (en) | 2006-06-20 | 2008-07-02 | 삼성전자주식회사 | Method of building gridmap in mobile robot and method of cell decomposition using it |
EP2063287A1 (en) * | 2006-08-30 | 2009-05-27 | NEC Corporation | Localization system, robot, localization method, and sound source localization program |
CN100449444C (en) * | 2006-09-29 | 2009-01-07 | 浙江大学 | Method for moving robot simultanously positioning and map structuring at unknown environment |
KR100809352B1 (en) * | 2006-11-16 | 2008-03-05 | 삼성전자주식회사 | Method and apparatus of pose estimation in a mobile robot based on particle filter |
CN101033971B (en) * | 2007-02-09 | 2011-02-16 | 中国科学院合肥物质科学研究院 | Mobile robot map building system and map building method thereof |
JP4645601B2 (en) * | 2007-02-13 | 2011-03-09 | トヨタ自動車株式会社 | Environmental map generation method and mobile robot |
JP6288060B2 (en) | 2015-12-10 | 2018-03-07 | カシオ計算機株式会社 | Autonomous mobile device, autonomous mobile method and program |
JP6311695B2 (en) | 2015-12-16 | 2018-04-18 | カシオ計算機株式会社 | Autonomous mobile device, autonomous mobile method and program |
JP6323439B2 (en) | 2015-12-17 | 2018-05-16 | カシオ計算機株式会社 | Autonomous mobile device, autonomous mobile method and program |
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 (en) | 2016-03-14 | 2017-08-30 | カシオ計算機株式会社 | Autonomous mobile device, autonomous mobile method and program |
KR102656581B1 (en) * | 2016-11-24 | 2024-04-12 | 삼성전자주식회사 | Mobile robot and system having the same and controlling method of mobile robot |
CN107728615B (en) * | 2017-09-26 | 2019-12-13 | 上海思岚科技有限公司 | self-adaptive region division method and system |
WO2021111613A1 (en) * | 2019-12-06 | 2021-06-10 | 三菱電機株式会社 | Three-dimensional map creation device, three-dimensional map creation method, and three-dimensional map creation program |
CN111427047B (en) * | 2020-03-30 | 2023-05-05 | 哈尔滨工程大学 | SLAM method for autonomous mobile robot in large scene |
US20240248483A1 (en) | 2021-06-02 | 2024-07-25 | Tohoku University | Information processing device, moving body, information processing method, and program |
CN116150850A (en) * | 2023-02-22 | 2023-05-23 | 三星电子(中国)研发中心 | Indoor graph construction method and device |
-
2003
- 2003-03-14 JP JP2003070782A patent/JP4352148B2/en 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 (en) | 2004-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4352148B2 (en) | Mobile robot mapping system | |
JP5987823B2 (en) | Method and system for fusing data originating from image sensors and motion or position sensors | |
JP7270338B2 (en) | Method and apparatus for real-time mapping and localization | |
EP2380136B1 (en) | A method of estimating a motion of a multiple camera system, a multiple camera system and a computer program product | |
Maier et al. | Real-time navigation in 3D environments based on depth camera data | |
JP5219467B2 (en) | Method, apparatus, and medium for posture estimation of mobile robot based on particle filter | |
JP5444952B2 (en) | Apparatus, method, and program for automatic generation of map by sensor fusion, and movement of moving object using such automatically generated map | |
CN109416843B (en) | Real-time altitude mapping | |
JP4100239B2 (en) | Obstacle detection device and autonomous mobile robot using the same device, obstacle detection method, and obstacle detection program | |
JP2016157473A (en) | Adaptive mapping using spatial concentration of sensor data | |
KR101423139B1 (en) | Method for localization and mapping using 3D line, and mobile body thereof | |
JP4171459B2 (en) | Method and apparatus for using rotational movement amount of moving body, and computer-readable recording medium storing computer program | |
JP2009169845A (en) | Autonomous mobile robot and map update method | |
TWI772743B (en) | Information processing device and mobile robot | |
CN112444246B (en) | Laser fusion positioning method in high-precision digital twin scene | |
Ivanjko et al. | Extended Kalman filter based mobile robot pose tracking using occupancy grid maps | |
CN113835422B (en) | Visual map construction method and mobile robot | |
CN112000103A (en) | AGV robot positioning, mapping and navigation method and system | |
Zikos et al. | 6-DoF low dimensionality SLAM (l-SLAM) | |
CN116917695A (en) | Method and apparatus for scale calibration and optimization of monocular vision-inertial positioning system | |
JP2006252275A (en) | Restoration system of camera motion and object shape | |
CN117042927A (en) | Method and apparatus for optimizing a monocular vision-inertial positioning system | |
Barrau et al. | Invariant filtering for pose ekf-slam aided by an imu | |
Sohn et al. | A robust localization algorithm for mobile robots with laser range finders | |
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 |