【萌新向】cartographer_ros最新安裝指南 2019-12

首先說明,這篇文章於2019年12月寫下,cartographer如今還在不斷更新,也許這篇文檔內容會失效,可是大致是同樣的安裝流程。html

1、硬件條件

使用平臺python

  • x86_64平臺

ROS發行版git

  • Indigo
  • Kinetic
  • Lunar
  • Melodic

2、編譯安裝

1. 先安裝一些必要的安裝工具:python-wstool、python-rosdep和ninja;github

sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build

2. 建立一個cartographer_ros的工做空間,命名爲"catkin_ws",並初始化。api

mkdir catkin_ws
cd catkin_ws
wstool init src
# 這裏先增長一個.rosinstall文件,修改內容以下一段
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src
  • 這裏得提一下, 個別地區沒方法訪問googlesource.com,即谷歌的源代碼倉庫,上面第四句執行以後,修改 .rosinstall 文件到src目錄:
- 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'}
  • !注:也能夠直接複製上面的git源碼地址uri,下載對應版本的源碼到對應的工做空間src裏面,就不須要wstool部分命令了。
  • 順便也提供了藍奏雲連接https://www.lanzous.com/b0akgy6uh 密碼:cmvf

3. 安裝cartographer_ros的依賴項(proto3和deb軟件包)。若是自安裝ROS以來已經執行過初始化rosdep的命令,則命令'sudo rosdep init'將顯示錯誤,該錯誤能夠忽略。bash

# 腳本內容是配置了一些環境變量,而後用git下載proto3(確定比較慢,能夠手動下載),若是手動下載了proto3,裏面須要改內容,內容在下一段。
src/cartographer/scripts/install_proto3.sh

# 這句初始化rosdep,通常正常安裝ros都執行過,能夠不用管。
sudo rosdep init 

# 下面這兩句,是經常使用來一鍵安裝該工做空間下全部依賴包的,務必熟練使用
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
  • !注意若是手動下載了3.4.1版本的proto3,建議仍是用install_proto3.sh安裝,不過須要修改內容爲:
# 只是註釋掉了git下載和切換的內容。
set -o errexit
set -o verbose

# VERSION="v3.4.1"

# Build and install proto3.
# git clone https://github.com/google/protobuf.git
cd protobuf
# git checkout tags/${VERSION}
mkdir build
cd build
cmake -G Ninja \
  -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  -DCMAKE_BUILD_TYPE=Release \
  -Dprotobuf_BUILD_TESTS=OFF \
  ../cmake
ninja
sudo ninja install

4. 構建並安裝。服務器

# 用ninja工具進行catkin的編譯
catkin_make_isolated --install --use-ninja

注意:工具

  • 到這裏,執行完上面的步驟,沒報錯的話就安裝成功了。
  • 有些萌新由於git的配置問題報錯下載失敗,就按照報錯提示百度一下解決;不想折騰git的話,也能夠直接打開.rosinstall的那三個源碼連接,下載對應版本的源碼(version標註的內容)
    ***
  • git下載速度慢,基本上也是由於DNS污染的緣由,這裏修改一下hosts文件:
sudo gedit /etc/hosts

增長如下內容(給dns指定了github的服務器地址):測試

# 建議在http://ip.tool.chinaz.com/github.com查詢如下三個網址對應的ip,這裏是2019-12月的數據,可能會改變
github.com  13.250.177.223
assets-cdn.github.com 185.199.108.153
github.global.ssl.fastly.net 75.126.215.88

重啓networking
sudo /etc/init.d/networking restartui

3、跑數據集安裝測試

1. 測試數據集

  • 如今已經安裝了Cartographer和Cartographer的ROS集成,能夠下載封裝成bag包形式的數據集。這裏提供了德國博物館的數據集。這個數據集是人類揹着激光雷達錄製的,效果也是不錯。
  • 首先,下載數據集,而後運行demo,會自動打開rviz。
# 這句命令把數據集下載到了Downloads文件夾,若是沒有wget工具,能夠本身安裝
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag

# 記得先配置工做空間到環境變量
echo  "source ~/catkin_ws/install_isolated/setup.bash" >> ~/.bashrc

# 這句用roslaunch啓動了放在對應目錄的數據集
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag

隨便找了張圖:
image

2. 其餘bag數據集


參考文獻:

  1. 官方手冊 https://google-cartographer-ros.readthedocs.io/en/latest/compilation.html
相關文章
相關標籤/搜索