2020年9月28日 星期一

[ROS] 使用 RViz 繪製 LiDAR 掃描的數據

在這裡採用的 LiDAR 型號是 HLS-LFCD2,和 Turtlebot3 使用的是同一款 LiDAR。這款 LiDAR 是由 HLDS (Hitachi-LG Data Storage) 所製造。依照下列步驟操作,就可以透過 RViz 來繪製 LiDAR 掃描的數據。

 

 

安裝 hls-lfcd-lds-driver 套件

 

在開始使用前,要先安裝 ros-kinetic-hls-lfcd-lds-driver 套件,這個套件裡面有 HLS-LFCD2 的驅動程式,必須安裝這個套件來驅動它。

 

$ sudo apt-get install ros-kinetic-hls-lfcd-lds-driver

 

 

連接 LiDAR 並更改權限

 

接著,將 LiDAR 接到我們的電腦上。由於 HLS-LFCD2 採用序列埠傳輸,並且附帶了一個 USB Serial 的模組,因此只要簡單地,將其接到電腦上的 USB 端口即可。

 

接上我們的電腦之後,會在 Ubuntu 系統中識別出一個 ttyUSB* 裝置。在這裡我們看到的是 ttyUSB0,如下:

 

$ ls -l /dev/ttyUSB*

crw-rw---- 1 root dialout 188, 0 Sep 25 15:41 /dev/ttyUSB0

 

還需要設定 ttyUSB0 的使用權限,如下:

 

$ sudo chmod a+rw /dev/ttyUSB0

$ ls -l /dev/ttyUSB*

crw-rw-rw- 1 root dialout 188, 0 Sep 25 15:41 /dev/ttyUSB0

 

 

啟動 hlds_laser 節點

 

接著,執行 hls_lfcd_lds_driver 套件內建的 hlds_laser.launch 文件,指令如下。這個 Launch 文件會啟動 hlds_laser 節點,而這個節點會接收 LiDAR 的掃描數據,並且將數據發佈到 /scan 這個主題。

 

$ roslaunch hls_lfcd_lds_driver hlds_laser.launch

 

 

檢視 LiDAR 掃描數據

 

啟動 hlds_laser 節點之後,會將 LiDAR 的掃描數據發佈到 /scan 這個主題。可以使用 rostopic echo 指令來檢視發佈到 /scan 主題的訊息,指令如下:

 

$ rostopic echo /scan

header:

  seq: 255

  stamp:

    secs: 1601019864

    nsecs: 339821824

  frame_id: "laser"

angle_min: 0.0

angle_max: 6.26573181152

angle_increment: 0.0174532923847

time_increment: 2.98800005112e-05

scan_time: 0.0

range_min: 0.119999997318

range_max: 3.5

ranges: [0.15199999511241913, 0.15299999713897705, 0.15299999713897705, 0.15299999713897705, 0.15600000321865082, 0.15800000727176666, 0.1599999964237213, 0.16200000047683716, 0.164000004529953, 0.16699999570846558, 0.16899999976158142, 0.1720000058412552, 0.17499999701976776, 0.17900000512599945, 0.1809999942779541, 0.18299999833106995, 0.18700000643730164, 0.19099999964237213, 0.19499999284744263, 0.19900000095367432, 0.20800000429153442,

(以下省略)

 

 

啟動 RViz 繪製 LiDAR 掃描的數據

 

  1. 啟動 Rviz

 

$ rviz

 

  1. 將視角修改為 XY 平面視圖:如下圖,將右上方 [ Views ] [ Type ] 欄位,修改為 "TopDownOrtho"

 

 

  1. [ Fixed Frame ] 設定為 "laser":如下圖,將左上方 [ Global Options ] [ Fixed Frame ] 欄位,修改為 "laser"

 

 

  1. 新增顯示 Axes (座標軸):點擊左下方 [ Add ] 按鈕,然後在新跳出的視窗中選擇 [ Axes ],再點擊 [ OK ]

 

 

  1. 新增顯示 LaserScan (激光雷達掃描):點擊左下方 [ Add ] 按鈕,然後在新跳出的視窗中選擇 [ LaserScan ],再點擊 [ OK ]

 

 

  1. 修改 LaserScan 顯示參數:在左側 [ LaserScan ] 項目下,修改顯示參數 Topic, Size, Color Transformer Color 的設定。

 

 

  1. 設定完成之後,就可以看到畫面中間顯示的座標軸和 LiDAR 掃描點。中間兩條互相垂直的紅色與綠色線條,分別是 X 軸和 Y 軸。圍繞在旁邊的許多紅色小點,就是 LiDAR 掃描到的物體,以紅色小點的方式顯示出來。

 

 

參考資料

 

  • ROS Robot Programming

http://wiki.ros.org/Books/ROS_Robot_Programming_English

沒有留言:

張貼留言

和我聯絡

名稱

以電子郵件傳送 *

訊息 *