無人搬送車(AGV)に使用されている「SLAM」という技術についてまとめました。
無人搬送車にSLAMを導入すると、自動で位置情報を推定して自律的に目的地まで移動したり物品を収集したりすることが可能になります。
SLAM(スラム)は、無人搬送車などに採用されている新しい技術のこと。「Simultaneous Localization and Mapping」の略称です。自己位置の推定(Localization)と環境地図の作成(Mapping)を同時に(Simultaneous)行う技術を指します。
SLAMを搭載した機械が、自分がどこにいるのか・どの方角を向いているのかを認識し、周辺に何があるのかなどの環境を把握して地図を作成することができるのです。
SLAMは、センサーが機械本体の移動量や障害物の位置を推定して、その情報をポーズグラフに登録して地図情報を作成するという仕組みになっています。ポーズグラフとは、機械の位置だけの情報を直接生成するグラフのことです。
SLAMは、センサーの種類によって、「Lidar SLAM」「Visual SLAM」「Depth SLAM」の3種類に分けられます。
Lidar SLAM(ライダースラム)は、レーザースキャナを使用した技術。「Light Detection and Ranging」の略称です。
対象物にレーザー光(Light)で照らして検出し(Detection)、反射光を分析して距離を測定(Ranging)します。センサーが、反射した光のエネルギーを2D (X、Y座標)や3D(X、Y、Z座標)の点群データとして記録。記録した点群同士をマッチングさせて移動量を推定し、移動量を積算して自己位置を推定します。
Lidar SLAMは、対象物までの距離を測定する精度が高いです。しかし、対象物の密度が低い環境では、点群データの取得が困難になり、データ処理の負荷も大きくなってしまいます。また、Visual SLAMやDepth SLAMよりも高価です。
Visual SLAM(ヴィジュアルスラム)は、画像データを活用した技術です。カメラで撮影した画像の変化を分析し、カメラと対象物との距離や角度を計測します。
カメラには、単眼カメラや複眼カメラ、対象物までの距離を測定できるRGB-Dカメラなどを使用。画像データは情報量が多いため、さまざまな対象物の検出が可能です。
Lidar SLAMと比べると安価に手に入れることができますが、測距精度が下がることがあります。そのため、レーザー光や超音波を使用して対象物との距離を算出するToFセンサーと組み合わせることも多いです。
Depth SLAM(デプススラム)は、深度画像(Depth Image)を使った技術です。奥行きを記録して、空間の立体的な情報を保存した深度画像によって、対象物までの距離を測定します。
センサーには、ToFセンサーや、深度センサーを内蔵したデプスカメラを利用。Visual SLAMよりも、画像内のデータ量が少ない環境や暗い場所であっても、情報を収集することが可能です。
SLAMの技術を搭載せずに、機械の位置を特定しようとすると、まずは地図情報や座標情報を機械に取り込まなければなりません。これらの位置情報は数限りなくありますが、取り込むことができる情報量には制限があるため、機械が認識できるエリアが非常に狭くなってしまいます。また、周辺の環境が変化したり障害物が発生したりしても、その情報は取り込まれていないので、検知や回避をすることができません。
SLAMは、このような問題を解消できます。機械が自分の位置を推定しながら周辺情報を学習していくことで、機械の自律化を実現できるのです。
無人配送車にSLAMを導入すると、無人配送車をコントロールする精度を高めることが可能です。対象物との距離に関するデータをセンサーから集め、組み込まれたアルゴリズムによって車体の位置や姿勢を把握。その位置情報を用いてルートを計算し、タイヤなどの駆動部を制御して、目的地まで移動したり指示された物品を収集したりします。
SLAMは新しい技術なので、普及にはさまざまな課題があります。まず、推定値の誤差をどのように補正するかという課題です。自己位置の推定には必ず誤差が生じ、誤差が蓄積されると、地図情報が実際の空間と大きくずれてしまいます。
推定を失敗したときの対処法も課題です。複数センサーを用いて失敗を抑制したり、正しい推定に復帰するためのアルゴリズムを組んでおく必要があるでしょう。
たくさんの情報を高速に分析するという計算コストの高い処理をどう効率的に実行するかも、今後解決すべき技術課題です。