2
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

ROSの勉強 第41弾:LiDAR(YDLIDAR)

#プログラミング ROS< LiDAR(YDLIDAR) >

はじめに

ROS(Robot Operating System)をさらに扱えるようになることが目的である.その第41弾として,「LiDAR(YDLIDAR)」を扱う.

環境

コンピュータ
デバイス raspberry pi 4 Model B
メモリ 3.7 GiB
Graphics V3D 4.2
OS Ubuntu
Ubuntu
リリース 20.04.2 LTS (Focal Fossa) 64ビット
カーネル Linux 5.4.0-1035-raspi aarch64
MATE 1.24.0
ROS
Distribution noetic
LiDAR
メーカー YDLIDAR
シリーズ X2

LiDARとは

LiDARはLight Detection And Ranging(光による検知と測距)の略称.対象物に光を照射し,その反射光を光センサでとらえ距離を測定するリモートセンシングの方式をいう.
また,Laser Imaging Detection And Ranging(レーザー画像検出と測距)ともいわれ,多くは近赤外レーザー光をパルス状に照射し,対象物に当たって跳ね返ってくるまでの時間差を計測する.
参考

これらの呼び方によりLiDARであったりLIDARであったりするのかなと思う.今回用いるものは,後者のようだ.

環境構築

北陽のLiDARであれば,urg_nodeというようなパッケージだが,YDLIDAR X2では使えなかった.どうやら,YDLIDARがgithubでそれ用のパッケージを用意してくれていたみたいである

手順

①ワークスペースのsrcディレクトリへ移動

cd catkin_ws/src

②gitを使ってクローン作成

git clone https://github.com/YDLIDAR/ydlidar_ros 

③修正するlaunchファイルがあるlaunchフォルダへ移動

cd ydlidar_ros/launch

④vimなどを用いて修正対象のファイルを編集する

vim X2L.launch

ここで,デフォルトのUSBポート(/dev/ydlidar)を今のUSBポート(/dev/ttyUSB0)に変更

⑤vimなどを用いて修正対象のファイルを編集する

vim lidar_view.launch

ここで,includeの部分(lidar.launch)を(X2L.launch)に変更

⑥変更内容を更新

cd ~/catkin_ws && catkin_make

これで,YDLIDAR X2が使えるようになる.

実行

roslaunch ydlidar_ros lidar_view.launch 

これは,Rviz上でYDLIDAR X2で取得したレーザトピックを表示してくれる設定で,YDLIDARの起動とRvizの起動をしてくれる.その時の様子を動画像で,下に示す.

このとき,YDLIDARを適当に部屋の中で持って動かしてみた.うまく,測定データを取得でき,反映できていることが確認できる.

感想

とりあえず,ROSでのLiDARの扱い方について学ぶことができた.これにより,ROS上で現実世界の距離情報を取得できるようになった.これにgmappingなどを適用することで,現実世界の地図構築が可能になる.前回に引き続き,現実世界とつながってくると,ますます楽しくなってくる.

参考文献

ROHM SEMICONDUCTOR; Home> エレクトロニクス豆知識> レーザーダイオードとは?> LiDARとは?
https://www.rohm.co.jp/electronics-basics/laser-diodes/ld_what10)2021/06/04

実用ロボット開発のためのROSプログラミング
        西田 健,森田 賢,岡田 浩之,原 祥尭,
        山崎 公俊,田向 権,垣内 洋平,大川 一也,
        斎藤 功,田中 良道,有田 裕太,石田 祐太郎 共著
                     森北出版株式会社 発行

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
2
Help us understand the problem. What are the problem?