東芝情報システム株式会社

自動運転や自律制御システムを支える技術 - SLAM -
その仕組みや技術の基本をわかりやすく解説

自動運転車や自律制御システムを支える技術 - SLAM - その仕組みや当社の取り組みをわかりやすく解説

SLAM(Simultaneous Localization and Mapping)は、自動運転や自律制御システム(AGV:無人搬送車*1など)を実現するために欠かせない中核技術として知られています。ここでは、SLAMの仕組みや技術的特徴など、SLAMを活用していく上で知っておきたい事柄を解説します。

*1AGV(Automatic Guided Vehicle:無人搬送車):工場などで部品や製品を自動で運ぶ車両

SLAMとは

SLAMは、移動体自身が今どこにいるのかを推測する「自己位置推定」と、その周辺がどういう状況にあるのかを把握する「環境地図作成」を同時に行う技術の総称です。SLAMを活用することで、移動体は自己位置の推定を行い、物流現場や製造工場内、道路などにある障害物などを外部からの誘導なしに回避しつつ、目的地まで自動的に走行することができるようになります。

SLAMの活用法

自律制御システムはSLAMを活用することで、自身の現在位置や周辺がどうなっているかという状況を把握でき、これから自身がどういう行動を取ればよいのかという「判断」を行えるようになります。そして、その判断を実際の「操作」として実行に移すことで、障害物を避けたりしながら目的の場所などに移動できます。

SLAMを活用すると、移動体は構築した地図情報を使って障害物などを回避しつつ、荷物の輸送などを遂行できます。

SLAMを活用すると、移動体は構築した地図情報を使って障害物などを回避しつつ、荷物の輸送などを遂行できます。

一般に自動運転/自律制御システムの技術は、「認識」「判断」「操作」の3つのブロックで構成されています。

「認識」は、各種センサーなどを用いて自身の周辺がどうなっているか、自身がどこにいるのかなどを検出するブロックです。

「判断」は、認識ブロックで検出された情報をもとに、入力された目標地点と想定ルートに従ってどう動くかを判断するブロックで、必要に応じて加速・減速や旋回を行い、目標地点に近づくために移動体の動作を決定します。

「操作」は、判断ブロックの結果に従い移動体のモーター、ブレーキ、ハンドルなどのアクチュエーターを実際に制御し、移動体を動かす操作を行います。

自動運転/自律制御システムという場合は、一般に「認識」「判断」「操作」の3つのブロックすべてが含まれ、「認識」の良し悪しが自動運転/自律制御システム全体の性能に大きく影響します。

SLAMは、認識ブロックの中で利用される重要な技術の1つで、自己位置推定と周辺認識を同時に行う技術として使われています。SLAMは、自家用車やバスなどの自動運転や工場や物流の現場などで利用されている無人搬送車、移動型サービスロボット、ドローンなどで活用が考えられており、実際にそういった製品への導入も進んできています。

SLAMは、自動運転/自律制御システムの「認識」を行うブロックにおいて、周辺認識を行うための1つの技術として利用されています。

SLAMは、自動運転/自律制御システムの「認識」を行うブロックにおいて、周辺認識を行うための1つの技術として利用されています。

SLAMの仕組みとは

自動運転/自律制御システムを実現するには、周辺認識と自己位置を正確に推定することが重要なポイントになります。

自己位置推定する複数の手法

ここでは、自己位置推定技術の代表的な手法を紹介します。自己位置推定する手法は複数ありますが、それぞれにメリットやデメリットがあり、利用する用途や環境、予算(コスト)などの制約条件によって、適材適所で使い分ける必要があります。

自己位置推定を行う手法

自己位置推定を行う手法には、「絶対位置」を求める手法と「相対位置」を求める手法があります。絶対位置は、地図上の座標が明確に指し示せる位置です。対して相対位置は、前回いた場所との相対的な位置(移動量)のことです。移動量を累積することにより、移動を開始した地点からの位置を示せます。

自己位置推定は、絶対位置を求める手法が正確ですが、これを求めるには技術的にいろいろな制約があります。このため、自己位置推定は、絶対位置を求める手法だけでなく、相対位置を求める手法も有効に活用し、より近しい位置を求める必要があります。

絶対位置を求める代表的な手法

絶対位置で自己位置推定を行う手法として、よく知られているのはスマートフォンの地図アプリやカーナビなどで利用されているGNSS(GPS、みちびき等)*2などの衛星測位システムから現在位置の座標を取得して利用する手法です。ただし、この手法ではGNSSが届かないトンネルや建物の中では利用できません。

