Loam在Ubuntu20.04下的编译与运行
一、源码及数据集下载
LOAM中文注解版与相关论文: https://github.com/cuitaixiang/LOAM_NOTED.
NSH indoor outdoor 数据集: https://drive.google.com/file/d/1s05tBQOLNEDDurlg48KiUWxCp-YqYyGH/view.
数据集的百度云地址:https://pan.baidu.com/s/1TnLl_8OF5tvv8i-yzrHc7g. 密码: 0qno
二、建立ROS工作空间
Ubuntu20.04对应的ROS版本为Noetic,可以按照官网手册安装。建议安装时采用Desktop-Full Install。
安装ROS Noetic: lhttp://wiki.ros.org/noetic/Installation/Ubuntu.
安装好以后即可创建工作空间:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws/
$ catkin_make
$ echo "source ~/catkin_ws/devel/setup.sh" >> ~/.bashrc
然后将git下来的文件中src下的loam_velodyne复制到工作空间src下即可catkin_make。
三、Loam的运行
在两个终端分别运行:
roslaunch loam_velodyne loam_velodyne.launch
rosbag play nsh_indoor_outdoor.bag存放地址
rviz显示:
四、可能会遇到的问题
1. OpenCV 版本问题
如果你在安装Ubuntu的时候是选择联网更新安装的话,那么应该Eigen3、pcl-1.10和OpenCV都是有的,但是由于20.04自带的是OpenCV4,所以要对Loam代码做一点改动:
找到所有代码中所有的:#include <pcl/point_cloud.h>
,修改为#include <opencv2/imgproc.hpp>
。即可成功编译。
2.camera_init话题问题
在运行过程中出现以下错误:
[ERROR] [1623136765.617027771]: Error transforming odometry 'Odometry' from frame '/camera_init' to frame 'camera_init'
^C[rviz-6] killing on exit
按照提示将代码中所有/camera_init
改成camera_init
即可。
3.rviz显示点云不正确问题
运行时rviz显示如下:
原因目前我也没找到,有知道的朋友看到这里可以为我答疑解惑嘛~
但是我也尝试解决了一下:
在打开的rviz中,在Pointcloud2(存在两个话题都要修改)将Style从原来的Points改为Flat Squares 。Size同时也作相应的修改即可。