在ROS1中,有iar_laser_tools融合双2D激光雷达数据,但是很久没有更新了,看他的评论找到了humble版本的库,是另一个人写的,一直没有被原作者合并,下面贴出链接
nakai-omer/ira_laser_tools at humble (github.com)
直接下载humble分支代码进src,编译成功后就可以正常使用了
使用lakibeam1的 lakibeam1_scan_dual_lidar_view.launch.py获取双雷达数据
想在rviz中显示融合后数据,出现
New subscription discovered on topic '/scan_multi', requesting incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY
解决方法:
将
point_cloud_publisher_ = this->create_publisher<sensor_msgs::msg::PointCloud2>(cloud_destination_topic.c_str(), rclcpp::SensorDataQoS());
laser_scan_publisher_ = this->create_publisher<sensor_msgs::msg::LaserScan>(scan_destination_topic.c_str(), rclcpp::SensorDataQoS());
改为
point_cloud_publisher_ = this->create_publisher<sensor_msgs::msg::PointCloud2>(cloud_destination_topic.c_str(), 10);
laser_scan_publisher_ = this->create_publisher<sensor_msgs::msg::LaserScan>(scan_destination_topic.c_str(), 10);
具体原因不清楚,有知道的大佬欢迎在评论区交流
如果仅使用双雷达做数据融合,还需要改一下这个参数,将目标系改为laser,否则代码中的tf变换无法成功
<param name="destination_frame" value="laser"/>