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

  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文件中的参数与实际车辆相对应

#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 是否有消息输出