# velodyne velodyne驱动是以component的形式实现的,包含了: 1. 数据读取打包 --> /driver 2. 生成点云 --> /convert 3. 点云融合 --> /fusion 4. 运动补偿 --> /compensator 4个处理组件,其中`运动补偿`需要依赖`tf`来进行坐标转换查询,因此需要和`gnss_driver`一起运行才能正常工作,点云融合主要将多个激光雷达数据融合成一张点云 ## Output channels 1. 数据包 channel: /apollo/sensor/lidar128/Scan type: apollo::drivers::velodyne::VelodyneScan proto: [modules/drivers/lidar/velodyne/proto/velodyne.proto](https://github.com/ApolloAuto/apollo/blob/master/modules/drivers/lidar/velodyne/proto/velodyne.proto) 2. 原始点云 channel: /apollo/sensor/lidar128/PointCloud2 type: apollo::drivers::PointCloud proto: [modules/drivers/proto/pointcloud.proto]https://github.com/ApolloAuto/apollo/blob/master/modules/drivers/proto/pointcloud.proto 3. 补偿点云 channel: /apollo/sensor/lidar128/compensator/PointCloud2 type: apollo::drivers::PointCloud proto: [modules/drivers/proto/pointcloud.proto]https://github.com/ApolloAuto/apollo/blob/master/modules/drivers/proto/pointcloud.proto ## 坐标系 * world * novatel * velodyne128 ## 启动velodyne驱动 **请先修改并确认launch文件中的参数与实际车辆相对应** ```bash #in docker cd /apollo && cyber_launch start modules/drivers/lidar/velodyne/launch/velodyne.launch ``` ## 常见问题 1. "basetime is zero" position packet 不可用,检查gps接线或者将车开到有信号的地方 2. "velodyne port 2368 poll() timeout" 主机与velodyne网络不通,可用命令`sudo tcpdump -i eth0 udp port 2368`查看是否能收到velodyne数据包 3. "cannot find transform ..." `运动补偿`依赖`tf`,请检查`gnss_driver`是否已启动,同时可通过cyber_monitor工具查看 `/tf` channel 是否有消息输出