Faster_lio是今年高博在fast_lio上改进的开源SLAM,使得SLAM的效率更高,代码地址为:Faster—LIO;高博的介绍为:Faster-LIO:快速激光IMU里程计。论文地址为:Faster-LIO:快速激光IMU里程计PDF。
具体的安装步骤:

1. 安装依赖:

· ROS (melodic or noetic)· glog: sudo apt-get install libgoogle-glog-dev· Eigen: sudo apt-get install libeigen3-dev· pcl: sudo apt-get install libpcl-dev· yaml-cpp: sudo apt-get install libyaml-cpp-dev

2. 更新g++编译器到9.0

解决的问题:

/home/test/LIVOX/FASTER_LIO/catkin_ws/src/faster-lio/src/laser_mapping.cc:3:10: fatal error: execution: 没有那个文件或目录#include <execution>
· sudo add-apt-repository ppa:ubuntu-toolchain-r/test· sudo apt update· sudo apt install gcc-9//注意gcc和g++都是9.0以上的版本 进行编译· sudo apt install g++-9  //github上缺少这一步,一直报错,用g++ --version 查看才知道没有· cd /usr/bin· sudo rm gcc g++· sudo ln -s gcc-9 gcc· sudo ln -s g++-9 g++

3. 源码编译tbb库

解决的问题:

