Cartographer官方安装流程遇到的坑

本文详细记录了在安装Cartographer ROS过程中遇到的问题及解决方案,包括处理国内网络环境下无法下载依赖包、修改源地址、解决rosdep错误以及编译Ceres Solver时的组件缺失问题。

现在Cartographer官方安装流程比较简单,本人也是参考官方的流程进行安装

https://google-cartographer-ros.readthedocs.io/en/latest/compilation.html#building-installation 

坑1:

在执行下列命令时出现了如下的问题

wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall

方法a: 这个命令主要是将cartographer_ros.rosinstall下载下来并放到carto_ws/src目录下,由于某些原因,国内可能无法访问,所以最好的办法就是自己创建一个.roinstall文件啦,参考下面的内容

命令:gedit src/.rosinstall, gedit src/cartographter_ros/cartographter_ros.rosinstall
填入下面的内容:
- git: {local-name: cartographer, uri: 'https://github.com/googlecartographer/cartographer.git', version: '1.0.0'}
- git: {local-name: cartographer_ros, uri: 'https://github.com/googlecartographer/cartographer_ros.git', version: '1.0.0'}
- git: {local-name: ceres-solver, uri: 'https://ceres-solver.googlesource.com/ceres-solver.git', version: '1.13.0'}

方法b: 将

输入网址:ipaddress 查询 raw.githubusercontent.com 的IP地址,并修改hosts文件

sudo gedit /etc/hosts
添加下面的内容

199.232.68.133  raw.githubusercontent.com

坑2:

无法下载ceres-solver, 

修改.roinstall里面ceres-solver的源地址为https://github.com/ceres-solver/ceres-solver.git (不要使用该方法!!!见下面的内容)

- git: {local-name: cartographer, uri: 'https://github.com/googlecartographer/cartographer.git', version: '1.0.0'}
- git: {local-name: cartographer_ros, uri: 'https://github.com/googlecartographer/cartographer_ros.git', version: '1.0.0'}
- git: {local-name: ceres-solver, uri: 'https://github.com/ceres-solver/ceres-solver.git', version: '1.13.0'}

坑3:

在执行命令rosdep install --from-paths src --ignore-src -r -y 下载依赖包时遇到了如下的问题:

ERROR: Rosdep experienced an error: rosdep data for [version] must be a dictionary
Please go to the rosdep page [1] and file a bug report with the stack trace below.

处理方法:编辑lookup.py文件屏蔽该语句

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/lookup.py

 

坑4:在编译(catkin_make_isolated --install --use-ninja)的过程中,出现如下的问题 

CMake Error at /home/ros/carto_ws/install_isolated/lib/cmake/Ceres/CeresConfig.cmake:88 (message):
  Failed to find Ceres - Missing requested Ceres components: [SuiteSparse]
  (components requested: [SuiteSparse]).  Detected Ceres version: 1.13.0
  installed in: /home/ros/carto_ws/install_isolated with components: [LAPACK,
  SchurSpecializations, OpenMP].
Call Stack (most recent call first):
  /home/ros/carto_ws/install_isolated/lib/cmake/Ceres/CeresConfig.cmake:392 (ceres_report_not_found)
  CMakeLists.txt:32 (find_package)

 

解决方法:当时我尝试手动编译Ceres没问题,但是使用catkin_make的时候就会失败,而且在catkin_make编译Ceres时没有使用SuiteSparse,当时尝试改过CMAKE文件,依然不行,最后我怀疑是由于ceres源的原因,因为我将官方指定的Ceres源由https://ceres-solver.googlesource.com/ceres-solver.git改为https://github.com/ceres-solver/ceres-solver.git ,所以只能借助代理下载ceres-solver安装包,并手动解压放置在src目录下。目录结构如下:

文件地址我已经上传到了优快云:https://download.youkuaiyun.com/download/tracylining/12496279 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值