入手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的記憶體資源一樣,是會由於程式設計師的 問題而出現資源...