このため、絶対位置で自己位置推定を行える汎用的な手法として、目印(ランドマーク)となるものを検出する「Landmark based SLAM」や「Visual Relocalizer」があります。また、Lidarと呼ばれるレーザーセンサー(距離センサー)を利用する「Lidar SLAM」という手法もあります。これらの手法はいずれも、事前に準備しておいた地図と一時的に作成される環境地図を比較/参照することで絶対位置を推定します。

*2GNSS:(Global Navigation Satellite System / 全球測位衛星システム)
GPS:(Global Positioning System / 全地球測位システム)米国
みちびき:(準天頂衛星システム)日本

Landmark based SLAM

Landmark based SLAMは、ランドマークと呼ばれるマーカー(特徴点)を基準に自己位置推定と環境地図作成を行う手法です。ランドマークには、QRコードなどが利用されています。例えば、工場内で利用する場合は、QRコードを工場内のいくつかの場所に設置しておき、QRコードの場所の座標と対応付けされた地図を用意しておきます。移動体は、事前作成しておいた地図と工場内を移動しながら、検出した複数点のQRコードの情報を照らし合わせて、自己位置推定を行います。

ランドマークと呼ばれるマーカーを利用して自己位置推定を行うのがLandmark based SLAMです。

ランドマークと呼ばれるマーカーを利用して自己位置推定を行うのがLandmark based SLAMです。

Visual Relocalizer

Visual Relocalizerは、風景そのものを利用して、絶対位置を推定する手法です。この手法では、事前に必要な場所の景色を撮影し、それを地図データベースと対応付けて保存しておき、地図代わりとして利用します。そして、カメラで撮影した移動中の景色を地図データベースと比較し、この景色(例えばこの景色とは、ある景色とある景色の中間くらいにある景色であると判断した場合)なら現在位置はここであるといった推定を可能にします。こうした情報から、この点とこの点の間にいるといった検出を行うのが、Visual Relocalizerという手法です。

Lidar SLAM

Lidar SLAMは、Lidar(Light Detection and Ranging)と呼ばれるレーザーセンサー(距離センサー)から取得したデータによって高精度な環境地図を作成し、それを事前に用意しておいた地図と比較/参照することで自己位置推定を行う手法です。Lidarは、周囲の構造物にレーザーを照射してその形状や距離などを計測でき、カメラや赤外線センサーなどの他のセンサーと比べて格段に高い精度で形状や距離を計測できるという特徴があります。その反面、非常に高価で、周辺に検知対象となる障害物(自己位置推定を行うための特徴点)が少ない環境下ではデータの取得が難しく、処理の負荷も大きいといった課題もあります。

相対位置(移動量)を求める代表的な手法

相対位置で自己位置推定を行う手法として、よく知られているのがスマートフォンやタブレットなどにも搭載れている「加速度センサー*3」を利用する手法です。加速度センサーを利用することで、移動体の移動方向や速度およびその移動量などの計測ができます。相対位置を求める手法には、加速度センサー以外にもカメラを利用する「Visual SLAM」があります。

*3IMU(慣性計測装置)などとも呼ばれます

Visual SLAM

Visual SLAMは、カメラに映った映像を利用して、"複数"の特定の物体(特徴点)までの距離を推測し、その情報を用いて相対的な自己位置推定を行う手法です。例えば、2つのカメラを利用する複眼カメラ(ステレオカメラ)の場合は、視差情報を用いて特徴点までの距離が推測できます。そして、移動体が動くと、計測しておいた特徴点までの距離が変化するので、この相違点を、複数の特徴点と比較し、物体の相対位置を推測するのがVisual SLAMです。

Visual SLAMは、複眼カメラ(ステレオカメラ)、深度カメラ、単眼カメラなどを利用します。

Visual SLAMは、比較的安価に入手できるカメラを利用することでコストが抑えられるほか、カメラを利用するため歩行者検出や白線検出なども行えるといったメリットもあり、柔軟な自律制御システムを実現できる技術として注目されています。

SLAMの課題

自動運転/自律制御システムを実現する上で重要要素となる周辺認識を行う技術として注目されているSLAMですが、SLAMは、発展途上の技術であるため、さまざまな技術的な課題があります。ここでは、SLAMを活用する上で、知っておくべき課題を説明します。

SLAMが抱える具体的な課題

現状、各種SLAMを用いて自己位置推定したときには、以下のような課題があります。

  • 自己位置推定にかかる計算時間
  • 苦手なシチュエーションの存在
  • 複数SLAMの活用
SLAMによる自己位置推定にかかる計算時間

