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,重新开始。

  • 三维点云见图Demo

    # bash环境
    source install_isolated/setup.bash
    
    # Download the 2D backpack example bag.
    wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
    
    # Launch the 2D backpack demo.
    roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag
    
    # Download the 3D backpack example bag.
    wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/with_intensities/b3-2016-04-05-14-14-00.bag
    
    # Launch the 3D backpack demo.
    roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag
    
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 安装Cartographer需要以下步骤: 1. 首先,在Ubuntu 18.04上安装依赖项。打开终端并执行以下命令: ``` sudo apt-get update sudo apt-get install -y cmake g++ git google-mock libboost-all-dev libcairo2-dev libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.3-dev libprotobuf-dev libsuitesparse-dev lsb-release ninja-build python-sphinx protobuf-compiler python3-dev python3-sphinx ros-melodic-tf2-sensor-msgs libceres-dev ``` 2. 安装Google的protobuf: ``` wget https://github.com/google/protobuf/releases/download/v3.8.0/protobuf-all-3.8.0.tar.gz tar -xf protobuf-all-3.8.0.tar.gz cd protobuf-3.8.0/ ./configure make sudo make install ``` 3. 克隆Cartographer存储库: ``` git clone https://github.com/googlecartographer/cartographer.git ``` 4. 创建并进入构建目录: ``` cd cartographer mkdir build cd build ``` 5. 运行CMake编译配置: ``` cmake .. make -j ``` 6. 安装Cartographer: ``` sudo make install ``` 完成安装后,您可以在终端中测试Cartographer: ``` cartographer_rosbag_validate -h ``` 这将显示Cartographer的命令行帮助。 ### 回答2: 在Ubuntu 18.04上安装Cartographer可以按照以下步骤进行操作: 1. 打开终端,使用命令sudo apt-get update来更新软件包。 2. 安装依赖项:sudo apt-get install -y google-mock libboost-all-dev libeigen3-dev libceres-dev liblua5.3-dev ninja-build protobuf-compiler python-sphinx libatlas-base-dev 3. 安装CMake:sudo apt-get install -y cmake 4. 进入要安装Cartographer的目录,例如/home/username/Documents。 5. 使用以下命令克隆Cartographer源代码: git clone https://github.com/cartographer-project/cartographer.git cd cartographer git checkout master git fetch --all git reset --hard origin/master git submodule init git submodule update 6. 创建一个用于构建的目录并进入该目录: mkdir build && cd build 7. 运行以下命令配置构建: cmake .. 8. 运行以下命令编译并安装Cartographer: make -j sudo make install 9. 安装完成后,可以使用以下命令验证Cartographer是否正确安装cartographer_assets_writer cartographer_grpc_assets_writer cartographer_info cartographer_pbstream_to_rosbag cartographer_ros cartographer_rosbag cartographer_rosver cartographer_turtlebot_3_localization 通过以上步骤,您应该可以成功在Ubuntu 18.04上安装Cartographer。可能需要一些时间来完成编译和安装过程,请耐心等待。如果遇到任何问题,可以参考Cartographer的官方文档或寻求相关技术支持。 ### 回答3: 在Ubuntu 18.04上安装Cartographer是一个相对繁琐的过程,以下是详细步骤: 1. 首先,你需要确认你的系统已经安装好了一些基本的开发工具。可以在终端中运行以下命令来安装这些工具: ``` sudo apt-get update sudo apt-get install -y build-essential cmake git ``` 2. 接下来,需要安装一些依赖项。运行以下命令进行安装: ``` sudo apt-get install -y google-mock libboost-all-dev libcairo2-dev libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libsuitesparse-dev libwebp-dev ninja-build protobuf-compiler python-sphinx ``` 3. 安装和配置Java开发环境。Cartographer使用Java来构建文档,所以需要安装Java JDK: ``` sudo apt-get install -y openjdk-8-jdk ``` 然后设置Java环境变量: ``` export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH ``` 4. 现在,你可以从GitHub上克隆Cartographer的源代码库: ``` git clone https://github.com/googlecartographer/cartographer.git ``` 然后进入克隆下来的目录: ``` cd cartographer ``` 并且检出最新的稳定版本: ``` git fetch --all git tag git checkout tags/<tag_name> ``` 5. 创建一个构建目录,并切换到该目录: ``` mkdir build cd build ``` 6. 使用CMake来配置Cartographer的构建: ``` cmake .. ``` 7. 使用ninja构建Cartographer: ``` ninja ``` 8. 最后,运行测试来确保安装成功: ``` ninja test ``` 至此,你已经成功安装Cartographer。记得将Cartographer添加到你的系统路径中,以便在任何目录下都可以使用它: ``` export CARTOGRAPHER_PATH=<path_to_cartographer> export PATH=$CARTOGRAPHER_PATH:$PATH ``` 希望以上步骤对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值