Ubuntu18.04ROS melodic安装cartographer,cartographer_ros,ceres-solver

Ubuntu18.04安装ROS melodic下面安装Cartographer,cartographer_ros,ceres-solver遇到的问题与解决方案
2020年12月12日 亲测有效!!!

#Ubuntu18.04ROS melodic安装cartographer,cartographer_ros,ceres-solver

注意:这里是18.04 ROS melodic的下载cartographer方法
不是16.04的kinetic 大概应该是一样的安装与编译的方法 只是在编译出prof不一样的方法

先创建工作环境

1、安装工具
$ sudo apt-get update
$ sudo apt-get install -y python-wstool python-rosdep ninja-build stow在这里插入图片描述
2、初始化工作空间(创建工作空间)
$ mkdir -p ~/carto_ws
$ cd carto_ws
$ wstool init src在这里插入图片描述
3、加入cartographer、cartographer_ros、ceres-solver的功能包并更新依赖
$ wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
$ wstool update -t src
在这里插入图片描述!!!注意:
如果你要添加ceres-solver;如果你输入了$ wstool update -t src也没事,克隆完cartographer,cartographer_ros,在重新在添加ceres-solver,直接跳到到博主后面去安装ceres-solver,进行编译进行.
方法一:
$ cd carto_ws/src
获取源码:$ wget ceres-solver.org/ceres-solver-1.13.0.tar.gz
2、解压:$ tar xvf ceres-solver-1.13.0.tar.gz
3、切换到源目录:$ cd ceres-solver-1.13.0
4、编译:$ mkdir build
$ cd build
$ cmake …
$ make
5、安装:
$sudo make install
$ cd ~/carto_ws
$ sudo rosdep init
$ rosdep update
$ rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
使用需要使用此脚本手动安装的abseil-cpp库,在carto_ws路径下输入:

src/cartographer/scripts/install_abseil.sh

$ catkin_make_isolated --install --use-ninja
$ echo source install_isolated/setup.bash

以下是博主遇到的问题与解决方法.
1.下面是添加ceres-solver的编译的包进来
注意:添加的版本一定是Ceres-solver-1.13.0,不然会出现博主后面的报错的情况.博主下面使用的Ceres-solver-1.14.0报错讲解情况,后面是博主添加报错的步骤与解决情况
$

sudo gedit /home/ros/carto_ws/src/.rosinstall

在这里插入图片描述
2.可以手动添加下载(克隆)ceres-solver网址:
在这里插入图片描述

- git:
    local-name: ceres-solver
    uri: https://github.com/ceres-solver/ceres-solver.git
    version: master

或者复制下面全面替换你的/home/ros/carto_ws/src/.rosinstall文件

# THIS IS AN AUTOGENERATED FILE, LAST GENERATED USING wstool ON 2020-12-12
    - git:
    local-name: cartographer
    uri: https://github.com/cartographer-project/cartographer.git
    version: master
    - git:
    local-name: cartographer_ros
    uri: https://github.com/cartographer-project/cartographer_ros.git
    version: master
    - git:
    local-name: ceres-solver
    uri: https://github.com/ceres-solver/ceres-solver.git
    version: master
    

$ wstool update -t src
(这里需要小漫长的等待的过程,说明你距离安装成功又进了一步)
安装完成之后出现运行在这里插入图片描述在这里插入图片描述
4安装依赖并下载cartographer相关的功能包
需要安装cartographer_ros依赖项。首先,我们使用安装所需的包。如果自安装 ROS 以来已执行该命令,则命令"sudo rosdep init"将打印错误。(可以忽略此错误)
$ sudo rosdep init
$ rosdep update
但是我这个人要求完美,遇到问题就喜欢干他。
在安装18.04 ROS meldioc系统的时候,很多人都掉进这个坑,博主也不例外,有的人说,用了手机开热点,就能解决问题。还有的人说,开热点移动解决不了,换了电信就解决了,其实,说白了就是网络信号的问题;博主连接学校的校园WiFi搞定的,多输入几次 $rosdep update最终还是解决问题,如果你们没搞定,可以忽略。不影响后面操作。

ERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down

$ sudo gedit /etc/hosts
在文件尾部添加:

151.101.84.133 raw.githubusercontent.com

在这里插入图片描述保存退出就行,如果还出现,多次输入$ sudo rosdep init就能解决这个问题
如果出现下面的报错,产生了相同的文件20-default.list,二者发生冲突,用下面这条命令删除一个进行了
$ sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

ERROR: default sources list file already exists:
	/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值