高橋正樹 | Masaki Takahashi
2024-06-16
目次
この記事を共有する

今回は、AMRのコア技術である”SLAM”について、前回に引き続き解説したいと思います。

SLAMの動作シーケンス

SLAMは”Simultaneous Localization and Mapping”です。日本語に直すと自己位置推定(Localization)と地図作成(Mapping)を同時(Simultaneous)に行います。

  1. ロボットに搭載されたセンサーで、外部環境のなんらかの情報を得る。
  2. センサーから得られた情報を元に、ロボットが現在いる位置を演算し古い情報を更新する。
  3. ロボットが移動する。

この1~3の動作シーケンスを繰り返します。「あたりまえ」なのですが、これがなかなか難しい処理となります。なぜ難しいのか?解説していきます。

測定誤差を含んだマップ

センサーの測定値には、必ず誤差が存在します。誤差を含んだ測定値を積み上げて、自己位置を演算することとなります。以下、イメージの図を用いて説明します。

このようなレイアウトの走行エリアを考えます。長方形の形状の部屋の中央に三角形の柱が配置されています。この部屋を反時計回りの青字の経路に走行させることを考えます。

地点①~④の4地点でLiDARを用いてスキャンデータを取得したとします。機体と壁や柱の距離を点群データとして取得します。イメージとして、点線で表現しています。

仮に、データに測定誤差がなければ、上の図のように壁や柱の形状の点群データは直線となります。これらのデータを結合すると、実際のレイアウトに近い、より確からしい地図が出来上がります。

しかしながら、実際の測定データには測定誤差が含まれます。ここでは仮に、下の図のような形状データが得られたとします。

これらのデータを結合すると、下の図の地図が生成されます。実際のレイアウトとは程遠い形状となり、自己位置を推定することができず、円滑に走行することは不可能です。

SLAM技術開発の勘所

SLAM技術は、「誤差を含んだ測定データをどのように処理し、自己位置をいかに精度よく推定するか」が開発のポイントとなります。ブレークダウンすると、このような開発課題となります。

  1. センサーから取得した測定値から、自己位置を推定するアルゴリズム構築
  2. 許容できる測定誤差と、推定アルゴリズムへのパラメタ設定
  3. センシングと演算処理を実現できるハードウェア構成

1980年代にSLAM分野の研究が本格化してから約40年が経過しますが、現在もなお自己位置”推定”の手法が考案され、自律走行ロボットが開発されつづけています。

弊社も、技術を日々錬磨し、よりよいロボットが生み出せるように精進行きたいと思います。最後までお読みいただきありがとうございました。

"SLAM"のはなし②  ← 前

この記事を書いた人


約20年間、電機メーカーで生産システムの開発、新規事業・新工場の立ち上げに従事。
先進的なロボット開発と伝統的なモノづくりを融合し、新たなムーブメントを起こすべく、2022年からKeiganで活動。
ロボットシステムの導入や営業活動を主に担当。自身の専門分野の幅を広げ深掘りしながら、技術ブログを執筆中。

高橋正樹 | Masaki Takahashi