Ubuntu20.04 loam_velodyne编译运行

当你拿到了loam_velodynede 的代码,你想立刻catkin_make起来,看一下实际效果。结果你发现编译不通过!!!你发现报错是opencv的问题。然后,你就可以参考一下本博客。


首先,需要知道的是,ubuntu20.04安装好ROS后,默认自带的opencv是OpenCV4!!!CV4!!!4!!!然后你随便搜一下opencv4,你就会知道它的头文件跟之前版本不太一样。(本文只介绍如何解决LOAM的编译问题,对OpenCV4感兴趣的同学请自行阅读相关文档。。。)所以,第一步是要修改loam_velodyne的四个文件的#include<>。
这里,请再确认一下,你的loam_velodyne只包含四个.cpp文件。没有多余的.h文件,include文件夹里也没有很多.h文件,只有一个common.h
Ubuntu20.04 loam_velodyne编译运行_第1张图片
然后,要更改的就是四个文件的#include<>。更改后的头文件为

#include //noetic默认自带opencv4

四个文件都要改!!!
原来的头文件为#include

另外,为了能在Rviz里可视化,第二个需要修改的laserMapping.cpp里的:

417 odomAftMapped.header.frame_id = "camera_init";

主要是话题的名字前要去掉“/”(据师兄说,ubuntu20.04下Rviz的坐标系前不需要“/”,所以要将所有的——camera_init前都去掉“/”。具体原因我不清楚,出了错请找我师兄。。。)将所有的该话题前都去掉“/”。总共应该是四处,可以使用IDE的查找功能,将找到的四个修改完成。
更改之后,保存,就可以catkin_make了。正常情况下,可以编译成功。

然后你就会兴高采烈地看到Rviz界面了,但是,,,,好像不太正常诶,,,怎么办呢?重新Add添加PointCloud2,配置好话题,应该可以正常显示了。为了下次方便观看,可以将Rviz信息保存到工作空间里的rviz_cfg文件夹下,重命名,例如我重命名为loam.rviz,
Ubuntu20.04 loam_velodyne编译运行_第2张图片然后,修改以下launch文件(loam_velodyne.launch),修改最下边的语句

(find loam_velodyne)/rviz_cfg/loam.rviz" />

换成刚保存的.rviz文件。这里显示的是已经修改好了的。
最后,运行你的bag包,就可以看到点云啦。
上一个自己的图
Ubuntu20.04 loam_velodyne编译运行_第3张图片

你可能感兴趣的:(ubuntu)