利用ROS採集VLP 16雷射雷達資料

2021-08-18 12:32:58 字數 1466 閱讀 6685

入手vlp-16雷射雷達,想用ros採集雷達資料,按照現有教程總有些小問題,現在把自己成功採集到資料的經過分享一下,希望能對剛入坑的有所幫助。

本人使用的ubuntu16.04+kinetic系統

1.安裝驅動

sudo apt-get install ros-kinetic-velodyne  

2. 配置網路,連線到雷射雷達,(不需要關閉無線):

修改有線網路裡面的ipv4:

改為手動,

ip位址192.168.1.77,子網掩碼255.255.255.0,閘道器192.168.1.1。

然後接入雷射雷達,開啟瀏覽器輸入192.168.1.201可以看到雷射雷達的配置檔案。

每次接入雷達後,輸入下面兩條指令:

sudo ifconfig enp2s0 192.168.1.123

sudo route add 192.168.1.201 enp2s0

3. 新建乙個ros的工程:

mkdir -p catkin_velodyne/src  

cd catkin_velodyne/src  

git clone  

cd ..  

rosdep install --from-paths  src --ignore-src --rosdistro kinetic -y  

catkin_make  

source devel/setup.bash  

4. 把velodyne xml檔案轉成ros節點的yaml檔案,vlp-16.xml據說贈送的u盤裡面有,反正我是沒有找到,

rosrun velodyne_pointcloud gen_calibration.py ~/vlp-16.xml  (更改為自己儲存的目錄)

5. 載入:

roslaunch velodyne_pointcloud vlp16_points.launch calibration:=~/vlp-16.yaml  (更改為自己儲存的目錄)

6. 實時顯示點雲圖:

rosrun rviz rviz -f velodyne  

然後在rviz中點add by topic,增加pointcloud2,在topic裡面輸入 /velodyne_points,  這樣就可以實時顯示獲取的3d點雲圖。

7. 記錄資料:

我看到的教程都是使用  rosbag record -o out /velodyne_points這個命令獲取 /velodyne_points這個topic的資料,但是我去解析儲存下來的資料時發現裡面的雷達資料是處理過後的,反正我是根本無法解讀。本人是想獲取雷達的原始udp報文裡面的資訊生成距離和強度影象,所以我儲存了 /velodyne_packets這個topic的資料,儲存的資料是包含udp的正文,每76個udp報文(掃瞄一周360度)有乙個時間戳,然後按照手冊就可以從資料中獲得距離和強度等資訊。

rosbag record -o filename /velodyne_packets

利用Eclipse整合開發環境進行ROS開發

可以利用eclipse整合開發環境進行ros開發,從而提高研發效率。以色列巴爾伊蘭大學的mr.roi yehoshua開設了一門ros課程,課程2 lesson 2 講解了如何利用eclipse在ros上進行開發。這裡走下總結整理。安裝步驟如下 1.安裝eclipse sudo apt get in...

Gazebo簡介及利用ROS控制gazebo模型

載入特定的world,如 gazebo world pr2.world系統預設的world路徑為 usr share gazebo version worlds gazebo指令會執行兩種不同的可執行檔案,乙個是gzserver,另乙個是gzclient。前者執行物理更新迴圈和生成感測器資料,後者生...

利用DHT網路原理製作bt採集蜘蛛

dhtcrawler最早的版本有很多問題,修復過的最大的乙個問題是關於erlang定時器的,在dht實現中,需要對每個節點每個peer做超時處理,在erlang中的做法直接是針對每個節點註冊了乙個定時器。這不是問題,問題在於定時器資源就像沒有gc的記憶體資源一樣,是會由於程式設計師的 問題而出現資源...