在ubuntu18.04上安装以及运行Faster-lio
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相关推荐
- 在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包.录制包等 1 添加密钥和ros2下载 2 更新源和安装ros-eloquent-desktop及其依赖 3 配置环境 3.1 ...
- 在Ubuntu18.04上安装USTC-TK2016
在Ubuntu18.04上安装USTC-TK2016 1.安装依赖 1. 安装Mono sudo apt install gnupg ca-certificates sudo apt-key adv ...
- ubuntu18.04上安装anaconda-python深度学习环境
Anaconda是一套Python的发行版,发行版集成了必要的库,使用户可以一次性完成安装.Anaconda是一个侧重于数据分析的发行版,一些有助于数据分析的库,比如Numpy,Matplotlib, ...
- Ubuntu18.04上安装ROS的详细教程
文章目录 前言 一.环境配置 二.安装步骤 1.添加ROS软件源 2.添加密钥 3.更换软件源 4.安装ROS 5.初始化rosdepc 6.设置环境变量 7.安装 rosinstall 8.验证RO ...
- ubuntu18.04上安装ffmpeg
ubuntu18.04上安装ffmpeg 下载ffmpeg wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.t ...
- 【python初级】 Ubuntu18.04上安装python3、pip3
[python初级] Ubuntu18.04上安装python3.pip3 1.背景 2.安装python3 3.安装pip3 1.背景 最近在使用docker部署. 通过docker镜像创建的容器中 ...
- 在Ubuntu18.04上安装Nvidia驱动
拿到了一台新机子,带显卡的那种,当然是各种倒腾了!于是我又一天装了三遍机子来进行各种尝试熟悉配置啥的. 所以首先是在裸机上安装Nvidia驱动. 环境:Ubuntu18.04 刚安装完系统,当然是把软 ...
- 1.【Linux】如何在Ubuntu18.04上安装微信
ubuntu 阿里云下载地址:http://mirrors.aliyun.com/ubuntu-releases/ 在ubuntu上使用windows上的一些软件需要安装wine. 本教程介绍如何在 ...
- ubuntu18.04上安装ROS机器人操作系统
一. 版本选择 ubuntu不同系统版本支持的Ros版本有所差异,需要选择对应的版本.我的系统是ubuntu18.04故使用Melodic版本. ubuntu18.04 --> Melodic ...
- Ubuntu18.04上安装RTX 2080Ti显卡驱动
文章目录 1.安装Linux系统 1.1下载Linux镜像文件 1.2 制作系统盘 1.3 安装Linux系统 1.4 配置linux系统 2.安装英伟达显卡驱动 2.1 预备工作 2.2 安装显卡驱 ...
最新文章
- 第十五章 动态规划——最优二叉搜索树
- 线程池ThreadPoolExcutor
- 解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
- 深度系统如何安装mysql_deepin 安装mysql apache
- 数据库建表需要外键约束?
- DataTable分组
- datagrid嵌套和资源消耗
- golang语言os.Stat()用法及功能
- 第三季-第21课-多线程同步
- laravel下载文件
- Git HEAD指针
- DruidDataSource - abandon connection, owner thread: 错误原因
- 设计水杯,门锁的测试用例
- Js出库入库数量变化
- C# arcengine 属性快速浏览
- IO流-节点流和处理流(涵盖底层调用关系)
- java 四舍五入保留小数点后两位
- “远程办公效率低?” 谈谈职场沟通与交流
- android 高德地图设置不能旋转_高德正在内测的公交实时查询APP
- ncr管理系统_【拆解】米家骑记电助力折叠自行车,看看里面的电子方案
热门文章
- python写诗代码_牛逼了,用Python写个会做诗的机器人
- python父亲节祝福_2020年精选优美的父亲节祝福语28条
- C语言气温连续上升的天数,广西多地连阴雨天数破纪录
-
广西首页
-中国天气网...
- httpwatch9.1 安装包
- UML(用例图,类图,对象图,包图)
- python中 d是什么意思_python里d是什么意思
- 集成安装光盘制作教程(http://bbs.deepin.org/viewthread.php?tid=1170144)
- html中的鼠标样式,css 如何为html页面设置鼠标样式呢?
- 嵌套iframe页面做打印去掉页眉页脚
- 一个完整推荐系统的设计实现-以百度关键词搜索推荐为例