In file included from /usr/include/c++/9/pstl/parallel_backend.h:14,from /usr/include/c++/9/pstl/algorithm_impl.h:25,from /usr/include/c++/9/pstl/glue_execution_defs.h:52,from /usr/include/c++/9/execution:32,from /home/test/LIVOX/FASTER_LIO/catkin_ws/src/faster-lio/src/laser_mapping.cc:3:
/usr/include/c++/9/pstl/parallel_backend_tbb.h:28:2: error: #error Intel(R) Threading Building Blocks 2018 is required; older versions are not supported.28 | #error Intel(R) Threading Building Blocks 2018 is required; older versions are not supported.|  ^~~~~
In file included from /usr/include/c++/9/pstl/parallel_backend.h:14,from /usr/include/c++/9/pstl/algorithm_impl.h:25,from /usr/include/c++/9/pstl/glue_execution_defs.h:52,from /usr/include/c++/9/execution:32,from /home/test/LIVOX/FASTER_LIO/catkin_ws/src/faster-lio/src/laser_mapping.cc:3:
/usr/include/c++/9/pstl/parallel_backend_tbb.h: In function ‘void __pstl::__par_backend::__parallel_for(_ExecutionPolicy&&, _Index, _Index, _Fp)’:
/usr/include/c++/9/pstl/parallel_backend_tbb.h:99:27: error: ‘isolate’ is not a member of ‘tbb::this_task_arena’99 |     tbb::this_task_arena::isolate([=]() {|                           ^~~~~~~
/usr/include/c++/9/pstl/parallel_backend_tbb.h: In function ‘_Value __pstl::__par_backend::__parallel_reduce(_ExecutionPolicy&&, _Index, _Index, const _Value&, const _RealBody&, const _Reduction&)’:
/usr/include/c++/9/pstl/parallel_backend_tbb.h:111:34: error: ‘isolate’ is not a member of ‘tbb::this_task_arena’

参考:linux tbb 安装_Ubuntu18.04 GCC9 安装

·下载tbb,并cd 到目录

wget https://github.com/intel/tbb/archive/2019_U8.tar.gztar zxvf 2019_U8.tar.gzrm 2019_U8.tar.gzcd tbb-2019_U8

· 编辑linux.gcc-9.inc

cp build/linux.gcc.inc build/linux.gcc-9.inc# 使用vscode 编辑文件code -n build/linux.gcc-9.inc# 把大约是15,16行的CPLUS ?= g++ CONLY ?= gcc修改为下面语句,然后保存CPLUS ?= g++-9CONLY ?= gcc-9

· 编译tbb

make compiler=gcc-9 stdver=c++17 tbb_build_prefix=my_tbb_build

·安装tbb

sudo mkdir /usr/local/tbb-2019_U8sudo cp -r include /usr/local/tbb-2019_U8/includesudo ln -s /usr/local/tbb-2019_U8/include/tbb /usr/local/include/tbbsudo cp -r build/my_tbb_build_release /usr/local/tbb-2019_U8/libsudo ln -s /usr/local/tbb-2019_U8/lib/libtbb.so.2 /usr/local/lib/libtbb.sosudo ln -s /usr/local/tbb-2019_U8/lib/libtbbmalloc.so.2 /usr/local/lib/libtbbmalloc.sosudo ln -s /usr/local/tbb-2019_U8/lib/libtbbmalloc_proxy.so.2      /usr/local/lib/libtbbmalloc_proxy.soecho 'export LD_LIBRARY_PATH=/usr/local/tbb-2019_U8/lib:$LD_LIBRARY_PATH'  >>      ~/.bashrcsource ~/.bashrc

4. 使用cmake编译

mkdir buildcd buildcmake .. -DCMAKE_BUILD_TYPE=Releasemake -j4   //注意线程,改为自己的

注意:iVoxel类型需要在编译时指定,默认时现行的iVoxel,若需要变成iVoxel-PHC,需要执行下面指令:

cmake .. -DWITH_IVOX_NODE_TYPE_PHC=ON

5. 使用catkin_make编译

· 更改src中的CmakeList.txt文件,将target_link_libraries中的tbb更改为具体的库路径,更改后如下,注意对比新增的代码(很重要)
解决的问题

/bin/sh: 1: /usr/bin/c++: not found
/bin/sh: 1: /usr/bin/c++: not found
src/CMakeFiles/faster_lio.dir/build.make:86: recipe for target 'src/CMakeFiles/faster_lio.dir/pointcloud_preprocess.cc.o' failed
make[2]: *** [src/CMakeFiles/faster_lio.dir/pointcloud_preprocess.cc.o] Error 127
make[2]: *** 正在等待未完成的任务....
src/CMakeFiles/faster_lio.dir/build.make:62: recipe for target 'src/CMakeFiles/faster_lio.dir/laser_mapping.cc.o' failed
make[2]: *** [src/CMakeFiles/faster_lio.dir/laser_mapping.cc.o] Error 127
CMakeFiles/Makefile2:3982: recipe for target 'src/CMakeFiles/faster_lio.dir/all' failed
make[1]: *** [src/CMakeFiles/faster_lio.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
   target_link_libraries(${PROJECT_NAME}${catkin_LIBRARIES}${PCL_LIBRARIES}${PYTHON_LIBRARIES}/usr/local/lib/libtbb.so/usr/local/lib/libtbbmalloc.so/usr/local/lib/libtbbmalloc_proxy.soglogyaml-cpp)

· 将代码放入工作空间内的src目录下,使用正常的包的编译方法编辑即可;

6. 运行分为在线和离线

离线:

调用离线建图,用参数指定bag和配置文件:

固态雷达,也就是avia:

./build/devel/lib/faster_lio/run_mapping_offline --bag_file your_avia_bag_file --config_file ./config/avia.yaml

对于NCLT,机械雷达, 运行:

./build/devel/lib/faster_lio/run_mapping_offline --bag_file your_nclt_bag_file --config_file ./config/velodyne.yaml,注意下面更改的部分,其他的部分是无所谓的部分

common:dataset: "nclt"lid_topic: "/points_raw"   #注意更改激光雷达话题imu_topic: "/imu_correct" #注意更改IMU话题time_sync_en: true         # ONLY turn on when external time synchronization is really not possible,确定无法使用外部标定时启用preprocess:lidar_type: 2                # 1 for Livox serials LiDAR, 2 for Velodyne LiDAR, 3 for ouster LiDAR,注意更改激光雷达类型scan_line: 16              #注意更改激光雷达线												

在ubuntu18.04上安装以及运行Faster-lio相关推荐

  1. 在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等

    在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包.录制包等 1 添加密钥和ros2下载 2 更新源和安装ros-eloquent-desktop及其依赖 3 配置环境 3.1 ...

  2. 在Ubuntu18.04上安装USTC-TK2016

    在Ubuntu18.04上安装USTC-TK2016 1.安装依赖 1. 安装Mono sudo apt install gnupg ca-certificates sudo apt-key adv ...

  3. ubuntu18.04上安装anaconda-python深度学习环境

    Anaconda是一套Python的发行版,发行版集成了必要的库,使用户可以一次性完成安装.Anaconda是一个侧重于数据分析的发行版,一些有助于数据分析的库,比如Numpy,Matplotlib, ...

  4. Ubuntu18.04上安装ROS的详细教程

    文章目录 前言 一.环境配置 二.安装步骤 1.添加ROS软件源 2.添加密钥 3.更换软件源 4.安装ROS 5.初始化rosdepc 6.设置环境变量 7.安装 rosinstall 8.验证RO ...

  5. ubuntu18.04上安装ffmpeg

    ubuntu18.04上安装ffmpeg 下载ffmpeg wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.t ...

  6. 【python初级】 Ubuntu18.04上安装python3、pip3

    [python初级] Ubuntu18.04上安装python3.pip3 1.背景 2.安装python3 3.安装pip3 1.背景 最近在使用docker部署. 通过docker镜像创建的容器中 ...

  7. 在Ubuntu18.04上安装Nvidia驱动

    拿到了一台新机子,带显卡的那种,当然是各种倒腾了!于是我又一天装了三遍机子来进行各种尝试熟悉配置啥的. 所以首先是在裸机上安装Nvidia驱动. 环境:Ubuntu18.04 刚安装完系统,当然是把软 ...

  8. 1.【Linux】如何在Ubuntu18.04上安装微信

    ubuntu 阿里云下载地址:http://mirrors.aliyun.com/ubuntu-releases/ 在ubuntu上使用windows上的一些软件需要安装wine. 本教程介绍如何在 ...

  9. ubuntu18.04上安装ROS机器人操作系统

    一. 版本选择 ubuntu不同系统版本支持的Ros版本有所差异,需要选择对应的版本.我的系统是ubuntu18.04故使用Melodic版本. ubuntu18.04 --> Melodic ...

  10. Ubuntu18.04上安装RTX 2080Ti显卡驱动

    文章目录 1.安装Linux系统 1.1下载Linux镜像文件 1.2 制作系统盘 1.3 安装Linux系统 1.4 配置linux系统 2.安装英伟达显卡驱动 2.1 预备工作 2.2 安装显卡驱 ...

最新文章

  1. 第十五章 动态规划——最优二叉搜索树
  2. 线程池ThreadPoolExcutor
  3. 解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
  4. 深度系统如何安装mysql_deepin 安装mysql apache
  5. 数据库建表需要外键约束?
  6. DataTable分组
  7. datagrid嵌套和资源消耗
  8. golang语言os.Stat()用法及功能
  9. 第三季-第21课-多线程同步
  10. laravel下载文件
  11. Git HEAD指针
  12. DruidDataSource - abandon connection, owner thread: 错误原因
  13. 设计水杯,门锁的测试用例
  14. Js出库入库数量变化
  15. C# arcengine 属性快速浏览
  16. IO流-节点流和处理流(涵盖底层调用关系)
  17. java 四舍五入保留小数点后两位
  18. “远程办公效率低?” 谈谈职场沟通与交流
  19. android 高德地图设置不能旋转_高德正在内测的公交实时查询APP
  20. ncr管理系统_【拆解】米家骑记电助力折叠自行车,看看里面的电子方案

热门文章

  1. python写诗代码_牛逼了,用Python写个会做诗的机器人
  2. python父亲节祝福_2020年精选优美的父亲节祝福语28条
  3. C语言气温连续上升的天数,广西多地连阴雨天数破纪录 - 广西首页 -中国天气网...
  4. httpwatch9.1 安装包
  5. UML(用例图,类图,对象图,包图)
  6. python中 d是什么意思_python里d是什么意思
  7. 集成安装光盘制作教程(http://bbs.deepin.org/viewthread.php?tid=1170144)
  8. html中的鼠标样式,css 如何为html页面设置鼠标样式呢?
  9. 嵌套iframe页面做打印去掉页眉页脚
  10. 一个完整推荐系统的设计实现-以百度关键词搜索推荐为例