借鑒網址但有所修改:https://blog.csdn.net/u012700322/article/details/52766287
根據很多網址第一句都是$ sudo apt-get update,結果總是出錯。后來同事推薦這個網址,嘗試可以。
0.安裝所有依賴項
sudo apt-get install -y 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-kinetic-tf2-eigen libatlas-base-dev libsuitesparse-dev liblapack-dev
1.首先安裝ceres solver,選擇的版本是1.11,路徑隨意。
git clone https://github.com/hitcm/ceres-solver-1.11.0.git
cd ceres-solver-1.11.0/build
cmake ..
make –j
sudo make install
PS:根據原博主的方法,ceres solver可能安裝不上。具體安裝方法可以參考google的官方指導
http://ceres-solver.org/building.html
2.然后安裝 cartographer,路徑隨意。
①. git clone https://github.com/hitcm/cartographer.git
②. cd cartographer/build
③. cmake .. -G Ninja
④. ninja
⑤. ninja test
⑥. sudo ninja install
3.安裝cartographer_ros,谷歌官方提供的安裝方法比較繁瑣,我對原來的文件進行了少許的修改,核心代碼不變,只是修改了編譯文件
下載到catkin_ws下面的src文件夾下面
git clone https://github.com/hitcm/cartographer_ros.git
然后到catkin_ws下面運行catkin_make即可
4.數據下載測試
2d數據,大概500M,用迅雷下載
https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
然后運行launch文件即可。
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag
紅色字體為修改的。
------------------------------------------------------------------------------------結束
走過的坑:1、<lua.hpp>報錯:終端進入usr文件夾下 利用 /usr$ find . -name lua.hpp可以找到自己的lua文件的位置,假設在lua5.2下
/usr$ find . -name lua.hpp
./include/lua5.2/lua.hpp
需要<lua.hpp>可以修改<lua5.2/lua.hpp>可以解決問題
這個可以解決,但后續還會有很多問題。用上述流程並沒有出現這個問題。
2、之前安裝過所有總會報錯重定義一些函數,利用sudo apt-get remove ros-kinetic-ca(tab鍵)找到一些ros需要刪除的,程序就可以編輯過去
我刪除了這兩個sudo apt-get remove ros-kinetic-cartographer-ros-msgs
sudo apt-get remove ros-kinetic-cartographer
3、cmake 版本改成release版本
命令行 catkin_make -DCMAKE_BUILD_TYPE=Release
或者在catkin_ws的src目錄下sudo gedit CMakeLists.txt
添加set(CMAKE_BUILD_TYPE "Release")
再catkin_make就不會報錯