Jetson Nano + ROS1 で LiDAR を動かしてみる


ROS でNavigation Stack のSLAMを使う場合の手段の1つです。

 

LiDARLight Detection And Ranging)を使ってみます。ものによってはとってもお高いデバイスですが、今回使うのはSLAMTEC製の、1万円ちょっとで入手できるRPLiDAR A1M8  という機種です。

 


Jetson Nano をセットアップ

以下をご参照ください

Jetson Nano にROS1 (Melodic) をインストール(メモ)

このページではワークスペース作成にcatkin_make を使っていますが、catkin build を使いますので、ページ下段のAppendix3を参照してください。

 

 


RPLiDARをセットアップ

発注すると、本体、ケーブル、接続変換基板の3つと簡単な説明書きがペラで送られてくるだけです。

 

で、これらをどうするかというと、こんなふうに接続します。

Jetson に接続するデータ転送可能な給電用MicroUSBケーブルは自前で準備しておきます(100均でも入手可)。

 


ROS1 (Melodic) でRPLiDARを動作確認

catkin_wsにrplidar_rosをクローンしてビルド

Jetson を再起動

RPLiDARをJetson に接続

 

 

基板のLEDが点灯して、RPLiDARのヘッド(測距コア)が高速回転します。

MicroUSBケーブルにデータ転送能力があるかどうかはLEDで判定できます。点灯しない場合はデータ転送ができていません。

ttyUSBを確認して使用権を付与

RPLiDARが取得する点群データを確認する場合は、view_rplidar.launchを実行。

 

:以下のようなエラーメッセージが出た場合

RLException: [view_rplidar.launch] is neither a launch file in package [rplidar_ros] nor is [rplidar_ros] a launch file name

ワークスペースセットアップスクリプトの取り込み 、再度実行

 

 

rvizは今は必要ないよ…という場合は

rvizで点群地図を表示する場合はAppendixを参照

 

 

:以下のエラーが出た場合、実行権を付与して再起動

*** buffer overflow detected ***:

 

または、実行エラーの出たターミナルを閉じて、別ターミナルを開いて再実行してみるという手もあります。

 

このエラーはUSBケーブルが外れている場合にも表示されます。

再接続して再実行

 


topicのリスト

RPLiDARが取得しているデータを見てみます

こういう意味だそうです。

sensor_msgs/LaserScan Message

 


Appendix

rvizで点群地図を表示

rvizを起動

Fixed Frame のmaplaserに変更

左下にあるAddボタンをクリック

By topicタブでLaserScanを選んでOK

点群地図が表示されます

 


Next

ROSのNavigation Stack などでSLAMする場合、LiDARのデータと共にodometryデータなども使って精度を高めます。

ただロボットカーなどの車輪を駆動するモータからエンコードデータを採取できない場合、LiDARデータのみでSLAMせにゃなりません。

Hector_SLAM パッケージを使ってみます(精度は落ちるようですが)。

Jetson Nano (Jetpack 4.6) + ROS1 (Melodic) で Hector_SLAM を動かしてみる

 


Appendix

ラズパイ4B + ROS1 で LiDAR を動かしてみる

 


Be the first to comment

Leave a Reply

Your email address will not be published.


*