SLAMとは、自己位置推定と地図作成の同時実行(Simultaneous Localization and Mapping)の略です。これは、いわば「鶏と卵」の問題を解決します。地図を作成するには、ロボットは自分の位置を知る必要があります。そして、自分の位置を知るには、地図が必要です。SLAMは、この両方を同時に実現します。これは、移動ロボット工学における基礎的な課題の一つです。
ロボットは未知の環境を移動しながら、ライダーのスキャンデータ、カメラ画像、車輪のオドメトリデータ、IMUの読み取り値といったセンサーデータを収集します。そして、自身の位置を推定し、地図を段階的に構築していきます。同じ場所を再訪するたびに、地図と自身の軌跡の両方の誤差を修正します。その結果、一貫性のある地図と正確な経路が得られます。
SLAMアプローチ
- EKF SLAM:拡張カルマンフィルタ、初期手法。
- FastSLAM:パーティクルフィルタ、ランドマーク処理。
- グラフSLAM:姿勢とランドマークをグラフのノードとして扱う。
- ビジュアルSLAM:カメラ、ORB-SLAM、LSD-SLAMを使用する。
- Lidar SLAM:レーザースキャン、Gmapping、Cartographerを使用します。
SLAMは、エラーが累積するため難しい。オドメトリの小さなエラーは時間とともに大きくなる。ループクロージャはこの問題を解決する。ロボットが以前に見た場所を認識すると、ループを閉じて軌道全体を調整します。そのため、SLAMシステムには堅牢な場所認識が必要です。照明の変化や椅子の移動によって認識が失敗することがあります。最新のSLAMシステムは商用製品に使えるほど成熟しています。ロボット掃除機はビジュアルSLAMを使用し、自動運転車はマッピングにLiDAR SLAMを使用しています。SLAMは完全に解決されたわけではありませんが、多くのアプリケーションで十分に機能します。残された課題は、動的な環境、長期マッピング、およびマルチロボットSLAMです。
Comments
No comments yet. Be the first to share a thought.
Leave a comment