SLAMによる自己位置推定は、多少の計算時間が必要になるため、そのまま利用すると計算に要した時間分が過去の位置として導き出されます。これを解消するには、処理時間(計算時間)をリアルタイムに近づける必要がありますが、一般に精度が高い技術は計算に多くの時間がかかり、計算時間が短い技術は精度が低くなるというトレードオフの関係にあります。このため、一般的には、処理時間が短く精度が低いものと、処理時間は長くても精度が高いものを組み合わせて利用し、処理時間と精度のバランスを取る必要があります。

苦手なシチュエーションの存在

SLAMには複数の技術(手法)がありますが、それぞれの技術ごとに苦手なシチュエーションがあります。例えば、カメラを利用する手法の場合、レンズが濡れるとぼやけてしまい精度が悪くなります。また、周辺に障害物や構造物が乏しい平野などの特徴がない景色は、Visual SLAMやLidar SLAMなども苦手としています。他にも、事前に作成しておいた地図から大きく地形や荷物などの置き場が変わってしまうと自己位置推定に失敗する場合があるため、この問題への対処が必要になります。

複数種類のSLAM技術を活用

実用的な自己位置推定をするためには、前述した処理時間がかかることや、苦手なシチュエーションへの対応のため、複数の技術を組み合わせて利用し、苦手部分を補完する必要があります。しかし、複数の技術を組み合わせると、それぞれの技術がバラバラの位置を検出するケースも考えられます。その場合、どの位置を選択するのが正解なのかを導き出すための工夫が求められます。現状、この課題の明確な解決法はありません。このため、最終的には、利用環境に応じたアルゴリズムを考案・実装し、トライアンドエラーによる個別対応によって解決することになります。これを行うには、SLAMにおける豊富な知見が求められます。

複数の技術を組み合わせると、技術ごとにバラバラの位置を検出したときにどれを選択すればいいのかのアルゴリズムを利用環境に応じて考える必要があります。

各SLAMの誤差や処理時間による情報の新しさや
車両の走行データなどから複合的に現在位置を推定

複数の技術を組み合わせると、技術ごとにバラバラの位置を検出したときにどれを選択すればいいのかのアルゴリズムを利用環境に応じて考える必要があります。

東芝および当社の取り組み

SLAMは、自動運転/自律制御システムの実現の中核技術として、さまざまな用途における活用が期待されています。ここでは、SLAM活用に向けた当社の独自の技術開発などの取り組みを紹介します。

東芝技術の特徴と取り組み

SLAM技術は、一般にコストと精度がトレードオフの関係にあります。例えば、精度の高いセンサーは、使いやすく、SLAMの開発難易度を下げる効果がある反面、高コストになります。しかし、実際の開発では、現状の技術の中でコストと精度の最適化を図る必要があります。

そこで東芝では、SLAMで利用される多様なハードウェアプラットフォームへの対応と最適化に取り組んでいます。特に、カメラを用いたVisual SLAMなどの技術は比較的低コストで実現できることから注目されています。当社ではハードウェアプラットフォームごとに各SLAMを効率よく実行できるように最適化し、目的の速度/精度を両立した製品を開発できるような取り組みを行っています。

東芝の開発している「Landmark based SLAM」「Visual Relocalizer」「Visual SLAM」技術の特徴の一部を、以下に紹介させていただきます。

Landmark based SLAM

一般的なLandmark based SLAMでは、すべてのランドマークはユニーク(他とかぶらない)IDを持っている必要がありますが、当社のLandmark based SLAMは、ユニークなランドマーク(QRコード等)以外にも既存の掲示物などをランドマークとして流用し、絶対位置推定に活用できます。

Visual Relocalizer

一般的な深層学習を利用したVisual Relocalizerは、必ず現地環境データで学習する必要があり実用性が高くありませんでした。東芝の技術では、深層学習において位置推定に最適な特徴量を学習し、照明変動などの環境変化に強いロバストな対応付けを実現しています。

Visual SLAM

当社のVisual SLAM技術は、リアルタイム処理を前提としたアルゴリズムで開発されており、高速動作を実現しています。

最後に

SLAMは、単に技術を導入しても期待している精度がでない場合が多くあるため、個別最適化がかかせません。また、コストと精度を兼ね備えた製品を開発するには、機能最適化されたハードウェアで費用対効果が高いものを作り上げる必要があります。

SLAMの技術の研究開発や製品への実装実績など、豊富な知見をもとに、当社では、お客様のユースケースに合わせたSLAMのコンサルティングから実装までの技術サポートなど、SLAMの活用をトータルで支援します。

お問い合わせ

SLAM お問い合わせ

本コラムでご紹介した「SLAM」についてのご案内や、ご相談などのお問い合わせをお受けしております。

お気軽にお問い合わせください。当社の製品・サービスは企業・団体・法人様向けに販売しております。

電話番号044-246-8320

受付時間:9:00~17:45
但し、土曜・日曜・祝日および当社休業日を除く