Loam:Ubuntu20.04下的编译与运行

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显示:
Loam:Ubuntu20.04下的编译与运行

四、可能会遇到的问题

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显示如下:
Loam:Ubuntu20.04下的编译与运行
原因目前我也没找到,有知道的朋友看到这里可以为我答疑解惑嘛~
但是我也尝试解决了一下:
在打开的rviz中,在Pointcloud2(存在两个话题都要修改)将Style从原来的Points改为Flat Squares 。Size同时也作相应的修改即可。
Loam:Ubuntu20.04下的编译与运行

上一篇:【古月居ROS21讲】17 机器人中的坐标变化


下一篇:UR机械臂学习(4):UR机械臂仿真