zoukankan      html  css  js  c++  java
  • Cartographer系列之一——初体验

    个人能力有限,若有错误请批评指正!
    转载请标明出处:http://www.cnblogs.com/wenhust/

    Cartographer简介

    Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations. This project provides Cartographer's ROS integration.
    Cartographer是google开源的通用2D和3D定位与地图同步构建的SLAM工具,并提供ROS接口。
    官网地址:https://github.com/googlecartographer

    安装说明

    1. 官网提供了基于Ubuntu14.04(Trusty)和ROS(indigo)的安装和测试说明,有博客写道在Ubuntu16.04(Xenial)和ROS(Kinetic)上安装和测试成功,该博客也有Cartographer的介绍和安装流程:
      http://blog.csdn.net/zhangrelay/article/details/52757573
    2. 以下安装流程主要参考hitcm(张明明)的博客及Cartographer的官方安装教程:

    安装流程

      1. 安装Ubuntu14.04(Trusty),将安装镜像文件制作U盘镜像,进入BIOS或WIN10下进入设置->更新和安全->恢复->高级启动,使用U盘启动,完成Ubuntu14.04(Trusty)的安装。
      2. 安装ROS(indigo),参考文件http://wiki.ros.org/indigo/Installation/Ubuntu(英文原版)、http://wiki.ros.org/cn/indigo/Installation/Ubuntu(中文翻译);
        注意: 如果每次打开一个新的终端时ROS环境变量都能够自动配置好(即添加到bash会话中),那将会方便得多:
        echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
        source ~/.bashrc
        如果你安装有多个ROS版本, ~/.bashrc 必须只能 source你当前使用版本所对应的 setup.bash
        如果你只想改变当前终端下的环境变量,你可以执行命令:
        source /opt/ros/indigo/setup.bash
      3. 安装所有依赖项
        # Install the required libraries that are available as debs.
        sudo apt-get update
        sudo apt-get install -y \
        cmake \
        g++ \
        git \
        google-mock \
        libboost-all-dev \
        libeigen3-dev \
        libgflags-dev \
        libgoogle-glog-dev \
        liblua5.2-dev \
        libprotobuf-dev \
        libsuitesparse-dev \
        libwebp-dev \
        ninja-build \
        protobuf-compiler \
        python-sphinx \
        ros-indigo-tf2-eigen \
        libatlas-base-dev \
        libsuitesparse-dev \
        liblapack-dev
      4. 安装ceres solver,下载安装在主目录下,由于googlesource.com需要FQ,这里使用hitcm(张明明)的github地址
        # Build and install Ceres.
        # git clone https://ceres-solver.googlesource.com/ceres-solver
        # cd ceres-solver
        git clone https://github.com/hitcm/ceres-solver-1.11.0.git
        cd ceres-solver-1.11.0
        mkdir build
        cd build
        cmake .. -G Ninja
        ninja
        ninja test
        sudo ninja install
      5. 安装cartographer,下载安装在主目录下,这里同样使用的是hitcm(张明明)的github地址
        # Build and install Cartographer.
        git clone https://github.com/hitcm/cartographer.git
        cd cartographer
        mkdir build
        cd build
        cmake .. -G Ninja
        ninja
        ninja test
        sudo ninja install
      6. 安装cartographer_ros,这里使用的是hitcm(张明明)的github地址,由于google官方的教程需要FQ下载一些文件,因此容易失败,经验证hitcm(张明明)对原文件进行了少许修改后可以成功安装,在他的修改中核心代码不变,只修改了编译文件。
        We recommend using wstool and rosdep. For faster builds, we also recommend using Ninja.
        # Install wstool and rosdep.
        sudo apt-get update
        sudo apt-get install -y python-wstool python-rosdep ninja-build
        # Create a new workspace in 'catkin_ws'.
        mkdir catkin_ws
        cd catkin_ws
        wstool init src
        # 下载到catkin_ws下面的src文件夹下面
        cd src
        git clone https://github.com/hitcm/cartographer_ros.git
        # 然后到catkin_ws下面运行catkin_make安装
        cd
        cd catkin_ws
        catkin_make
        source ./devel/setup.bash
        注意: 如果每次打开一个新的终端时ROS环境变量都能够自动配置好(即添加到bash会话中),那将会方便得多:
        echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
        source ~/.bashrc
        如果你只想改变当前终端下的环境变量,你可以执行命令:
        source ~/catkin_ws/devel/setup.bash
      7. 运行DEMO
        Now that Cartographer and Cartographer’s ROS integration are installed, download the example bags (e.g. 2D and 3D backpack collections of the Deutsches Museum) to a known location, in this case ~/Downloads, and use roslaunch to bring up the demo:
        # 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/cartographer_3d_deutsches_museum.bag
        # Launch the 3D backpack demo.
        roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/cartographer_3d_deutsches_museum.bag
        # Download the Revo LDS example bag.
        wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/revo_lds/cartographer_paper_revo_lds.bag
        # Launch the Revo LDS demo.
        roslaunch cartographer_ros demo_revo_lds.launch bag_filename:=${HOME}/Downloads/cartographer_paper_revo_lds.bag
        # Download the PR2 example bag.
        wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/pr2/2011-09-15-08-32-46.bag
        # Launch the PR2 demo.
        roslaunch cartographer_ros demo_pr2.launch bag_filename:=${HOME}/Downloads/2011-09-15-08-32-46.bag
        The launch files will bring up roscore and rviz automatically.
  • 相关阅读:
    C# partial 作用
    C#中internal关键字是什么意思?什么叫做“只能在包含它的程序集中访问该方法”
    [转]利用.NET中的反射机制实现IList到DataTable的转换
    你可能已经知道或者不知道的ASP.NET 2.0技巧
    SQL Server基本函数详细介绍--字符串函数
    在Web.config配置文件中自定义配置节点
    SQL SERVER事务处理
    专用于SqlServer2005的高效分页存储过程(支持多字段任意排序,不要求排序字段唯一)
    SQL SERVER 高效存储过程分页(Max/Min方法)
    该字符串未被识别为有效的 DateTime
  • 原文地址:https://www.cnblogs.com/wenhust/p/5961017.html
Copyright © 2011-2022 走看看