SLAMとは?SLAMの基本技術と活用 | 特殊車両ならトノックス
自動運転やAGV(Automatic Guided Vehicle:無人搬送車)、ロボットなど様々なアプリケーションに採用されている「SLAM(スラム)」技術。
「SLAM(スラム)」とは、Simultaneous Localization and Mappingの略称で、「位置特定と地図作成を同時に行う」という意味です。
自動運転技術の開発において、「SLAM(スラム)」がどのような用途や役割を担っているか解説してまいります。
1.SLAM技術の機能と活用
「SLAM(スラム、Simultaneous Localization and Mapping:位置特定と地図作成を同時に行う)」技術をもう少しわかりやすく説明いたしますと、未知の環境下において、カメラやLiDARなどのセンサーからの入力をもとに、地図の中で自分がどこにいるのか(現在地点)、どっちを向いているのか(進行方向)を技術的に正確に認識する「位置特定」と、周りに何があるのか、色々な情報を収集して周辺環境を把握する「地図作成」を同時に行う技術ということになります。
一般的にLocalization=自己位置推定、Mapping=環境地図作成、と表現されることが多く、「SLAM(スラム)」とは「自己位置推定と環境地図作成を同時に行う技術」の総称になります。
「SLAM(スラム)」技術により、自分がどこにいるのか、周辺がどうなっているのかを把握することができるため、自動運転技術はもちろん、ドローンやAGV(無人搬送車)、ロボット、AR/VR/MRなど、様々なアプリケーションに適用することができます。いずれのアプリケーションも、現在地点と周辺地図を正確に把握することが非常に重要になります。
例えば自動運転の場合、「SLAM(スラム)」によって自身と周辺にある障害物やランドマークなどとの正確な距離を算出し、その情報から障害物を回避するなど次にとる行動を判断することができます。「SLAM(スラム)」は、多くの分野において活用することができます。
2.SLAMの優れた性能
自己位置推定(Localization)と、環境地図作成(Mapping)は相互依存関係にあります。自己位置推定(Localization)には地図が必要ですし、環境地図作成(Mapping)には位置情報が必要です。
自己位置推定(Localization)や環境地図作成(Mapping)をそれぞれ個別に行う技術は多くありますが、「SLAM(スラム)」ではこれら2つの機能が連携し、同時に行うことができます。
例えば、現在地を把握する方法として、GNSS(測位衛星システム)やデッドレコニング(dead reckoning:推測航法)、慣性計測装置(IMU)オドメトリ(odometry)などがありますが、いずれも同時に環境地図作成をすることはできません。
さらに、GNSS(測位衛星システム)の場合、屋内では電波が届かない、デッドレコニング(dead reckoning:推測航法)では、長距離走行で誤差が蓄積してしまうなどの問題がありますが、「SLAM(スラム)」では屋内外を問わず対応することができ、現在地の把握と同時に環境地図作成を行うことができます。
なお、「SLAM(スラム)」では、旧システム(GNSSやデッドレコニングなど)同士を組み合わせることで、より高精度な自己位置推定を行うこともできます。
3.SLAMの種類
「SLAM(スラム)」を行う際に使われるセンサーによって、いくつかの種類に分けることができます。
Lidar SLAM
「Lidar(Light Detection And Ranging:光の検出と測距)」を用いた「SLAM(スラム)」のことで、レーザー光を照射して、その反射光の情報をもとに対象物までの距離や対象物の形などを計測する技術「Lidar」により周囲の環境をセンシングし、暗闇でも明るさに関係なく2次元もしくは3次元の点群データを取得できます。カメラのみを用いた「SLAM」と比較すると精度が高く、広視野で遠距離まで観測が行えますが、「Lidar」が高価であることや、障害物の少ない環境では点群データの取得が難しいといった課題もあります。
Visual SLAM
カメラを用いた「SLAM(スラム)」のことで、撮影された映像、また、RGBDカメラの場合は深度画像も利用し、二次元もしくは三次元の地図を作成します。
RGB_SLAM
単眼カメラ、全天球カメラ、広角カメラを用いた「Visual SLAM」で、カメラのみをSLAMに用いるため、安価に計測が行えるのが大きな利点です。複数の平面画像から、画像特徴点や画像の輝度値を用いて、深度推定や自己位置推定を行います。
そのため、特徴の少ない壁のみの画面や、カメラのブレ、暗闇などに弱く、三次元像の実際の寸法は推定できずスケールが不明となるのが難点です。
RGBD_SLAM
RGBカメラとDepthセンサーを組み合わせたもの、またはステレオカメラなどを用いた「SLAM(スラム)」で、カメラ画像と深度画像の両方を得ることができます。ステレオカメラの場合、比較的安価に深度画像を得られる一方で、単眼カメラと同様の欠点があり、「Lidar」と比較すると精度も低く計測距離が短いなどの課題があります。
その他のSLAM
「CNN(Convolutional Neural Network:畳み込みニューラルネットワーク)」による機械学習を利用して深度の推定を行う「SLAM(スラム)」や、Wifiを用いた「SLAM(スラム)」があります。また水中などの環境では、音響センサーを用いた「SLAM(スラム)」もあります。
これらの多様なセンサーによる「SLAM(スラム)」の分類は大まかなものとなっており、センサの誤差やノイズを減らすため複数のセンサを融合して「SLAM(スラム)」を行う場合も多いとされています。