在這裡採用的 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 掃描的數據
- 啟動 Rviz:
$ rviz |
- 將視角修改為 XY 平面視圖:如下圖,將右上方 [ Views ] 的 [ Type ] 欄位,修改為 "TopDownOrtho"。
- 將 [ Fixed Frame ] 設定為 "laser":如下圖,將左上方 [ Global Options ] 的 [ Fixed Frame ] 欄位,修改為 "laser"。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirc9papChsha8z8JKGh9jKoXMSs6dJGQGFZwU3kT_CaoIZLmg0goS7rdxMCfVFKmW6f-a_QoZF85WUIAqTl-CvjtQj-YpB9WjUo6pCn6kqEida5SyYGCX53M_Uvc1b9MI9rSLuS22BN0s/s0/rviz_02a.png)
- 新增顯示 Axes (座標軸):點擊左下方 [ Add ] 按鈕,然後在新跳出的視窗中選擇 [ Axes ],再點擊 [ OK ]。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA2_45vnlUueZXstf3AH1pPIXErnNzYxvRVLSbQO1jKABSMucLeqadKbyvg_GnMO4VUNCXyQmIdoLOXq0luRtmolwwqH-H9uH_uSFN0iuOVQx2_4rpueUpBmFgRyFrfyIAvcICscG3l1g/s0/rviz_03b.png)
- 新增顯示 LaserScan (激光雷達掃描):點擊左下方 [ Add ] 按鈕,然後在新跳出的視窗中選擇 [ LaserScan ],再點擊 [ OK ]。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCQNwIFpLKeH2WT9kBTL2-SWRXnI_BH-RDpa6-lSi9CauRpvFGcsOlFQ3AdFkpAT-A6DWKGK7uLyqlatrn8O_cKDheA8_Kho_V2HM3NH_5KeOtxSJJAW2xRbsy1RQ4nTLDT0FDtN4VnoY/s0/rviz_04b.png)
- 修改 LaserScan 顯示參數:在左側 [ LaserScan ] 項目下,修改顯示參數 Topic, Size, Color Transformer 和 Color 的設定。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM8LapktpS6nHlgdDfpEAUeVNYDyk522TRMACdFYrvQuzjUbgseFWe9DSepGZx1EoRtUo8mOOb103_jJNb5QyvpIUF_d7RLDaClXOu0FMNzAUVjriW3vTkly_upd5JjLY5mmreJRiKy7o/s0/rviz_05a.png)
- 設定完成之後,就可以看到畫面中間顯示的座標軸和 LiDAR 掃描點。中間兩條互相垂直的紅色與綠色線條,分別是 X 軸和 Y 軸。圍繞在旁邊的許多紅色小點,就是 LiDAR 掃描到的物體,以紅色小點的方式顯示出來。
參考資料
- ROS Robot Programming
沒有留言:
張貼留言