Velodyne VLP-16数据显示与录制

本文介绍如何在Ubuntu系统上通过ROS及VeloView两种方式显示和录制Velodyne VLP-16激光雷达采集的点云数据,并提供详细的步骤说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

实验室有很多贵重的设备,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,然后在添加的PointCloud2topic中输入/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采集的点云,数据处理才是真功夫。
下篇博客就总结下点云数据解析吧。

<think>嗯,用户想知道怎么用VLP-16激光雷达和Xsens IMU录制数据集。首先,我得回想一下这两种设备的基本情况。VLP-16Velodyne16线激光雷达,输出点云数据,而Xsens IMU是用于测量惯性数据的,比如加速度和角速度。用户可能在做机器人或者自动驾驶相关的项目,需要同步收集这两种传感器的数据来做SLAM或者状态估计之类的任务。 接下来,我需要考虑硬件连接和安装。激光雷达和IMU通常需要固定在平台上,比如无人车或者无人机,安装位置要稳固,避免振动影响IMU数据。另外,时间同步是关键,可能需要使用外部触发或者同步信号,比如PTP协议或者GPS时间戳。VLP-16支持NTP或PTP同步吗?Xsens IMU可能也有自己的同步方式,比如通过硬件触发或者软件接口。 然后是关于数据采集的软件部分。可能需要用ROS(机器人操作系统)来同时订阅雷达和IMU的话题,并记录成bag文件。或者用户可能使用厂家提供的SDK,分别录制数据,但这样时间同步可能会有问题。所以最好有一个统一的主机,同时接收两个设备的数据,并打上时间戳。比如,在ROS里,可以写一个launch文件同时启动雷达和IMU的驱动节点,然后用rosbag record保存话题数据。 还要注意参数设置,比如雷达的扫描频率、IMU的输出频率。VLP-16的转速可以设置,比如10Hz,而Xsens IMU可能有更高的频率,比如100Hz。这时候需要处理不同频率的数据,可能需要在后期进行时间对齐或者插值。 另外,用户可能需要标定传感器之间的外参,也就是雷达和IMU的相对位置和姿态,这对后续的数据融合很重要。引用里的资料提到了一些校准文件,比如Vehicle2IMU.txt,可能包含这些外参信息。所以用户录制数据集之前,应该先进行标定,获取准确的变换矩阵。 还有数据存储的问题,两种传感器的数据量可能不同,雷达的点云数据较大,需要足够的存储空间。IMU的数据相对较小,但高频率下也会累积。需要确保存储设备的速度和容量足够,避免丢数据。 最后,验证和测试部分。用户可能需要用RTK GPS或者其他高精度定位设备作为真值,来评估数据集的质量。引用3中提到了使用Femtomes Nano-D RTK来捕获轨迹真值,这可以在后期用于SLAM算法的验证。 可能的问题包括时间同步不准确、传感器之间的坐标转换错误、数据丢失或损坏。所以用户需要仔细检查每个环节,确保每个步骤正确,比如检查时间戳的一致性,验证外参标定的准确性,测试数据录制的稳定性等。</think>### 如何使用VLP-16激光雷达和Xsens IMU录制数据集 #### 1. **硬件配置安装** - **传感器固定**:将VLP-16激光雷达和Xsens IMU刚性安装在同一平台上(如无人车或无人机),确保两者相对位置稳定[^3]。 - **同步机制**: - **时间对齐**:通过外部时间源(如GPS PPS信号)或软件同步协议(如NTP/PTP)统一传感器时间戳。例如,VLP-16支持通过PTP协议同步[^3]。 - **触发信号**:若需严格同步,可使用硬件触发线连接IMU和激光雷达的时钟输入接口[^1]。 #### 2. **软件设置数据采集** - **激光雷达配置**: - 使用Velodyne官方驱动或ROS节点`velodyne_driver`,设置扫描频率(通常为10Hz)、点云范围(0-100m)和旋转速率(300-1200 RPM)。 - 数据输出格式为`.pcap`或ROS话题`/velodyne_points`。 - **IMU配置**: - 通过Xsens MT SDK或ROS驱动`xsens_mti`设置IMU采样率(建议100Hz以上),输出加速度、角速度和磁场原始数据[^3]。 - 保存为`.mtd`格式或ROS话题`/imu/data`。 - **数据录制工具**: - 使用ROS的`rosbag record`命令同时录制激光雷达和IMU话题: ```bash rosbag record -O dataset.bag /velodyne_points /imu/data ``` - 或通过自定义脚本(如Python)同步保存传感器原始数据[^2]。 #### 3. **标定坐标转换** - **外参标定**:通过手眼标定法确定激光雷达IMU的刚性变换矩阵($T_{Lidar}^{IMU}$),保存为`Vehicle2IMU.txt`和`Vehicle2VLP.txt`等文件[^2]。 - **时间偏移补偿**:若存在硬件同步误差,需通过离线标定计算时间偏移量$\Delta t$并进行插值对齐[^1]。 #### 4. **数据存储验证** - **存储结构**: ``` dataset/ ├── vlp_data/ # VLP-16点云(.pcap或.bin) ├── imu_data/ # Xsens IMU数据(.csv或.mtd) ├── calibration/ # 标定文件(Vehicle2IMU.txt等) └── metadata.yaml # 传感器参数同步信息 ``` - **真值验证**:在GNSS可用区域,使用RTK设备(如Femtomes Nano-D)采集1Hz真值轨迹,用于后续算法评估。 #### 5. **典型问题排查** - **数据不同步**:检查时间戳对齐误差(使用`rostopic hz`或可视化工具PlotJuggler)。 - **点云畸变**:在高速运动场景中,使用IMU数据对点云进行运动补偿(公式:$p_{corrected} = p_{raw} + v \cdot \Delta t$)。 - **数据丢失**:确保网络带宽(如千兆以太网)和存储速率满足VLP-16的~3MB/s数据流需求。 ---
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值