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

参考链接: Loam:Ubuntu20.04下的编译与运行.

一、源码及数据集下载

源码链接: https://github.com/wh200720041/floam.git.
数据集链接:https://drive.google.com/file/d/1_qUfwUw88rEKitUpt1kjswv7Cv4GPs0b/view.
将下载好的源码放入建立好的ros工作空间下即可。

二、安装ceres

在loam的基础上我们需要安装非线性求解器ceres:
官网链接:http://ceres-solver.org/installation.html.
安装依赖项(在安装前可以locate看是否已安装):

# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
# BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse and CXSparse (optional)
sudo apt-get install libsuitesparse-dev

编译、测试、安装ceres:

tar zxf ceres-solver-2.0.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-2.0.0
make -j3
make test
# Optionally install Ceres, it can also be exported using CMake which
# allows Ceres to be used without requiring installation, see the documentation
# for the EXPORT_BUILD_DIR option for more information.
make install

三、Floam的运行

在终端运行:

roslaunch floam floam.launch

如果你想同步建图的话 (more cpu cost):

roslaunch floam floam_mapping.launch

播放数据集:

rosbag play bag存放地址

rviz显示:
在这里插入图片描述

四、可能会遇到的问题

1.ROS支持C++14

sudo vim /opt/ros/noetic/share/catkin/cmake/toplevel.cmake
set(CMAKE_CXX_FLAGS "-std=c++14 ${CMAKE_CXX_FLAGS}")

2.pcl版本问题

(1) Ubuntu20.04安装多版本pcl

在编译过程中,报出许多关于pcl的错误,猜测是由于版本不匹配造成的,ubuntu20.04默认的pcl版本为1.10,安装在/usr/include目录下,于是在 /usr/local目录下建立pcl18文件夹,用于安装1.8版本的pcl:

cd /usr/local
sudo mkdir pcl18

pcl各版本下载链接: https://github.com/PointCloudLibrary/pcl/releases.
安装依赖项:

sudo apt-get update  
sudo apt-get install git build-essential linux-libc-dev  
sudo apt-get install cmake cmake-gui   
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev  
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common    
sudo apt-get install libflann1.8 libflann-dev  
sudo apt-get install libeigen3-dev  
sudo apt-get install libboost-all-dev  
sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev  
sudo apt-get install libqhull* libgtest-dev  
sudo apt-get install freeglut3-dev pkg-config  
sudo apt-get install libxmu-dev libxi-dev   
sudo apt-get install mono-complete  
sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre

进入下载源码文件:

mkdir build && cd build
cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/pcl18 \ -DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON ..
make
sudo make install

安装完成后,在使用到pcl1.8代码的CMakeLists.txt中加入:

set(PCL_DIR "/usr/local/pcl18/share/pcl-1.8")

(2) Floam兼容pcl1.10

主要是让Floam支持C++14,所以只需要修改下载下来的源码中CMakeList.txt:

set(CMAKE_CXX_FLAGS "-std=c++14")
#路径
set(PCL_DIR "/usr/include/pcl-1.10")
find_package(PCL 1.10 REQUIRED)
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值