top of page

広い空間でもSLAMで地図は作れるのか?地図の歪みが発生する理由と、誤差を抑える技術

更新日:5 時間前

「地図作成できる空間の広さに限界はありますか?」当社では、多くの企業からこのようなお問い合わせをいただきます。


実際に出展させていただいた展示会場という広い空間で地図を作成したところ、問題なく地図を作ることができました。もちろん、細かく見ると誤差の蓄積による微妙なずれや、累積誤差による地図の歪みは残っています。

しかし、ループ検出によって過去に通った場所との位置関係が補正され、全体としてはかなりきれいな地図になっています。


展示会場のマップ
展示会場のマップ

では、なぜこのような広い空間でも地図を作ることができるのでしょうか。今回は、SLAMで誤差が発生する理由と、それをどのような工夫で抑えているのかを一般論として紹介します。


なお、本記事はSLAM技術の一般的な考え方をまとめたものであり、当社AMRへの実装内容とは分けてお読みください。当社のパーティクルフィルタを用いる方式では、Scan Matcherが返したスコアを用いて各パーティクルを評価しています。


地図作成の前提


地図作成とは、LiDARなどで観測したランドマークをセンサー座標系から地図座標系へ変換して配置していく処理です。外部からランドマークの正確な位置が与えられず、ロボット自身が自分で推論する場合、誤差は少しずつ累積します。

つまり、SLAMでは地図がずれること自体は避けられません。


そのため重要なのは、誤差をなくすことではなく、誤差が広がらないように抑え、最後に補正することです。以降では、実際にどこで誤差が発生し、それをどのように抑えているのかを紹介します。


誤差はどこで発生するのか


① LiDARセンサーの誤差


LiDARはレーザー光の反射を利用して周囲を計測します。

ただし、1回分のスキャンは完全に同じ瞬間に取得されるわけではありません。静止中に取得したデータと比較して、回転中に取得したデータでは顕著な誤差を含むことがあります。

そこで、スキャン中に進んだ距離や回転量を利用して補正を行います。


修正されなかった誤差の例
修正されなかった誤差の例

② オドメトリの誤差


ロボット位置を推定する代表的な方法がオドメトリです。

しかし、タイヤ直径、トレッド幅、タイヤの滑り、2D LiDARとの相対位置、オドメトリとスキャンの同期ずれ等、多くの誤差要因があります。これらの誤差が積み重なることで、自己位置推定は徐々にずれていきます。



③ スキャンマッチングの誤差


オドメトリだけでは誤差が蓄積するため、SLAMではスキャンマッチングによって位置を補正します。現在のスキャンと過去のスキャン、または地図を比較し、最もよく一致する位置を探します。

しかし、計算方法によっては局所解に収束したり、似た柱や棚が複数ある環境では誤った場所へ対応付けてしまう可能性があります。


誤差を小さくするための工夫


ここまで紹介したような誤差をできるだけ小さくするため、SLAMでは様々な工夫が行われています。


① データの前処理


LiDARのスキャンデータは点群で構成されます。

LiDARは一定の角度間隔で計測するため、近距離では点群が密になり、遠距離では疎になります。そのまま計算すると、点数の多い近距離の情報が結果を支配しやすく、本来は姿勢推定に有効な遠方の情報を十分に活用できない場合があります。

そのため、近接したスキャン点を代表点や平均点にまとめるなど、点群密度を均一化する前処理が行われます。


② 点群データの扱いを工夫する


計算量を削減するため、地図を格子状(セル)に分割し、各セルへ点群情報を格納する方法があります。これにより、対応点探索を効率化できます。


③ 参照データを活用する


ロボットの目の前に人や台車などの移動体が現れると、その後ろにある壁や柱が一時的に見えなくなることがあります。これをオクルージョンと呼びます。

直前のスキャンだけを参照すると、利用できる点群が大きく減り、スキャンマッチングが不安定になる場合があります。

そこで、参照データとして直前のスキャンだけでなく、それまでに作成した地図や部分地図を利用する方法があります。


④ 計算方法を工夫する


スキャンマッチングでは、現在の観測点と地図上の対応点との誤差を評価するため、コスト関数を用いて位置合わせを行います。代表的な方法では、観測点に対して地図上で最も近い点を対応付け、両者の距離の二乗和が最小になるようにロボット位置を最適化します。


しかし、誤った点同士が対応付けられると、その誤対応を含めて計算が行われるため、正しい位置ではなく局所的に誤差が小さい位置へ収束することがあります。また、長い壁のような平面が多い環境では、壁と平行な方向へ移動しても誤差がほとんど変化しないため、正しい位置を決めにくくなります。


