Robosense速腾激光雷达如何使用多雷达
1 简介
本文将展示如何在仅运行一个驱动程序的情况解析并发送多台雷达的点云。理论上,一个驱动可以同时解码无限数量的雷达。为了方便起见,本文将会使用三个雷达作为示例。
2 在线解析多雷达
2.1 获取数据端口号
首先将三个雷达与计算机正确连接,此时应已知每个LiDAR的msop端口号 与 difop端口号。 如果不清楚上述内容,请查看雷达用户手册。
2.2 设置参数文件的common部分
common:
msg_source: 1
send_packet_ros: false
send_point_cloud_ros: true
send_packet_proto: false
send_point_cloud_proto: false
pcap_path: /home/robosense/lidar.pcap
由于消息来源于在线雷达,因此请设置msg_source=1。
将点云发送到ROS以查看,因此设置 send_point_cloud_ros = true 。
2.3 设置配置文件中的lidar部分
lidar:
- driver:
lidar_type: RS128
frame_id: /rslidar
msop_port: 6699
difop_port: 7788
start_angle: 0
end_angle: 360
min_distance: 0.2
max_distance: 200
use_lidar_clock: false
ros:
ros_recv_packet_topic: /middle/rslidar_packets
ros_send_packet_topic: /middle/rslidar_packets
ros_send_point_cloud_topic: /middle/rslidar_points
proto:
point_cloud_recv_port: 60021
point_cloud_send_port: 60021
msop_recv_port: 60022
msop_send_port: 60022
difop_recv_port: 60023
difop_send_port: 60023
point_cloud_send_ip: 127.0.0.1
packet_send_ip: 127.0.0.1
- driver:
lidar_type: RSBP
frame_id: /rslidar
msop_port: 1990
difop_port: 1991
start_angle: 0
end_angle: 360
min_distance: 0.2
max_distance: 200
use_lidar_clock: false
ros:
ros_recv_packet_topic: /left/rslidar_packets
ros_send_packet_topic: /left/rslidar_packets
ros_send_point_cloud_topic: /left/rslidar_points
proto:
point_cloud_recv_port: 60024
point_cloud_send_port: 60024
msop_recv_port: 60025
msop_send_port: 60025
difop_recv_port: 60026
difop_send_port: 60026
point_cloud_send_ip: 127.0.0.1
packet_send_ip: 127.0.0.1
- driver:
lidar_type: RSBP
frame_id: /rslidar
msop_port: 2010
difop_port: 2011
start_angle: 0
end_angle: 360
min_distance: 0.2
max_distance: 200
use_lidar_clock: false
ros:
ros_recv_packet_topic: /right/rslidar_packets
ros_send_packet_topic: /right/rslidar_packets
ros_send_point_cloud_topic: /right/rslidar_points
proto:
point_cloud_recv_port: 60027
point_cloud_send_port: 60027
msop_recv_port: 60028
msop_send_port: 60028
difop_recv_port: 60029
difop_send_port: 60029
point_cloud_send_ip: 127.0.0.1
packet_send_ip: 127.0.0.1
为每个雷达类型设置型号lidar_type。
为每个雷达设置对应的端口号 msop_port 和difop_port 。
为每个雷达设置点云发送的话题ros_send_point_cloud_topic。
3 离线解析多雷达rosbag
3.1 设置配置文件中的common部分
common:
msg_source: 2
send_packet_ros: false
send_point_cloud_ros: true
send_packet_proto: false
send_point_cloud_proto: false
pcap_path: /home/robosense/lidar.pcap
由于数据包消息来自ROS,因此设置 msg_source = 2 。
将点云发送到ROS,因此设置 send_point_cloud_ros = true。
3.2 设置配置文件中的lidar部分
lidar:
- driver:
lidar_type: RS128
frame_id: /rslidar
msop_port: 6699
difop_port: 7788
start_angle: 0
end_angle: 360
min_distance: 0.2
max_distance: 200
use_lidar_clock: false
ros:
ros_recv_packet_topic: /middle/rslidar_packets
ros_send_packet_topic: /middle/rslidar_packets
ros_send_point_cloud_topic: /middle/rslidar_points
proto:
point_cloud_recv_port: 60021
point_cloud_send_port: 60021
msop_recv_port: 60022
msop_send_port: 60022
difop_recv_port: 60023
difop_send_port: 60023
point_cloud_send_ip: 127.0.0.1
packet_send_ip: 127.0.0.1
- driver:
lidar_type: RSBP
frame_id: /rslidar
msop_port: 1990
difop_port: 1991
start_angle: 0
end_angle: 360
min_distance: 0.2
max_distance: 200
use_lidar_clock: false
ros:
ros_recv_packet_topic: /left/rslidar_packets
ros_send_packet_topic: /left/rslidar_packets
ros_send_point_cloud_topic: /left/rslidar_points
proto:
point_cloud_recv_port: 60024
point_cloud_send_port: 60024
msop_recv_port: 60025
msop_send_port: 60025
difop_recv_port: 60026
difop_send_port: 60026
point_cloud_send_ip: 127.0.0.1
packet_send_ip: 127.0.0.1
- driver:
lidar_type: RSBP
frame_id: /rslidar
msop_port: 2010
difop_port: 2011
start_angle: 0
end_angle: 360
min_distance: 0.2
max_distance: 200
use_lidar_clock: false
ros:
ros_recv_packet_topic: /right/rslidar_packets
ros_send_packet_topic: /right/rslidar_packets
ros_send_point_cloud_topic: /right/rslidar_points
proto:
point_cloud_recv_port: 60027
point_cloud_send_port: 60027
msop_recv_port: 60028
msop_send_port: 60028
difop_recv_port: 60029
difop_send_port: 60029
point_cloud_send_ip: 127.0.0.1
packet_send_ip: 127.0.0.1
为每个雷达类型设置型号lidar_type。
为每个雷达设置接收的packet话题名ros_recv_packet_topic。
为每个雷达设置点云发送的话题ros_send_point_cloud_topic。