2016/12/03

いろんなセンサでSLAMする

SLAMとは外の状態を観測するセンサ即ち外界センサを用いて自己位置推定と障害物位置推定を同時に行う手法であった.

ではそのセンサとはどのようなものがあるのか.今回は見ていきます.

外界センサを用いればOKなので以下以外のセンサを使うことももちろんありです.



・レーザレンジファインダ(LRF)を用いたSLAM

LRFとは↓みたいなやつで,レーザだして,帰ってくるときの時間差で対象物の距離を測るやつ.

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]
北陽電機 URG-04LX レーザ式測域センサ
価格:153900円(税込、送料無料) (2016/12/3時点)

ここにあげたのは北陽電機のレーザ.

で,他にもSICKのレーザが有名どころです.

以上2つはSLAMを簡単に導入できるROS(Robot Operation System)に対応しており,SLAMをすぐに試してみることができます.

しかし,SICKの最新版のレーザは現時点でROS対応の公式ドライバがなく,動かすのがなかなか大変なので,前もってレーザとROSの相性を調べて買ったほうがいいでしょう.

どっかのブログでROS+買う予定のセンサで動いているってことを確認してから買いましょう.

あと最近はLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)っていって長距離用測距センサも使われるようになってきています.

LIDARで行うSLAMは自動運転車などを前提としており,LRFを用いたSLAMは室内SLAM程度を想定しています.

でも,LIDARでの自立運転はレーザがとても高価なのでGoogleさんも採算取れなくて諦めたっぽいです.

ロボットタクシーなんかには,人件費削減が効いてくるので,まだ実装の余地はあるかもしれないらしいです.

それからRLFではないんだけどROSならkinect xbox360 or kinect v2とかのdepthセンサでもRLF扱いにしてSLAMを実行できるので試してみる程度ならばそちらでもいいでしょう.

アルゴリズム的にはICP(Iterative Closest Point)アルゴリズムを用いたものが主です.

適用先は自律移動車とかでしょうか.

・Visual SLAM

visual SLAMとはカメラを用いたSLAMです.

ロボットはいろんなセンサが乗っていることが考えられるので,SLAMに外界センサ以外にもいろんなデータを統合して計算しますが,カメラだけならばスマホなどのセンサがカメラしか入っていないモノでも実行でき,応用範囲が広いです.

なのでロボット分野だけでなくコンピュータビジョン分野として扱われることも多いです.

利点を羅列すると「安い」,「重さが軽い」,「測定範囲が限られるLRFと違い0m~∞まで測定可能),「得るデータ数が多い」,「距離以外のデータを得ることができる」

欠点は「計算に時間がかかる」,「距離の計算に誤差が混じりうる」ことです.

1.Monocular SLAM

Visual SLAMの中でも1つのカメラ(単眼カメラ)を用いて行うSLAMです.

普通のusbカメラがあればできるので実行のハードルは低いです.

初期はEKF SLAMの応用でしたが,PTAMという論文が発表されたことをきっかけに高精度リアルタイムのSLAMが可能になりました.

PTAMではリアルタイムで実行しない代わりに高精度な自己位置&障害物位置推定手法,SfM(Structure from Motion)をリアルタイムに実行する方法が提案され,現在でもその考え方が基本となっています.

アルゴリズム的には再投影誤差の最小化(Bundle Adjustment)が肝となっています.

現在では特徴点を用いたSLAMから画像生データを用いたSLAMへと移り変わっているといわれていますが,まだどうなるかわわかりません.

適用先はARとかドローンとかが向いています.

私の研究範囲はここなので詳しくこれからはこれについて述べていくことになります.


2.Stereo SLAM

カメラが2つ横に並んだステレオカメラでSLAMを行います.

カメラ間の距離が既知なのでそれを用いて正確な距離を知ることができます.

Monocular SLAMよりも計算速度も精度も高くなる傾向にありますが,ステレオカメラという特殊なセンサは適用先が限られてきます.

ドローンなどが適用先には考えられます.



・RGB-D SLAM
RGB-Dカメラというセンサがあります.

RGBはred,green,blueすなわち普通の単眼カメラ,そしてDはdepth,すなわち距離のわかるセンサです.

カメラで撮ってそれぞれの画素について色だけでなくその距離もわかる感じです.

ちょっと違うけど,まあそんな感じです.

安価なRGB-Dカメラ,kinectの登場によってこれを用いたSLAMの研究が爆発的に増加しました.

kinect fusionという技術は有名です.

また,とくに人が見てわかりやすい地図ができやすいというところも特徴であると思います.


・超音波SLAM

水の中で超音波を使ってSLAMを行います.

あまり論文を読んでいないのでそれほど詳しいことは言えませんが,まだ港のような人工環境でかろうじてSLAMをできるというないようで状況であると思います.


以上,いろんなセンサによるSLAMでした.

ここまでがSLAM概要で,今後はvisual SLAMについて主に書いていきます.

0 件のコメント:

コメントを投稿