概要

SLAMとは、Simultaneous Localization And Mappingの略称。

ロボットや機械に搭載した複数の距離センサーやカメラから取得した情報を元にして、自身の位置の推定(Localization)を行いながら、地図の作成(Mapping)を同時(Simultaneous)に行うことである。

自律ロボットや自動運転中の車などが、初めての環境を認識するためには、移動しながら得た情報を用いて全体地図(環境地図)を作成するとともに自己位置推定を同時に行うことが必要である。

自己位置推定のために最も良く用いられる手段として、GPSを用いた自己位置情報の検出がある。これは、周囲の情報は取れないが、「移動した場所」を元に存在する道路をマッピングすることができる。しかしながら、ビル街などの街中・屋内・トンネル内などで機能しないことがあげられる。

一方、SLAMはGPSが利用できない場所(ビル街などの街中・屋内・トンネル内など)でも機能し、近年では、比較的安価に周辺情報(景観など)を利用しながらマッピングを行う手法として、カメラを用いたVisual SLAMなる手法が盛んになっている。

 

SLAMに用いられるカメラ

SLAMに用いられるカメラには、大きく分けて2種類ある。

1.ステレオカメラ(図1)

図1 (https://car.watch.impress.co.jp/img/car/docs/1027/151/html/07.jpg.html)

カメラを同じ面に2個搭載したカメラ。2台のカメラから画像を取り出し、画像間の視差を元に距離を算出するものである。三角測量などを利用しているために、計算コストが高く比較的強力なハードウェアが必要となる。

 

2.デプスカメラ(図2)

図2 (https://www.buildinsider.net/small/kinectv2cpp/01)

カメラで画像を撮影するが照明として、赤外線のパルスを利用し、光が往復した時間を元に距離を算出することができる。ToF(Time of Flight)と呼ばれる技術である。MicrosoftのKINECTなどにも搭載されている。前者に比べ計算コストが小さいが、赤外線を光源として利用できない環境では機能しない。(太陽光が入る場所など)

これらのカメラを利用して、マッピングが行われている。

 

SLAMの自動運転での活用

実例として自動運転でのSLAMについて述べる。実際の自動運転では複数の種類のセンサーを利用している。(図3)

図3 (https://www.toyota.co.jp/jpn/company/history/75years/data/automotive_business/products_technology/technology_development/electronics_parts/details_window.html)

図4 (https://jp.wsj.com/articles/SB12053837977855664124504581475241719654566)

 

1.前方カメラ

取り付け位置はウインドシールド上方、ルームミラーの裏側。物体の検出を目的に利用される。夜間運転の際に、対向車のヘッドライトを検出したり、自分自身のライトを切り替えるなどする。信号や速度制限の検知を行い、道路の状況を認識する。道路上の白線や路上の歩行者を認識するなど様々な役割がある重要な部分である。

 

2.ミリ波レーダー

前方検出に76GHzが後方検出用に24GHzが多く用いられている。送受信したミリ波から物体との距離・速度を算出するには信号処理・演算処理が必要不可欠であるが、互いが電磁ノイズを及ぼしあうので設計上の工夫が各社のポイントとなっている。

 

3.LIDAR

近年関心の高いLIDARであるが、赤外線をパルス状に照射し反射して返ってくるまでの時間を測定して、距離を算出する技術である。光源としてレーザーを採用しているものはレーザーレーダーとも呼ばれる。これを上下左右にスキャンすることで周辺情報を得ることができる。ミリ波レーダーよりも空間分解能が高いのが特徴である。

(LIDARについてさらに詳しい記事)

(LIDARをお求めの方)

 

こういったカメラ・ミリ波レーダー・LIDAR(レーザーレーダー)を用いてSLAMが行われ、自動運転に活かされている。

 

掃除機での活用

このようなSLAMの技術は、より身近な場面にも活かされている。

パナソニックの「RULO(ルーロ)」では、自動車同様に様々なセンサーが取り付けられている。(図5)

図5(https://getnavi.jp/homeappliances/172363/)

 

RULOやRoomba(ルンバ)では、掃除機に内蔵されたセンサーを用いて自動車同様にSLAMが行われている。家具の配置や種類、段差などをマッピングしながら清掃する。掃除していない箇所の管理などが行われている。掃除機のSLAM搭載は自動車と異なり、克服すべき課題がある。階段のような段差である。自動車は異なる高度に移動するに際して斜面(坂道)を移動するが、家庭内には段差が多い。このため、今後、掃除ロボットの発展には、段差を克服する技術が求められる。

 

無人飛行機での活用

今日、自律飛行するドローンの開発が激化している。2015年頃ドローンの事故が多発していた。そんなドローンも自動操縦・自律飛行の実現が迫っている。日本で人手不足が見込まれている物流・運輸など本格的な導入に欠かせないのが、この自律飛行だ。自動運転の自動車同様に山間部などのGPSが届かないところで使いたいというニーズは強い。

そういう部分にもSLAMが活用されている。周囲の状況・目的地への距離などを測定・自己位置検出を繰り返しながら、進むのである。

自律飛行をしたいのは、ドローンに限った話しではない。偵察機や哨戒機などの飛行機、とりわけ軍事用の飛行機である。下向きに設置したレーダーなどを使ってSLAM技術を使用しマップを作成する。未知の土地での活動のための地図作りや遭難した人や動物の探索などにも役立てられる日も近い。

 

SLAMは広い業界を巻き込みながらより強力な技術へと成長している。