#プログラミング 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プログラミング
西田 健,森田 賢,岡田 浩之,原 祥尭,
山崎 公俊,田向 権,垣内 洋平,大川 一也,
斎藤 功,田中 良道,有田 裕太,石田 祐太郎 共著
森北出版株式会社 発行