HARD2021は終わりましたが、ワークショップでは触れることのできなかったこと紹介します。本記事ではワークショップで紹介した1万円ぐらいで購入できるとっても安価なLIDAR、SLAMTEC社のRPLIDAR A1M8のROSでの使い方を紹介します。
準 備
- RPLIDARとPCをUSBケーブルで接続する。RPLIDARの円筒形状の発光部が回転するので触れないように注意する。
アンインストール
- HARD2021で使用しているcreate_autonomyパッケージをインストールすると既にRPLIDARを使うためパッケージros-melodic-rplidar-rosがインストールされているが少々古いのでアンインストールする。
- $ sudo apt remove ros-melodic-rplidar-ros
インストール
- ROSパッケージrplidar_rosをクローンする。
- $ cd ~/catkin_ws/src
- $ git clone https://github.com/Slamtec/rplidar_ros.git
- $ catkin build rplidar_ros
- $ source ~/.bashrc
実 行
- LIDARの情報を読み書きするためにデバイスファイルのパーミッションを変更する。
- $ sudo chmod 666 /dev/ttyUSB0
- 他のUSBデバイスが接続されているとデバイスファイル名はttyUSB0でない場合もある。次のコマンドでデバイス名を確認できる。
- $ ls /dev/ttyUSB*
- rvizでの表示
- view_rplidar.launchファイルを実行してrvizに表示する。rvizが立ち上がり、下図のようなウインドウになると思う。下図で赤い点がLIDARのレーザ光と物体が衝突した地点。平らな直線部分は部屋の壁に相当する。
- $ roslaunch rplidar_ros view_rplidar.launch
- view_rplidar.launchファイルを実行してrvizに表示する。rvizが立ち上がり、下図のようなウインドウになると思う。下図で赤い点がLIDARのレーザ光と物体が衝突した地点。平らな直線部分は部屋の壁に相当する。
- 他のノードと使う場合
- 他のノードと使う場合は次のコマンドを実行してクライアントノードrplidarNodeClientを実行する。端末にLIDARの計測結果が表示される。
- $ rosrun rplidar_ros rplidarNodeClient
- 他のノードと使う場合は次のコマンドを実行してクライアントノードrplidarNodeClientを実行する。端末にLIDARの計測結果が表示される。
幸せになるための設定
- 毎回、デバイス名を調べてファイルのパーミッションを変更するのは面倒なのでudevを設定する。udevはデバイスの管理ツール。rplidar_rosパッケージにはudev設定のスクリプトがあるのでそれを実行するだけ。これで少し幸せになれる。
- $ cd ~/catkin_ws/src/rplidar_ros/scripts
- $ ./create_udev_rules.sh
終わり
コメント