そこで、点と点の距離ではなく、観測点から壁を表す線へ垂線を下ろし、その垂直距離を最小にする方法があります。壁面が多い環境では、Point-to-Pointよりも安定した位置推定が可能になります。



最も効果が大きいのはループ閉じ込み


ループ閉じ込みによる累積誤差の補正


SLAMには、ループ閉じ込み(Loop Closure)と呼ばれる処理があります。

これは、ロボットが周回して過去に通った場所へ戻ってきたことを検出し、現在位置と過去の位置との整合性を取り直すことで、地図全体のずれを補正する方法です。


SLAMでは、ロボット自身が自己位置とランドマークの位置を推定しているため、走行距離が長くなるほど累積誤差が大きくなります。外部の絶対位置が分かるランドマークを利用する方法ほど直接的ではありませんが、ループ閉じ込みは、それに次ぐ大きな補正効果を持つ重要な機能です。


ループが閉じない場合に起こる問題


ループ閉じ込みが正しく行われないと、同じ場所が地図上に二重に描かれたり、地図全体に歪みが残ったりすることがあります。

その結果、現在取得したスキャンを地図のどの部分に合わせればよいか判断しにくくなり、自己位置推定が不安定になる場合があります。


ループ検出の範囲を限定する


ループ検出には、スキャンマッチングが利用されます。

しかし、地図全体を対象に候補を探すと計算時間が長くなります。また、似た形状の場所が増えるほど誤検出の可能性も高くなり、地図の歪みや重複が大きい部分では、マッチング自体が難しくなることがあります。

そこで、ロボットの走行軌跡を分割して部分地図を作成し、候補となる範囲を限定したうえでスキャンマッチングを行う方法があります。


ループ検出を高速化する方法


このほかにも、ループ検出を高速かつ安定して行うため、さまざまな探索方法が利用されます。誤差楕円を用いて、自己位置の不確かさから探索範囲を限定する方法があります。また、最初に粗く探索してから有力な候補だけを細かく調べる粗密探索や、見込みの低い候補を途中でまとめて除外する分岐限定法なども用いられます。

これらの方法によって、地図全体を総当たりで探索するよりも、効率的にループ候補を検出できます。


SLAMのループ閉じ込みの様子
ループ閉じ込みの様子

ロバストコスト関数


スキャンマッチングでは、対応点との誤差を最小二乗法で評価することがあります。しかし、最小二乗法では誤差が10倍の対応点は100倍の影響を持つため、たった1つの誤対応や外れ値が位置推定全体を大きく左右してしまいます。


そこで用いられるのがロバストコスト関数です。ロバストコスト関数は、誤差が極端に大きい対応点の影響を意図的に小さくする誤差評価関数であり、外れ値によって位置推定が大きく崩れることを防ぎます。


実際に広いエリアで地図を作成


当社では、展示会場という広い空間で実際に地図を作成しました。

細かく見ると誤差の蓄積によるずれや地図の歪みは確認できますが、ループ閉じ込みによる補正が働くことで、広い空間でも実用上十分な品質の地図を作成できています。




まとめ


SLAMで作成できる地図の広さに、単純な面積だけで決まる明確な上限があるわけではありません。


ただし、走行距離が長くなり、地図が広くなるほど、LiDAR、オドメトリ、スキャンマッチングによる小さな誤差は累積していきます。そのため、広い空間で安定した地図を作成するには、データの前処理や参照データの活用、計算方法の工夫によって日々の誤差を抑えながら、ループ閉じ込みによって地図全体のずれを補正することが重要です。


つまり、広い空間で地図を作れる理由は、SLAMが誤差を完全になくしているからではありません。発生する誤差を小さく抑え、外れ値の影響を減らし、過去に通った場所との整合性を取り直すことで、累積誤差を管理しているからです。


一方で、同じような形状が長く続く場所や、特徴物が少ない場所、人や台車などの移動体が多い環境では、地図作成が難しくなることがあります。そのため、実際の導入では地図の面積だけでなく、走行経路、周囲の形状、移動体の有無、ループを形成できる経路かどうかを含めて確認することが重要です。


今回の展示会場での地図作成結果からも、適切な環境と補正処理があれば、広い空間でも実用的な地図を作成できることが分かります。


参考文献


本記事は、YOKOIDO AMRの開発・評価・現場導入で得られた知見に加え、SLAMの基礎理論については以下の文献を参考に執筆しています。

  • 友納 正裕『SLAM入門 改訂2版 ロボットの自己位置推定と地図構築の技術』オーム社

※本記事では、書籍で解説されているSLAMの基礎理論を踏まえつつ、実際の工場・物流現場における大規模地図運用やAMR導入で得られた知見を交えながら解説しています。


bottom of page