前言
实验室有很多贵重的设备,Velodyne全系列均有,但是再好的设备放着不用就是浪费。
一年前就玩过HDL-32E,但是当时没有总结记录的习惯,今天就记录一下VLP-16的数据显示和录制方法,可以验证设备是否有问题。
数据显示和录制
在Ubuntu系统,有两种方式进行数据显示:
- ROS
- VeloView
在Windows系统,可用VeloView
进行数据显示。
基于ROS的方法
环境
- Ubuntu 14.04
- ROS indigo
安装驱动
$ sudo apt-get install ros-indigo-velodyne
配置以太网
打开网络连接
,添加以太网
,点击IPv4 设置
,添加以下数据:
- 地址:192.168.1.222
- 掩码:255.255.255.0
- 网关:192.168.1.1
注意:VLP-16默认地址为192.168.1.201,这里地址可设为192.168.1.XXX,其中“XXX”可以为2到254之间除201以外的任意整数。
文件转换
把Velodyne的xml文件转换成ROS节点的yaml文件,VLP-16.xml文件在激光雷达箱子的U盘中,转换后生成VLP-16.yaml:
$ rosrun velodyne_pointcloud gen_calibration.py ~/VLP-16.xml
加载
$ roslaunch velodyne_pointcloud VLP16_points.launch calibration:=~/VLP-16.yaml
用rviz显示点云
$ rosrun rviz rviz -f velodyne
在打开的rviz
中,点击Add
,添加PointCloud2
,然后在添加的PointCloud2
的topic
中输入/velodyne_points
。
这时,如果窗口能实时显示点云,就表明设备正常。
显示效果如下图所示:
保存bag文件,记录数据
$ rosbag record -O out /velodyne_points
可以用以下命令查询topic,这里只记录/velodyne_points
,保存到当前路径下的out.bag。
$ rostopic list -v
播放bag数据
$ rosbag play ~/out.bag
基于VeloView的方法
首先按照基于ROS的方法中配置以太网
然后去https://www.paraview.org/VeloView下载Linux安装包3.5.0-tar.gz,解压后,在终端执行以下命令:
$ ./bin/VeloView
然后会打开VeloView,选择File—>Open—>Sensor Stream,在打开的窗口中选择VLP-16
,这样就可以显示点云了。
显示效果如下图所示:
另外,此软件可以录制
pcap
数据。
拓展
VLP-16默认地址为192.168.1.201,可在浏览器地址栏输入http://192.168.1.201,配置VLP-16。
界面如下图所示:
在多传感器开发时,为了避免IP地址冲突,可能会更改IP地址,也就是在这个界面中修改。
但是,一定要记住更改后的IP地址。
比较坑的是,我这台设备的IP地址被改成了192.168.1.200,而且我事先不知道改成了什么。
这时,可以使用
WireShark
网络分析软件获取设备的IP地址。
总结
这篇博客只是简单的显示和录制VLP-16采集的点云,数据处理才是真功夫。
下篇博客就总结下点云数据解析吧。