首先說明,這篇文章於2019年12月寫下,cartographer如今還在不斷更新,也許這篇文檔內容會失效,可是大致是同樣的安裝流程。html
使用平臺python
ROS發行版git
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
- 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. 安裝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
# 只是註釋掉了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
注意:工具
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 restart
ui
1. 測試數據集
# 這句命令把數據集下載到了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
隨便找了張圖:
2. 其餘bag數據集
參考文獻: