名称 | MIRS2302 技術調査報告書(RPLiDAR) |
---|---|
番号 | MIRS2302-REPT-0002 |
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A1 | 2023.10.27 | 眞邉 開 | 初版 |
本ドキュメントはRPLiDARについての調査を行った結果である。
以下にRPLiDARの仕様を示す。
A1M8 | S2L | S2M1 | S2E | S1 | |
---|---|---|---|---|---|
スキャン周波数 | 10 [Hz] | 10 [Hz] | 10 [Hz] | 10 [Hz] | 8-15 [Hz] |
サンプリング周波数 | 8000 [Hz] | 32000 [Hz] | 32000 [Hz] | 32000 [Hz] | 92000 [Hz] |
距離範囲 | 0.15–12 [m] | 0.05-18 [m] | 0.05-30 [m] | 0.05-30 [m] | ?-40 [m] |
測距分解能 | <0.5 [mm] | 13 [mm] | 13 [mm] | 13 [mm] | 10 [mm] |
角度分解能 | <1 [deg] | 0.12 [deg] | 0.12 [deg] | 0.12 [deg] | 0.39 [deg] |
電源電圧 | 5V | 5V | 5V | 12V | 5V |
通信 | 3.3V URAT | 3.3V URAT | 3.3V URAT | UDP | 3.3V URAT |
価格 | 17,732 | 70,587 | 94,193 | 110,715 | 102,848 |
本システムにおいてRPLiDARを制御するための方法について、 ROSを用いた場合とROSを用いない場合の2つを調査した。
公開されているRPLiDAR用ROSパッケージ を使用することで、ROSを介したデータ処理をすることができる。
マッピングを行っている例を以下に示す。
RPLidar A1 M8で部屋の地図を作成しよう!マッピングデータを用いてSLAMを行っている例を以下に示す。
RaspberryPi3とZumoとROSで半永久自走式充放電ロボを作成したい上記のように、ROSパッケージを用いることでマッピングおよび自己位置推定を行うことができる。
しかし、実際にROSを使用するためには、ArduinoおよびPythonとROSの連携をする必要がある。
パッケージによっては要求スペックが不足することや、プログラムの難易度が高すぎることが懸念される。
前述の通り、ROSパッケージを用いることでマッピング等の機能が利用できるが、 知識不足やスペック不足による問題が懸念される。
そこで、ROSを利用しないで測距データを取得するリカバリー案として、 オープンソースのRPLiDAR用パブリックSDKを使用する方法がある。
また、SDK用のデモコードとして、UltraSimple が用意されている。 このコードは、LiDARから受信した値を直接コンソールに出力(278行)するものである。
このコードを、データをpythonに出力するよう改良することで、壁に対する自機の角度を測定することができる。
これにより、超音波センサよりも高速かつ精度よく自機の角度を測定できることが期待できる。
さらに、全方位に対する測距をリアルタイムに行うことができるため、進行方向によらず安定した直進を実現できる。