SLAM — 地図がないなら、作りながら走る
前回学んだ自己位置推定には「地図がある」という前提がありました。では初めて走る場所では? 地図作りと自己位置推定を同時に解くのが SLAM(Simultaneous Localization and Mapping)です。鶏と卵のジレンマ、占有グリッド、そしてループ閉じ込みまでを動かして掴みます。
1. 鶏と卵のジレンマ
ロボットが LiDAR で壁までの距離を測ったとします。この観測から何が分かるでしょうか。実は「自分がどこにいるか」を知っていれば、測った点を世界座標に置くだけで地図が描けます。逆に「地図を持っていれば」、スキャンと地図を照合して自分の位置を割り出せます。
問題は、初めての場所ではどちらも持っていないこと。下のデモで3つのモードを切り替えて、この相互依存を体感してください。
2. SLAM の定式化 — 同時確率として書く
SLAM を確率の言葉で書くと、次の同時事後分布の推定問題になります。
ポイントは、求めたいものが x と m の同時分布であること。「まず位置を確定してから地図」でも「まず地図を確定してから位置」でもなく、観測と矛盾しない(軌跡, 地図)の組合せを丸ごと探します。①②のモードが解けたのは片方が所与だったから。③では両方を変数にしたまま、整合性だけを手がかりに解くのです。
- オンライン SLAM:現在の姿勢 xt と地図だけを逐次推定(EKF-SLAM、パーティクルフィルタ系)。走行中のロボット向け。
- フル SLAM:軌跡全体 x1:t を後からまとめて最適化(グラフ SLAM)。精密な地図作成向け。現在の主流。
3. 地図のかたち — 占有グリッドマッピング
「地図 m」の代表的な表現が占有グリッド(occupancy grid)です。世界を小さなセルに切り、各セルが「物体で占有されている確率」を持ちます。LiDAR の1本のビームは2つの情報をくれます:ビームが通過したセルは空いている、ビームが止まったセルは占有されている。
スキャンを重ねるほど確信が強まる様子を、走らせながら見てみましょう(このデモでは位置は既知、つまりモード①の状況です)。
各セルの更新は、確率をそのまま掛け算する代わりにログオッズ(対数オッズ)の足し算で行うのが定石です。通過したら一定値を引き、命中したら一定値を足すだけなので、毎秒何十万セルの更新でも軽量に済みます。
4. 累積誤差とループ閉じ込み
モード③のスキャンマッチングは、直前のスキャンとの照合なので小さな誤差がわずかに残り、距離とともに蓄積します。1周して出発点に戻ってきたとき、地図の上では「出発点とは別の場所」に居ることになってしまう — これが SLAM 最大の敵、累積誤差(ドリフト)です。
切り札がループ閉じ込み(loop closure)。「この景色、前に見たぞ!」と気づいた瞬間、始点と終点が同じ場所だという強力な拘束が生まれ、軌跡全体を遡って誤差をばら撒き直せます。
この補正の裏側がポーズグラフ最適化です。過去の姿勢をノード、姿勢間の相対観測(オドメトリやスキャン照合、ループ検出)をエッジとするグラフを作り、全エッジの矛盾が最小になる姿勢の組を求めます。
5. Visual SLAM と LiDAR SLAM
SLAM は使うセンサによって性格が大きく変わります。二大流派を比べてみましょう。
| LiDAR SLAM | Visual SLAM | |
|---|---|---|
| 観測 | 点群(距離が直接手に入る) | 画像(特徴点の方向のみ。距離は多視点から復元) |
| 地図の中身 | 点群地図・占有グリッド | 疎な特徴点地図(+キーフレーム画像) |
| 得意 | 幾何が正確、照明に無関係、夜でも同じ | センサが安価・軽量、テクスチャ豊富な場所、ループ検出(画像は場所の見分けが得意) |
| 苦手 | トンネル・長い廊下など特徴のない幾何、雨や雪の反射 | 暗所・逆光・のっぺりした壁、スケールの曖昧さ(単眼)、高速移動のブレ |
| 代表例 | LOAM、Cartographer、LIO-SAM | ORB-SLAM、VINS-Mono(カメラ+IMU) |
実務では対立ではなく補完の関係です。LiDAR+IMU+カメラを組み合わせ、ループ検出は画像で、幾何の精密化は点群で、と役割分担するシステムが主流になっています(前レッスンのセンサフュージョンがここでも効いてきます)。
6. まとめ
- 位置があれば地図が描け、地図があれば位置が分かる。両方ないときは、両方を同時に推定する — それが SLAM。
- 地図の定番表現は占有グリッド。ログオッズの加算だけでベイズ更新ができる。
- 逐次的な照合では誤差が蓄積する。ループ閉じ込み+ポーズグラフ最適化で軌跡全体を一括補正する。
- LiDAR SLAM と Visual SLAM は得意分野が異なり、実システムでは融合される。