ubuntu18.04安装cartographer记录
2021/12/25 7:10:30
本文主要是介绍ubuntu18.04安装cartographer记录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
按照官网指导上的指令安装下来,在个别步骤上可能会因为长城的缘故,导致安装失败,一波三折。费了一天时间,终于把cartographer安装成功,翻阅了各种博客文章,结合自己碰到的问题,总结记录一下。
-
安装依赖包
sudo apt-get update sudo apt-get install -y python-wstool python-rosdep ninja-build stow
-
创建工作空间与下载安装包
mkdir catkin_ws cd catkin_ws wstool init src wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
注意看到src目录出现
.rosinstall
文件(显示隐藏文件ctrl + h
),往里面填加ceres1.13.0的下载地址 (版本1.13.0,否则与eigen库冲突)。sudo gedit /home/ros/catkin_ws/src/.rosinstall
往里面添加:
- git: local-name: ceres-solver uri: https://github.com/ceres-solver/ceres-solver.git version: 1.13.0
终端执行命令,下载安装包:
wstool update -t src
下载完之后,工作空间src目录是这样的:
-
安装cartographer_ros依赖
首先要有ros系统。sudo rosdep init rosdep update rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
因为长城的原因,这里的
rosdep update
往往是头疼的一步,最常见的解决方法是修改/etc/hosts,使用境外的ip,但是我一直没有成功。最终参考了古月的博文,得以顺利解决。强烈推荐:https://www.guyuehome.com/34072 -
安装abseil库
src/cartographer/scripts/install_abseil.sh
安装过程中,注意是否出现
*existing target is neither a link nor a directory: include/absl/algorithm/algorithm.h
类似警告,说明在此前已经安装过了abseil库。(如果后续不影响cartographer安装可忽略,如果导致失败,看下文) -
编译cartographer
这里是最后一步了,是漫长的等待…catkin_make_isolated --install --use-ninja
报错1:
ImportError: "from catkin_pkg.package import parse_package" failed: No module named 'catkin_pkg' Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH.
安装catkin_pkg即可。
python3 -m pip install catkin_pkg
报错2:
/usr/bin/ld: /usr/local/lib/libabsl_synchronization.a(mutex.cc.o): relocation R_X86_64_32 against `.data' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/libabsl_synchronization.a: 无法添加符号: 错误的值 collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. <== Failed to process package 'cartographer_rviz':
因为abseil库导致的错误,可能我先前安装的abseil库版本不符,故卸载重装:
sudo rm -rf '/usr/local/include/absl' sudo rm -rf '/usr/local/lib/cmake/absl' cd /usr/local/lib sudo rm libabsl_*
终端回到工作空间重装即可:
src/cartographer/scripts/install_abseil.sh
安装abseil会用到stow管理器,在库安装和卸载的时候很方便。https://zhuanlan.zhihu.com/p/54750603
报错3:
也不知道进行了什么骚操作,导致出现这个问题,翻遍google和baidu都没找到解决办法。By not providing "FindLuaGoogle.cmake" in CMAKE_MODULE_PATH this project ...
删除
build_isolated、 install_isolated、 src
,重新开始。
这篇关于ubuntu18.04安装cartographer记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04el-table 开启定时器下,表格的选中状态会消失是什么原因-icode9专业技术文章分享
- 2024-10-03如何安装和初始化飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03如何安装 App 并连接到飞牛 NAS?-icode9专业技术文章分享
- 2024-10-03如何安装飞牛 TV 并连接到影视服务器?-icode9专业技术文章分享
- 2024-10-03如何在PVE和ESXI上安装飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS安装系统异常情况处理-icode9专业技术文章分享
- 2024-10-03飞牛NAS如何创建存储空间?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS硬盘会自动休眠吗?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何安装飞牛影视和创建媒体库?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何为家人朋友开通影视账号?-icode9专业技术文章分享