SLAM

Simultaneous Localization and Mapping

SLAMとは

SLAM(Simultaneous Localization and Mapping:自己位置推定と地図構築の同時実行)とは、ロボットやデバイスが未知の環境を移動しながら、自身の位置推定と周囲の環境地図の構築を同時に行う技術です。自律移動ロボット、自動運転車、ARデバイスの基盤技術として不可欠です。

表:SLAMの要点まとめ
ひとことで言うと自分の位置を推定しながら、同時に周囲の地図も作る技術。
どこで使うお掃除ロボット、倉庫の搬送ロボット、AR、ドローンの自律飛行。
注意点誤差が少しずつ溜まる。同じ場所に戻ったときの補正(ループ閉じ込み)が重要。

SLAMの手法分類

SLAMはセンサーの種類によってVisual SLAM(カメラベース)とLiDAR SLAMに大別されます。Visual SLAMの代表例にはORB-SLAM、LSD-SLAM、DSO(Direct Sparse Odometry)などがあります。LiDAR SLAMではLOAMやCartographerが有名です。また、フィルタベース(Extended Kalman Filter、Particle Filter)とグラフベース(g2o、GTSAM)という最適化手法の違いもあります。近年ではディープラーニングを活用したDeep SLAMも研究が進んでおり、特徴点抽出やループ検出にCNNを利用するハイブリッド手法が注目されています。

図:SLAMのサイクル
1センサーで観測カメラやLiDAR
▶
2特徴点を抽出目印になる点を探す
▶
3自己位置を推定どれだけ動いたか
▶
4地図を更新新しい範囲を書き足す
▶
5誤差を補正既知の場所で修正
↺ 移動しながら1〜5をくり返す

SLAMの応用

SLAMは自動運転車の自己位置推定、ドローンの自律飛行、掃除ロボットの走行経路計画、ARアプリケーション(ARKit、ARCore)での空間認識、建物の3Dマッピング、工場や倉庫の自律搬送ロボットなどで活用されています。リアルタイム性、精度、ロバスト性のバランスが実用化の鍵となっています。